From 82b88df622dbfdde1517cc819c51ca2973281fe7 Mon Sep 17 00:00:00 2001 From: dims Date: Fri, 1 Jun 2001 11:15:37 +0000 Subject: [PATCH] Checking in Sources/Docs of DOM Level 2 from : http://www.w3.org/DOM/DOMTM git-svn-id: https://svn.apache.org/repos/asf/xml/commons/trunk@225913 13f79535-47bb-0310-9956-ffa450edef68 --- java/external/src/org/w3c/dom/Attr.java | 111 + .../src/org/w3c/dom/CDATASection.java | 48 + .../src/org/w3c/dom/CharacterData.java | 144 + java/external/src/org/w3c/dom/Comment.java | 24 + .../src/org/w3c/dom/DOMException.java | 116 + .../src/org/w3c/dom/DOMImplementation.java | 100 + java/external/src/org/w3c/dom/Document.java | 365 + .../src/org/w3c/dom/DocumentFragment.java | 52 + .../src/org/w3c/dom/DocumentType.java | 79 + java/external/src/org/w3c/dom/Element.java | 302 + java/external/src/org/w3c/dom/Entity.java | 68 + .../src/org/w3c/dom/EntityReference.java | 39 + .../src/org/w3c/dom/NamedNodeMap.java | 156 + java/external/src/org/w3c/dom/Node.java | 390 + java/external/src/org/w3c/dom/NodeList.java | 41 + java/external/src/org/w3c/dom/Notation.java | 40 + .../org/w3c/dom/ProcessingInstruction.java | 40 + java/external/src/org/w3c/dom/Text.java | 56 + .../src/org/w3c/dom/css/CSS2Properties.java | 1411 +++ .../src/org/w3c/dom/css/CSSCharsetRule.java | 48 + .../src/org/w3c/dom/css/CSSFontFaceRule.java | 28 + .../src/org/w3c/dom/css/CSSImportRule.java | 44 + .../src/org/w3c/dom/css/CSSMediaRule.java | 76 + .../src/org/w3c/dom/css/CSSPageRule.java | 41 + .../org/w3c/dom/css/CSSPrimitiveValue.java | 296 + .../external/src/org/w3c/dom/css/CSSRule.java | 93 + .../src/org/w3c/dom/css/CSSRuleList.java | 43 + .../org/w3c/dom/css/CSSStyleDeclaration.java | 152 + .../src/org/w3c/dom/css/CSSStyleRule.java | 42 + .../src/org/w3c/dom/css/CSSStyleSheet.java | 85 + .../src/org/w3c/dom/css/CSSUnknownRule.java | 22 + .../src/org/w3c/dom/css/CSSValue.java | 68 + .../src/org/w3c/dom/css/CSSValueList.java | 46 + .../external/src/org/w3c/dom/css/Counter.java | 38 + .../org/w3c/dom/css/DOMImplementationCSS.java | 40 + .../src/org/w3c/dom/css/DocumentCSS.java | 50 + .../w3c/dom/css/ElementCSSInlineStyle.java | 32 + .../src/org/w3c/dom/css/RGBColor.java | 47 + java/external/src/org/w3c/dom/css/Rect.java | 44 + .../external/src/org/w3c/dom/css/ViewCSS.java | 43 + .../src/org/w3c/dom/events/DocumentEvent.java | 56 + .../src/org/w3c/dom/events/Event.java | 141 + .../org/w3c/dom/events/EventException.java | 36 + .../src/org/w3c/dom/events/EventListener.java | 41 + .../src/org/w3c/dom/events/EventTarget.java | 102 + .../src/org/w3c/dom/events/MouseEvent.java | 152 + .../src/org/w3c/dom/events/MutationEvent.java | 108 + .../src/org/w3c/dom/events/UIEvent.java | 58 + .../src/org/w3c/dom/ranges/DocumentRange.java | 33 + .../src/org/w3c/dom/ranges/Range.java | 399 + .../org/w3c/dom/ranges/RangeException.java | 39 + .../w3c/dom/stylesheets/DocumentStyle.java | 34 + .../org/w3c/dom/stylesheets/LinkStyle.java | 31 + .../org/w3c/dom/stylesheets/MediaList.java | 81 + .../org/w3c/dom/stylesheets/StyleSheet.java | 95 + .../w3c/dom/stylesheets/StyleSheetList.java | 42 + .../w3c/dom/traversal/DocumentTraversal.java | 90 + .../src/org/w3c/dom/traversal/NodeFilter.java | 142 + .../org/w3c/dom/traversal/NodeIterator.java | 108 + .../src/org/w3c/dom/traversal/TreeWalker.java | 167 + .../src/org/w3c/dom/views/AbstractView.java | 27 + .../src/org/w3c/dom/views/DocumentView.java | 30 + java/external/xdocs/dom/core/COPYRIGHT.html | 100 + java/external/xdocs/dom/core/Overview.html | 223 + java/external/xdocs/dom/core/W3C-REC.css | 94 + .../xdocs/dom/core/acknowledgements.html | 101 + java/external/xdocs/dom/core/changes.html | 193 + .../xdocs/dom/core/copyright-notice.html | 229 + java/external/xdocs/dom/core/core.html | 6816 ++++++++++++++ java/external/xdocs/dom/core/def-index.html | 973 ++ .../xdocs/dom/core/ecma-script-binding.html | 1015 +++ .../external/xdocs/dom/core/expanded-toc.html | 220 + java/external/xdocs/dom/core/glossary.html | 356 + java/external/xdocs/dom/core/i18n.html | 303 + .../xdocs/dom/core/idl-definitions.html | 367 + java/external/xdocs/dom/core/idl/dom.idl | 320 + java/external/xdocs/dom/core/images/REC.gif | Bin 0 -> 903 bytes java/external/xdocs/dom/core/images/table.gif | Bin 0 -> 3442 bytes .../xdocs/dom/core/images/w3c_home.gif | Bin 0 -> 988 bytes .../external/xdocs/dom/core/introduction.html | 512 ++ .../external/xdocs/dom/core/java-binding.html | 555 ++ java/external/xdocs/dom/core/references.html | 260 + java/external/xdocs/dom/core/spec.css | 75 + java/external/xdocs/dom/events/COPYRIGHT.html | 100 + java/external/xdocs/dom/events/Overview.html | 195 + java/external/xdocs/dom/events/W3C-REC.css | 94 + .../xdocs/dom/events/acknowledgements.html | 101 + .../xdocs/dom/events/copyright-notice.html | 229 + java/external/xdocs/dom/events/def-index.html | 363 + .../xdocs/dom/events/ecma-script-binding.html | 472 + java/external/xdocs/dom/events/events.html | 2715 ++++++ .../xdocs/dom/events/expanded-toc.html | 192 + java/external/xdocs/dom/events/glossary.html | 111 + .../xdocs/dom/events/idl-definitions.html | 198 + java/external/xdocs/dom/events/idl/events.idl | 150 + java/external/xdocs/dom/events/images/REC.gif | Bin 0 -> 903 bytes .../xdocs/dom/events/images/w3c_home.gif | Bin 0 -> 988 bytes .../xdocs/dom/events/java-binding.html | 278 + .../external/xdocs/dom/events/references.html | 105 + java/external/xdocs/dom/events/spec.css | 75 + java/external/xdocs/dom/style/COPYRIGHT.html | 100 + java/external/xdocs/dom/style/Overview.html | 202 + java/external/xdocs/dom/style/W3C-REC.css | 94 + .../xdocs/dom/style/acknowledgements.html | 101 + .../xdocs/dom/style/copyright-notice.html | 229 + java/external/xdocs/dom/style/css.html | 8120 +++++++++++++++++ java/external/xdocs/dom/style/def-index.html | 967 ++ .../xdocs/dom/style/ecma-script-binding.html | 1735 ++++ .../xdocs/dom/style/expanded-toc.html | 193 + .../xdocs/dom/style/idl-definitions.html | 764 ++ java/external/xdocs/dom/style/idl/css.idl | 633 ++ .../xdocs/dom/style/idl/stylesheets.idl | 71 + java/external/xdocs/dom/style/images/REC.gif | Bin 0 -> 903 bytes .../xdocs/dom/style/images/w3c_home.gif | Bin 0 -> 988 bytes .../xdocs/dom/style/java-binding.html | 1146 +++ java/external/xdocs/dom/style/references.html | 139 + java/external/xdocs/dom/style/spec.css | 75 + .../external/xdocs/dom/style/stylesheets.html | 814 ++ .../xdocs/dom/traversal-range/COPYRIGHT.html | 100 + .../xdocs/dom/traversal-range/Overview.html | 215 + .../xdocs/dom/traversal-range/W3C-REC.css | 94 + .../dom/traversal-range/acknowledgements.html | 101 + .../dom/traversal-range/copyright-notice.html | 229 + .../xdocs/dom/traversal-range/def-index.html | 599 ++ .../traversal-range/ecma-script-binding.html | 584 ++ .../dom/traversal-range/expanded-toc.html | 246 + .../xdocs/dom/traversal-range/glossary.html | 130 + .../dom/traversal-range/idl-definitions.html | 284 + .../xdocs/dom/traversal-range/idl/ranges.idl | 122 + .../dom/traversal-range/idl/traversal.idl | 102 + .../xdocs/dom/traversal-range/images/REC.gif | Bin 0 -> 903 bytes .../traversal-range/images/RangeExample.gif | Bin 0 -> 5791 bytes .../dom/traversal-range/images/w3c_home.gif | Bin 0 -> 988 bytes .../dom/traversal-range/java-binding.html | 338 + .../xdocs/dom/traversal-range/ranges.html | 2794 ++++++ .../xdocs/dom/traversal-range/references.html | 104 + .../xdocs/dom/traversal-range/spec.css | 75 + .../xdocs/dom/traversal-range/traversal.html | 2412 +++++ java/external/xdocs/dom/views/COPYRIGHT.html | 100 + java/external/xdocs/dom/views/Overview.html | 194 + java/external/xdocs/dom/views/W3C-REC.css | 94 + .../xdocs/dom/views/acknowledgements.html | 101 + .../xdocs/dom/views/copyright-notice.html | 229 + java/external/xdocs/dom/views/def-index.html | 94 + .../xdocs/dom/views/ecma-script-binding.html | 96 + .../xdocs/dom/views/expanded-toc.html | 113 + .../xdocs/dom/views/idl-definitions.html | 85 + java/external/xdocs/dom/views/idl/views.idl | 38 + java/external/xdocs/dom/views/images/REC.gif | Bin 0 -> 903 bytes .../xdocs/dom/views/images/w3c_home.gif | Bin 0 -> 988 bytes .../xdocs/dom/views/java-binding.html | 81 + java/external/xdocs/dom/views/references.html | 89 + java/external/xdocs/dom/views/spec.css | 75 + java/external/xdocs/dom/views/views.html | 245 + java/external/xdocs/dom/xml/contributors.xml | 46 + java/external/xdocs/dom/xml/copyright.xml | 216 + java/external/xdocs/dom/xml/core/changes.xml | 130 + java/external/xdocs/dom/xml/core/core.xml | 383 + .../dom/xml/core/definitions/attribute.xml | 113 + .../xml/core/definitions/cdata-section.xml | 39 + .../dom/xml/core/definitions/comment.xml | 11 + .../xdocs/dom/xml/core/definitions/data.xml | 195 + .../dom/xml/core/definitions/doctype.xml | 65 + .../dom/xml/core/definitions/document.xml | 607 ++ .../xdocs/dom/xml/core/definitions/dom.xml | 128 + .../dom/xml/core/definitions/element.xml | 462 + .../xml/core/definitions/entity-reference.xml | 26 + .../xdocs/dom/xml/core/definitions/entity.xml | 57 + .../dom/xml/core/definitions/exceptions.xml | 90 + .../xml/core/definitions/named-node-map.xml | 212 + .../dom/xml/core/definitions/node-list.xml | 35 + .../xdocs/dom/xml/core/definitions/node.xml | 548 ++ .../dom/xml/core/definitions/notation.xml | 30 + .../xdocs/dom/xml/core/definitions/pi.xml | 27 + .../xdocs/dom/xml/core/definitions/text.xml | 48 + java/external/xdocs/dom/xml/core/dom-spec.xml | 181 + .../xdocs/dom/xml/core/i18nfunctions.xml | 149 + .../xdocs/dom/xml/core/introduction.xml | 431 + .../xml/events/definitions/documentevent.xml | 52 + .../dom/xml/events/definitions/event.xml | 169 + .../xml/events/definitions/eventcapturer.xml | 70 + .../xml/events/definitions/eventexception.xml | 34 + .../xml/events/definitions/eventlistener.xml | 50 + .../xml/events/definitions/eventtarget.xml | 129 + .../dom/xml/events/definitions/mouseevent.xml | 197 + .../xml/events/definitions/mutationevent.xml | 129 + .../dom/xml/events/definitions/uievent.xml | 65 + .../xdocs/dom/xml/events/dom-spec.xml | 165 + java/external/xdocs/dom/xml/events/events.xml | 825 ++ java/external/xdocs/dom/xml/glossary.xml | 471 + java/external/xdocs/dom/xml/index.xml | 16 + java/external/xdocs/dom/xml/link-entities.xml | 29 + java/external/xdocs/dom/xml/part-entities.xml | 286 + java/external/xdocs/dom/xml/references.xml | 237 + java/external/xdocs/dom/xml/style/css.xml | 172 + .../xml/style/definitions/CSS2Properties.xml | 2271 +++++ .../xml/style/definitions/CSSCharsetRule.xml | 48 + .../xml/style/definitions/CSSFontFaceRule.xml | 22 + .../xml/style/definitions/CSSImportRule.xml | 47 + .../xml/style/definitions/CSSMediaRule.xml | 116 + .../dom/xml/style/definitions/CSSPageRule.xml | 42 + .../style/definitions/CSSPrimitiveValue.xml | 454 + .../dom/xml/style/definitions/CSSRule.xml | 96 + .../dom/xml/style/definitions/CSSRuleList.xml | 52 + .../style/definitions/CSSStyleDeclaration.xml | 293 + .../xml/style/definitions/CSSStyleRule.xml | 45 + .../xml/style/definitions/CSSStyleSheet.xml | 124 + .../xml/style/definitions/CSSUnknownRule.xml | 13 + .../dom/xml/style/definitions/CSSValue.xml | 75 + .../xml/style/definitions/CSSValueList.xml | 53 + .../dom/xml/style/definitions/Counter.xml | 37 + .../definitions/DOMImplementationCSS.xml | 51 + .../dom/xml/style/definitions/DocumentCSS.xml | 64 + .../xml/style/definitions/DocumentStyle.xml | 31 + .../definitions/ElementCSSInlineStyle.xml | 28 + .../dom/xml/style/definitions/LinkStyle.xml | 22 + .../dom/xml/style/definitions/MediaList.xml | 143 + .../dom/xml/style/definitions/RGBColor.xml | 53 + .../xdocs/dom/xml/style/definitions/Rect.xml | 51 + .../dom/xml/style/definitions/StyleSheet.xml | 115 + .../xml/style/definitions/StyleSheetList.xml | 51 + .../dom/xml/style/definitions/ViewCSS.xml | 63 + .../external/xdocs/dom/xml/style/dom-spec.xml | 195 + .../xdocs/dom/xml/style/stylesheets.xml | 150 + java/external/xdocs/dom/xml/toc.xml | 6 + .../dom/xml/traversal-range/dom-spec.xml | 211 + .../xdocs/dom/xml/traversal-range/range.xml | 1385 +++ .../dom/xml/traversal-range/traversal.xml | 1439 +++ java/external/xdocs/dom/xml/version.xml | 74 + .../external/xdocs/dom/xml/views/dom-spec.xml | 150 + java/external/xdocs/dom/xml/views/views.xml | 107 + 231 files changed, 66110 insertions(+) create mode 100644 java/external/src/org/w3c/dom/Attr.java create mode 100644 java/external/src/org/w3c/dom/CDATASection.java create mode 100644 java/external/src/org/w3c/dom/CharacterData.java create mode 100644 java/external/src/org/w3c/dom/Comment.java create mode 100644 java/external/src/org/w3c/dom/DOMException.java create mode 100644 java/external/src/org/w3c/dom/DOMImplementation.java create mode 100644 java/external/src/org/w3c/dom/Document.java create mode 100644 java/external/src/org/w3c/dom/DocumentFragment.java create mode 100644 java/external/src/org/w3c/dom/DocumentType.java create mode 100644 java/external/src/org/w3c/dom/Element.java create mode 100644 java/external/src/org/w3c/dom/Entity.java create mode 100644 java/external/src/org/w3c/dom/EntityReference.java create mode 100644 java/external/src/org/w3c/dom/NamedNodeMap.java create mode 100644 java/external/src/org/w3c/dom/Node.java create mode 100644 java/external/src/org/w3c/dom/NodeList.java create mode 100644 java/external/src/org/w3c/dom/Notation.java create mode 100644 java/external/src/org/w3c/dom/ProcessingInstruction.java create mode 100644 java/external/src/org/w3c/dom/Text.java create mode 100644 java/external/src/org/w3c/dom/css/CSS2Properties.java create mode 100644 java/external/src/org/w3c/dom/css/CSSCharsetRule.java create mode 100644 java/external/src/org/w3c/dom/css/CSSFontFaceRule.java create mode 100644 java/external/src/org/w3c/dom/css/CSSImportRule.java create mode 100644 java/external/src/org/w3c/dom/css/CSSMediaRule.java create mode 100644 java/external/src/org/w3c/dom/css/CSSPageRule.java create mode 100644 java/external/src/org/w3c/dom/css/CSSPrimitiveValue.java create mode 100644 java/external/src/org/w3c/dom/css/CSSRule.java create mode 100644 java/external/src/org/w3c/dom/css/CSSRuleList.java create mode 100644 java/external/src/org/w3c/dom/css/CSSStyleDeclaration.java create mode 100644 java/external/src/org/w3c/dom/css/CSSStyleRule.java create mode 100644 java/external/src/org/w3c/dom/css/CSSStyleSheet.java create mode 100644 java/external/src/org/w3c/dom/css/CSSUnknownRule.java create mode 100644 java/external/src/org/w3c/dom/css/CSSValue.java create mode 100644 java/external/src/org/w3c/dom/css/CSSValueList.java create mode 100644 java/external/src/org/w3c/dom/css/Counter.java create mode 100644 java/external/src/org/w3c/dom/css/DOMImplementationCSS.java create mode 100644 java/external/src/org/w3c/dom/css/DocumentCSS.java create mode 100644 java/external/src/org/w3c/dom/css/ElementCSSInlineStyle.java create mode 100644 java/external/src/org/w3c/dom/css/RGBColor.java create mode 100644 java/external/src/org/w3c/dom/css/Rect.java create mode 100644 java/external/src/org/w3c/dom/css/ViewCSS.java create mode 100644 java/external/src/org/w3c/dom/events/DocumentEvent.java create mode 100644 java/external/src/org/w3c/dom/events/Event.java create mode 100644 java/external/src/org/w3c/dom/events/EventException.java create mode 100644 java/external/src/org/w3c/dom/events/EventListener.java create mode 100644 java/external/src/org/w3c/dom/events/EventTarget.java create mode 100644 java/external/src/org/w3c/dom/events/MouseEvent.java create mode 100644 java/external/src/org/w3c/dom/events/MutationEvent.java create mode 100644 java/external/src/org/w3c/dom/events/UIEvent.java create mode 100644 java/external/src/org/w3c/dom/ranges/DocumentRange.java create mode 100644 java/external/src/org/w3c/dom/ranges/Range.java create mode 100644 java/external/src/org/w3c/dom/ranges/RangeException.java create mode 100644 java/external/src/org/w3c/dom/stylesheets/DocumentStyle.java create mode 100644 java/external/src/org/w3c/dom/stylesheets/LinkStyle.java create mode 100644 java/external/src/org/w3c/dom/stylesheets/MediaList.java create mode 100644 java/external/src/org/w3c/dom/stylesheets/StyleSheet.java create mode 100644 java/external/src/org/w3c/dom/stylesheets/StyleSheetList.java create mode 100644 java/external/src/org/w3c/dom/traversal/DocumentTraversal.java create mode 100644 java/external/src/org/w3c/dom/traversal/NodeFilter.java create mode 100644 java/external/src/org/w3c/dom/traversal/NodeIterator.java create mode 100644 java/external/src/org/w3c/dom/traversal/TreeWalker.java create mode 100644 java/external/src/org/w3c/dom/views/AbstractView.java create mode 100644 java/external/src/org/w3c/dom/views/DocumentView.java create mode 100644 java/external/xdocs/dom/core/COPYRIGHT.html create mode 100644 java/external/xdocs/dom/core/Overview.html create mode 100644 java/external/xdocs/dom/core/W3C-REC.css create mode 100644 java/external/xdocs/dom/core/acknowledgements.html create mode 100644 java/external/xdocs/dom/core/changes.html create mode 100644 java/external/xdocs/dom/core/copyright-notice.html create mode 100644 java/external/xdocs/dom/core/core.html create mode 100644 java/external/xdocs/dom/core/def-index.html create mode 100644 java/external/xdocs/dom/core/ecma-script-binding.html create mode 100644 java/external/xdocs/dom/core/expanded-toc.html create mode 100644 java/external/xdocs/dom/core/glossary.html create mode 100644 java/external/xdocs/dom/core/i18n.html create mode 100644 java/external/xdocs/dom/core/idl-definitions.html create mode 100644 java/external/xdocs/dom/core/idl/dom.idl create mode 100644 java/external/xdocs/dom/core/images/REC.gif create mode 100644 java/external/xdocs/dom/core/images/table.gif create mode 100644 java/external/xdocs/dom/core/images/w3c_home.gif create mode 100644 java/external/xdocs/dom/core/introduction.html create mode 100644 java/external/xdocs/dom/core/java-binding.html create mode 100644 java/external/xdocs/dom/core/references.html create mode 100644 java/external/xdocs/dom/core/spec.css create mode 100644 java/external/xdocs/dom/events/COPYRIGHT.html create mode 100644 java/external/xdocs/dom/events/Overview.html create mode 100644 java/external/xdocs/dom/events/W3C-REC.css create mode 100644 java/external/xdocs/dom/events/acknowledgements.html create mode 100644 java/external/xdocs/dom/events/copyright-notice.html create mode 100644 java/external/xdocs/dom/events/def-index.html create mode 100644 java/external/xdocs/dom/events/ecma-script-binding.html create mode 100644 java/external/xdocs/dom/events/events.html create mode 100644 java/external/xdocs/dom/events/expanded-toc.html create mode 100644 java/external/xdocs/dom/events/glossary.html create mode 100644 java/external/xdocs/dom/events/idl-definitions.html create mode 100644 java/external/xdocs/dom/events/idl/events.idl create mode 100644 java/external/xdocs/dom/events/images/REC.gif create mode 100644 java/external/xdocs/dom/events/images/w3c_home.gif create mode 100644 java/external/xdocs/dom/events/java-binding.html create mode 100644 java/external/xdocs/dom/events/references.html create mode 100644 java/external/xdocs/dom/events/spec.css create mode 100644 java/external/xdocs/dom/style/COPYRIGHT.html create mode 100644 java/external/xdocs/dom/style/Overview.html create mode 100644 java/external/xdocs/dom/style/W3C-REC.css create mode 100644 java/external/xdocs/dom/style/acknowledgements.html create mode 100644 java/external/xdocs/dom/style/copyright-notice.html create mode 100644 java/external/xdocs/dom/style/css.html create mode 100644 java/external/xdocs/dom/style/def-index.html create mode 100644 java/external/xdocs/dom/style/ecma-script-binding.html create mode 100644 java/external/xdocs/dom/style/expanded-toc.html create mode 100644 java/external/xdocs/dom/style/idl-definitions.html create mode 100644 java/external/xdocs/dom/style/idl/css.idl create mode 100644 java/external/xdocs/dom/style/idl/stylesheets.idl create mode 100644 java/external/xdocs/dom/style/images/REC.gif create mode 100644 java/external/xdocs/dom/style/images/w3c_home.gif create mode 100644 java/external/xdocs/dom/style/java-binding.html create mode 100644 java/external/xdocs/dom/style/references.html create mode 100644 java/external/xdocs/dom/style/spec.css create mode 100644 java/external/xdocs/dom/style/stylesheets.html create mode 100644 java/external/xdocs/dom/traversal-range/COPYRIGHT.html create mode 100644 java/external/xdocs/dom/traversal-range/Overview.html create mode 100644 java/external/xdocs/dom/traversal-range/W3C-REC.css create mode 100644 java/external/xdocs/dom/traversal-range/acknowledgements.html create mode 100644 java/external/xdocs/dom/traversal-range/copyright-notice.html create mode 100644 java/external/xdocs/dom/traversal-range/def-index.html create mode 100644 java/external/xdocs/dom/traversal-range/ecma-script-binding.html create mode 100644 java/external/xdocs/dom/traversal-range/expanded-toc.html create mode 100644 java/external/xdocs/dom/traversal-range/glossary.html create mode 100644 java/external/xdocs/dom/traversal-range/idl-definitions.html create mode 100644 java/external/xdocs/dom/traversal-range/idl/ranges.idl create mode 100644 java/external/xdocs/dom/traversal-range/idl/traversal.idl create mode 100644 java/external/xdocs/dom/traversal-range/images/REC.gif create mode 100644 java/external/xdocs/dom/traversal-range/images/RangeExample.gif create mode 100644 java/external/xdocs/dom/traversal-range/images/w3c_home.gif create mode 100644 java/external/xdocs/dom/traversal-range/java-binding.html create mode 100644 java/external/xdocs/dom/traversal-range/ranges.html create mode 100644 java/external/xdocs/dom/traversal-range/references.html create mode 100644 java/external/xdocs/dom/traversal-range/spec.css create mode 100644 java/external/xdocs/dom/traversal-range/traversal.html create mode 100644 java/external/xdocs/dom/views/COPYRIGHT.html create mode 100644 java/external/xdocs/dom/views/Overview.html create mode 100644 java/external/xdocs/dom/views/W3C-REC.css create mode 100644 java/external/xdocs/dom/views/acknowledgements.html create mode 100644 java/external/xdocs/dom/views/copyright-notice.html create mode 100644 java/external/xdocs/dom/views/def-index.html create mode 100644 java/external/xdocs/dom/views/ecma-script-binding.html create mode 100644 java/external/xdocs/dom/views/expanded-toc.html create mode 100644 java/external/xdocs/dom/views/idl-definitions.html create mode 100644 java/external/xdocs/dom/views/idl/views.idl create mode 100644 java/external/xdocs/dom/views/images/REC.gif create mode 100644 java/external/xdocs/dom/views/images/w3c_home.gif create mode 100644 java/external/xdocs/dom/views/java-binding.html create mode 100644 java/external/xdocs/dom/views/references.html create mode 100644 java/external/xdocs/dom/views/spec.css create mode 100644 java/external/xdocs/dom/views/views.html create mode 100644 java/external/xdocs/dom/xml/contributors.xml create mode 100644 java/external/xdocs/dom/xml/copyright.xml create mode 100644 java/external/xdocs/dom/xml/core/changes.xml create mode 100644 java/external/xdocs/dom/xml/core/core.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/attribute.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/cdata-section.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/comment.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/data.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/doctype.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/document.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/dom.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/element.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/entity-reference.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/entity.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/exceptions.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/named-node-map.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/node-list.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/node.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/notation.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/pi.xml create mode 100644 java/external/xdocs/dom/xml/core/definitions/text.xml create mode 100644 java/external/xdocs/dom/xml/core/dom-spec.xml create mode 100644 java/external/xdocs/dom/xml/core/i18nfunctions.xml create mode 100644 java/external/xdocs/dom/xml/core/introduction.xml create mode 100644 java/external/xdocs/dom/xml/events/definitions/documentevent.xml create mode 100644 java/external/xdocs/dom/xml/events/definitions/event.xml create mode 100644 java/external/xdocs/dom/xml/events/definitions/eventcapturer.xml create mode 100644 java/external/xdocs/dom/xml/events/definitions/eventexception.xml create mode 100644 java/external/xdocs/dom/xml/events/definitions/eventlistener.xml create mode 100644 java/external/xdocs/dom/xml/events/definitions/eventtarget.xml create mode 100644 java/external/xdocs/dom/xml/events/definitions/mouseevent.xml create mode 100644 java/external/xdocs/dom/xml/events/definitions/mutationevent.xml create mode 100644 java/external/xdocs/dom/xml/events/definitions/uievent.xml create mode 100644 java/external/xdocs/dom/xml/events/dom-spec.xml create mode 100644 java/external/xdocs/dom/xml/events/events.xml create mode 100644 java/external/xdocs/dom/xml/glossary.xml create mode 100644 java/external/xdocs/dom/xml/index.xml create mode 100644 java/external/xdocs/dom/xml/link-entities.xml create mode 100644 java/external/xdocs/dom/xml/part-entities.xml create mode 100644 java/external/xdocs/dom/xml/references.xml create mode 100644 java/external/xdocs/dom/xml/style/css.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSS2Properties.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSSCharsetRule.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSSFontFaceRule.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSSImportRule.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSSMediaRule.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSSPageRule.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSSPrimitiveValue.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSSRule.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSSRuleList.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSSStyleDeclaration.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSSStyleRule.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSSStyleSheet.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSSUnknownRule.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSSValue.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/CSSValueList.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/Counter.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/DOMImplementationCSS.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/DocumentCSS.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/DocumentStyle.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/ElementCSSInlineStyle.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/LinkStyle.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/MediaList.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/RGBColor.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/Rect.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/StyleSheet.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/StyleSheetList.xml create mode 100644 java/external/xdocs/dom/xml/style/definitions/ViewCSS.xml create mode 100644 java/external/xdocs/dom/xml/style/dom-spec.xml create mode 100644 java/external/xdocs/dom/xml/style/stylesheets.xml create mode 100644 java/external/xdocs/dom/xml/toc.xml create mode 100644 java/external/xdocs/dom/xml/traversal-range/dom-spec.xml create mode 100644 java/external/xdocs/dom/xml/traversal-range/range.xml create mode 100644 java/external/xdocs/dom/xml/traversal-range/traversal.xml create mode 100644 java/external/xdocs/dom/xml/version.xml create mode 100644 java/external/xdocs/dom/xml/views/dom-spec.xml create mode 100644 java/external/xdocs/dom/xml/views/views.xml diff --git a/java/external/src/org/w3c/dom/Attr.java b/java/external/src/org/w3c/dom/Attr.java new file mode 100644 index 0000000..05b0c12 --- /dev/null +++ b/java/external/src/org/w3c/dom/Attr.java @@ -0,0 +1,111 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * The Attr interface represents an attribute in an + * Element object. Typically the allowable values for the + * attribute are defined in a document type definition. + *

Attr objects inherit the Node interface, but + * since they are not actually child nodes of the element they describe, the + * DOM does not consider them part of the document tree. Thus, the + * Node attributes parentNode, + * previousSibling, and nextSibling have a + * null value for Attr objects. The DOM takes the + * view that attributes are properties of elements rather than having a + * separate identity from the elements they are associated with; this should + * make it more efficient to implement such features as default attributes + * associated with all elements of a given type. Furthermore, + * Attr nodes may not be immediate children of a + * DocumentFragment. However, they can be associated with + * Element nodes contained within a + * DocumentFragment. In short, users and implementors of the + * DOM need to be aware that Attr nodes have some things in + * common with other objects inheriting the Node interface, but + * they also are quite distinct. + *

The attribute's effective value is determined as follows: if this + * attribute has been explicitly assigned any value, that value is the + * attribute's effective value; otherwise, if there is a declaration for + * this attribute, and that declaration includes a default value, then that + * default value is the attribute's effective value; otherwise, the + * attribute does not exist on this element in the structure model until it + * has been explicitly added. Note that the nodeValue attribute + * on the Attr instance can also be used to retrieve the string + * version of the attribute's value(s). + *

In XML, where the value of an attribute can contain entity references, + * the child nodes of the Attr node may be either + * Text or EntityReference nodes (when these are + * in use; see the description of EntityReference for + * discussion). Because the DOM Core is not aware of attribute types, it + * treats all attribute values as simple strings, even if the DTD or schema + * declares them as having tokenized types. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface Attr extends Node { + /** + * Returns the name of this attribute. + */ + public String getName(); + + /** + * If this attribute was explicitly given a value in the original + * document, this is true; otherwise, it is + * false. Note that the implementation is in charge of this + * attribute, not the user. If the user changes the value of the + * attribute (even if it ends up having the same value as the default + * value) then the specified flag is automatically flipped + * to true. To re-specify the attribute as the default + * value from the DTD, the user must delete the attribute. The + * implementation will then make a new attribute available with + * specified set to false and the default + * value (if one exists). + *
In summary: If the attribute has an assigned value in the document + * then specified is true, and the value is + * the assigned value. If the attribute has no assigned value in the + * document and has a default value in the DTD, then + * specified is false, and the value is the + * default value in the DTD. If the attribute has no assigned value in + * the document and has a value of #IMPLIED in the DTD, then the + * attribute does not appear in the structure model of the document. If + * the ownerElement attribute is null (i.e. + * because it was just created or was set to null by the + * various removal and cloning operations) specified is + * true. + */ + public boolean getSpecified(); + + /** + * On retrieval, the value of the attribute is returned as a string. + * Character and general entity references are replaced with their + * values. See also the method getAttribute on the + * Element interface. + *
On setting, this creates a Text node with the unparsed + * contents of the string. I.e. any characters that an XML processor + * would recognize as markup are instead treated as literal text. See + * also the method setAttribute on the Element + * interface. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. + */ + public String getValue(); + public void setValue(String value) + throws DOMException; + + /** + * The Element node this attribute is attached to or + * null if this attribute is not in use. + * @since DOM Level 2 + */ + public Element getOwnerElement(); + +} diff --git a/java/external/src/org/w3c/dom/CDATASection.java b/java/external/src/org/w3c/dom/CDATASection.java new file mode 100644 index 0000000..9e74734 --- /dev/null +++ b/java/external/src/org/w3c/dom/CDATASection.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * CDATA sections are used to escape blocks of text containing characters that + * would otherwise be regarded as markup. The only delimiter that is + * recognized in a CDATA section is the "]]>" string that ends the CDATA + * section. CDATA sections cannot be nested. Their primary purpose is for + * including material such as XML fragments, without needing to escape all + * the delimiters. + *

The DOMString attribute of the Text node holds + * the text that is contained by the CDATA section. Note that this may + * contain characters that need to be escaped outside of CDATA sections and + * that, depending on the character encoding ("charset") chosen for + * serialization, it may be impossible to write out some characters as part + * of a CDATA section. + *

The CDATASection interface inherits from the + * CharacterData interface through the Text + * interface. Adjacent CDATASection nodes are not merged by use + * of the normalize method of the Node interface. + * Because no markup is recognized within a CDATASection, + * character numeric references cannot be used as an escape mechanism when + * serializing. Therefore, action needs to be taken when serializing a + * CDATASection with a character encoding where some of the + * contained characters cannot be represented. Failure to do so would not + * produce well-formed XML.One potential solution in the serialization + * process is to end the CDATA section before the character, output the + * character using a character reference or entity reference, and open a new + * CDATA section for any further characters in the text node. Note, however, + * that some code conversion libraries at the time of writing do not return + * an error or exception when a character is missing from the encoding, + * making the task of ensuring that data is not corrupted on serialization + * more difficult. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface CDATASection extends Text { +} diff --git a/java/external/src/org/w3c/dom/CharacterData.java b/java/external/src/org/w3c/dom/CharacterData.java new file mode 100644 index 0000000..9a25f7d --- /dev/null +++ b/java/external/src/org/w3c/dom/CharacterData.java @@ -0,0 +1,144 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * The CharacterData interface extends Node with a set of + * attributes and methods for accessing character data in the DOM. For + * clarity this set is defined here rather than on each object that uses + * these attributes and methods. No DOM objects correspond directly to + * CharacterData, though Text and others do + * inherit the interface from it. All offsets in this interface + * start from 0. + *

As explained in the DOMString interface, text strings in + * the DOM are represented in UTF-16, i.e. as a sequence of 16-bit units. In + * the following, the term 16-bit units is used whenever necessary to + * indicate that indexing on CharacterData is done in 16-bit units. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface CharacterData extends Node { + /** + * The character data of the node that implements this interface. The DOM + * implementation may not put arbitrary limits on the amount of data + * that may be stored in a CharacterData node. However, + * implementation limits may mean that the entirety of a node's data may + * not fit into a single DOMString. In such cases, the user + * may call substringData to retrieve the data in + * appropriately sized pieces. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. + * @exception DOMException + * DOMSTRING_SIZE_ERR: Raised when it would return more characters than + * fit in a DOMString variable on the implementation + * platform. + */ + public String getData() + throws DOMException; + public void setData(String data) + throws DOMException; + + /** + * The number of 16-bit units that are available through data + * and the substringData method below. This may have the + * value zero, i.e., CharacterData nodes may be empty. + */ + public int getLength(); + + /** + * Extracts a range of data from the node. + * @param offsetStart offset of substring to extract. + * @param countThe number of 16-bit units to extract. + * @return The specified substring. If the sum of offset and + * count exceeds the length, then all 16-bit + * units to the end of the data are returned. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified offset is + * negative or greater than the number of 16-bit units in + * data, or if the specified count is + * negative. + *
DOMSTRING_SIZE_ERR: Raised if the specified range of text does + * not fit into a DOMString. + */ + public String substringData(int offset, + int count) + throws DOMException; + + /** + * Append the string to the end of the character data of the node. Upon + * success, data provides access to the concatenation of + * data and the DOMString specified. + * @param argThe DOMString to append. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public void appendData(String arg) + throws DOMException; + + /** + * Insert a string at the specified 16-bit unit offset. + * @param offsetThe character offset at which to insert. + * @param argThe DOMString to insert. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified offset is + * negative or greater than the number of 16-bit units in + * data. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public void insertData(int offset, + String arg) + throws DOMException; + + /** + * Remove a range of 16-bit units from the node. Upon success, + * data and length reflect the change. + * @param offsetThe offset from which to start removing. + * @param countThe number of 16-bit units to delete. If the sum of + * offset and count exceeds + * length then all 16-bit units from offset + * to the end of the data are deleted. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified offset is + * negative or greater than the number of 16-bit units in + * data, or if the specified count is + * negative. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public void deleteData(int offset, + int count) + throws DOMException; + + /** + * Replace the characters starting at the specified 16-bit unit offset + * with the specified string. + * @param offsetThe offset from which to start replacing. + * @param countThe number of 16-bit units to replace. If the sum of + * offset and count exceeds + * length, then all 16-bit units to the end of the data + * are replaced; (i.e., the effect is the same as a remove + * method call with the same range, followed by an append + * method invocation). + * @param argThe DOMString with which the range must be + * replaced. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified offset is + * negative or greater than the number of 16-bit units in + * data, or if the specified count is + * negative. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public void replaceData(int offset, + int count, + String arg) + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/Comment.java b/java/external/src/org/w3c/dom/Comment.java new file mode 100644 index 0000000..1097921 --- /dev/null +++ b/java/external/src/org/w3c/dom/Comment.java @@ -0,0 +1,24 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * This interface inherits from CharacterData and represents the + * content of a comment, i.e., all the characters between the starting ' + * <!--' and ending '-->'. Note that this is + * the definition of a comment in XML, and, in practice, HTML, although some + * HTML tools may implement the full SGML comment structure. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface Comment extends CharacterData { +} diff --git a/java/external/src/org/w3c/dom/DOMException.java b/java/external/src/org/w3c/dom/DOMException.java new file mode 100644 index 0000000..098c6c5 --- /dev/null +++ b/java/external/src/org/w3c/dom/DOMException.java @@ -0,0 +1,116 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * DOM operations only raise exceptions in "exceptional" circumstances, i.e., + * when an operation is impossible to perform (either for logical reasons, + * because data is lost, or because the implementation has become unstable). + * In general, DOM methods return specific error values in ordinary + * processing situations, such as out-of-bound errors when using + * NodeList. + *

Implementations should raise other exceptions under other circumstances. + * For example, implementations should raise an implementation-dependent + * exception if a null argument is passed. + *

Some languages and object systems do not support the concept of + * exceptions. For such systems, error conditions may be indicated using + * native error reporting mechanisms. For some bindings, for example, + * methods may return error codes similar to those listed in the + * corresponding method descriptions. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public class DOMException extends RuntimeException { + public DOMException(short code, String message) { + super(message); + this.code = code; + } + public short code; + // ExceptionCode + /** + * If index or size is negative, or greater than the allowed value + */ + public static final short INDEX_SIZE_ERR = 1; + /** + * If the specified range of text does not fit into a DOMString + */ + public static final short DOMSTRING_SIZE_ERR = 2; + /** + * If any node is inserted somewhere it doesn't belong + */ + public static final short HIERARCHY_REQUEST_ERR = 3; + /** + * If a node is used in a different document than the one that created it + * (that doesn't support it) + */ + public static final short WRONG_DOCUMENT_ERR = 4; + /** + * If an invalid or illegal character is specified, such as in a name. See + * production 2 in the XML specification for the definition of a legal + * character, and production 5 for the definition of a legal name + * character. + */ + public static final short INVALID_CHARACTER_ERR = 5; + /** + * If data is specified for a node which does not support data + */ + public static final short NO_DATA_ALLOWED_ERR = 6; + /** + * If an attempt is made to modify an object where modifications are not + * allowed + */ + public static final short NO_MODIFICATION_ALLOWED_ERR = 7; + /** + * If an attempt is made to reference a node in a context where it does + * not exist + */ + public static final short NOT_FOUND_ERR = 8; + /** + * If the implementation does not support the requested type of object or + * operation. + */ + public static final short NOT_SUPPORTED_ERR = 9; + /** + * If an attempt is made to add an attribute that is already in use + * elsewhere + */ + public static final short INUSE_ATTRIBUTE_ERR = 10; + /** + * If an attempt is made to use an object that is not, or is no longer, + * usable. + * @since DOM Level 2 + */ + public static final short INVALID_STATE_ERR = 11; + /** + * If an invalid or illegal string is specified. + * @since DOM Level 2 + */ + public static final short SYNTAX_ERR = 12; + /** + * If an attempt is made to modify the type of the underlying object. + * @since DOM Level 2 + */ + public static final short INVALID_MODIFICATION_ERR = 13; + /** + * If an attempt is made to create or change an object in a way which is + * incorrect with regard to namespaces. + * @since DOM Level 2 + */ + public static final short NAMESPACE_ERR = 14; + /** + * If a parameter or an operation is not supported by the underlying + * object. + * @since DOM Level 2 + */ + public static final short INVALID_ACCESS_ERR = 15; + +} diff --git a/java/external/src/org/w3c/dom/DOMImplementation.java b/java/external/src/org/w3c/dom/DOMImplementation.java new file mode 100644 index 0000000..998af94 --- /dev/null +++ b/java/external/src/org/w3c/dom/DOMImplementation.java @@ -0,0 +1,100 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * The DOMImplementation interface provides a number of methods + * for performing operations that are independent of any particular instance + * of the document object model. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface DOMImplementation { + /** + * Test if the DOM implementation implements a specific feature. + * @param featureThe name of the feature to test (case-insensitive). The + * values used by DOM features are defined throughout the DOM Level 2 + * specifications and listed in the section. The name must be an XML + * name. To avoid possible conflicts, as a convention, names referring + * to features defined outside the DOM specification should be made + * unique by reversing the name of the Internet domain name of the + * person (or the organization that the person belongs to) who defines + * the feature, component by component, and using this as a prefix. + * For instance, the W3C SVG Working Group defines the feature + * "org.w3c.dom.svg". + * @param versionThis is the version number of the feature to test. In + * Level 2, the string can be either "2.0" or "1.0". If the version is + * not specified, supporting any version of the feature causes the + * method to return true. + * @return true if the feature is implemented in the + * specified version, false otherwise. + */ + public boolean hasFeature(String feature, + String version); + + /** + * Creates an empty DocumentType node. Entity declarations + * and notations are not made available. Entity reference expansions and + * default attribute additions do not occur. It is expected that a + * future version of the DOM will provide a way for populating a + * DocumentType. + *
HTML-only DOM implementations do not need to implement this method. + * @param qualifiedNameThe qualified name of the document type to be + * created. + * @param publicIdThe external subset public identifier. + * @param systemIdThe external subset system identifier. + * @return A new DocumentType node with + * Node.ownerDocument set to null. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified qualified name + * contains an illegal character. + *
NAMESPACE_ERR: Raised if the qualifiedName is + * malformed. + * @since DOM Level 2 + */ + public DocumentType createDocumentType(String qualifiedName, + String publicId, + String systemId) + throws DOMException; + + /** + * Creates an XML Document object of the specified type with + * its document element. HTML-only DOM implementations do not need to + * implement this method. + * @param namespaceURIThe namespace URI of the document element to create. + * @param qualifiedNameThe qualified name of the document element to be + * created. + * @param doctypeThe type of document to be created or null. + * When doctype is not null, its + * Node.ownerDocument attribute is set to the document + * being created. + * @return A new Document object. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified qualified name + * contains an illegal character. + *
NAMESPACE_ERR: Raised if the qualifiedName is + * malformed, if the qualifiedName has a prefix and the + * namespaceURI is null, or if the + * qualifiedName has a prefix that is "xml" and the + * namespaceURI is different from " + * http://www.w3.org/XML/1998/namespace" . + *
WRONG_DOCUMENT_ERR: Raised if doctype has already + * been used with a different document or was created from a different + * implementation. + * @since DOM Level 2 + */ + public Document createDocument(String namespaceURI, + String qualifiedName, + DocumentType doctype) + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/Document.java b/java/external/src/org/w3c/dom/Document.java new file mode 100644 index 0000000..5eb2cee --- /dev/null +++ b/java/external/src/org/w3c/dom/Document.java @@ -0,0 +1,365 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * The Document interface represents the entire HTML or XML + * document. Conceptually, it is the root of the document tree, and provides + * the primary access to the document's data. + *

Since elements, text nodes, comments, processing instructions, etc. + * cannot exist outside the context of a Document, the + * Document interface also contains the factory methods needed + * to create these objects. The Node objects created have a + * ownerDocument attribute which associates them with the + * Document within whose context they were created. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface Document extends Node { + /** + * The Document Type Declaration (see DocumentType) + * associated with this document. For HTML documents as well as XML + * documents without a document type declaration this returns + * null. The DOM Level 2 does not support editing the + * Document Type Declaration. docType cannot be altered in + * any way, including through the use of methods inherited from the + * Node interface, such as insertNode or + * removeNode. + */ + public DocumentType getDoctype(); + + /** + * The DOMImplementation object that handles this document. A + * DOM application may use objects from multiple implementations. + */ + public DOMImplementation getImplementation(); + + /** + * This is a convenience attribute that allows direct access to the child + * node that is the root element of the document. For HTML documents, + * this is the element with the tagName "HTML". + */ + public Element getDocumentElement(); + + /** + * Creates an element of the type specified. Note that the instance + * returned implements the Element interface, so attributes + * can be specified directly on the returned object. + *
In addition, if there are known attributes with default values, + * Attr nodes representing them are automatically created + * and attached to the element. + *
To create an element with a qualified name and namespace URI, use + * the createElementNS method. + * @param tagNameThe name of the element type to instantiate. For XML, + * this is case-sensitive. For HTML, the tagName + * parameter may be provided in any case, but it must be mapped to the + * canonical uppercase form by the DOM implementation. + * @return A new Element object with the + * nodeName attribute set to tagName, and + * localName, prefix, and + * namespaceURI set to null. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified name contains an + * illegal character. + */ + public Element createElement(String tagName) + throws DOMException; + + /** + * Creates an empty DocumentFragment object. + * @return A new DocumentFragment. + */ + public DocumentFragment createDocumentFragment(); + + /** + * Creates a Text node given the specified string. + * @param dataThe data for the node. + * @return The new Text object. + */ + public Text createTextNode(String data); + + /** + * Creates a Comment node given the specified string. + * @param dataThe data for the node. + * @return The new Comment object. + */ + public Comment createComment(String data); + + /** + * Creates a CDATASection node whose value is the specified + * string. + * @param dataThe data for the CDATASection contents. + * @return The new CDATASection object. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if this document is an HTML document. + */ + public CDATASection createCDATASection(String data) + throws DOMException; + + /** + * Creates a ProcessingInstruction node given the specified + * name and data strings. + * @param targetThe target part of the processing instruction. + * @param dataThe data for the node. + * @return The new ProcessingInstruction object. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified target contains an + * illegal character. + *
NOT_SUPPORTED_ERR: Raised if this document is an HTML document. + */ + public ProcessingInstruction createProcessingInstruction(String target, + String data) + throws DOMException; + + /** + * Creates an Attr of the given name. Note that the + * Attr instance can then be set on an Element + * using the setAttributeNode method. + *
To create an attribute with a qualified name and namespace URI, use + * the createAttributeNS method. + * @param nameThe name of the attribute. + * @return A new Attr object with the nodeName + * attribute set to name, and localName, + * prefix, and namespaceURI set to + * null. The value of the attribute is the empty string. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified name contains an + * illegal character. + */ + public Attr createAttribute(String name) + throws DOMException; + + /** + * Creates an EntityReference object. In addition, if the + * referenced entity is known, the child list of the + * EntityReference node is made the same as that of the + * corresponding Entity node.If any descendant of the + * Entity node has an unbound namespace prefix, the + * corresponding descendant of the created EntityReference + * node is also unbound; (its namespaceURI is + * null). The DOM Level 2 does not support any mechanism to + * resolve namespace prefixes. + * @param nameThe name of the entity to reference. + * @return The new EntityReference object. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified name contains an + * illegal character. + *
NOT_SUPPORTED_ERR: Raised if this document is an HTML document. + */ + public EntityReference createEntityReference(String name) + throws DOMException; + + /** + * Returns a NodeList of all the Elements with a + * given tag name in the order in which they are encountered in a + * preorder traversal of the Document tree. + * @param tagnameThe name of the tag to match on. The special value "*" + * matches all tags. + * @return A new NodeList object containing all the matched + * Elements. + */ + public NodeList getElementsByTagName(String tagname); + + /** + * Imports a node from another document to this document. The returned + * node has no parent; (parentNode is null). + * The source node is not altered or removed from the original document; + * this method creates a new copy of the source node. + *
For all nodes, importing a node creates a node object owned by the + * importing document, with attribute values identical to the source + * node's nodeName and nodeType, plus the + * attributes related to namespaces (prefix, + * localName, and namespaceURI). As in the + * cloneNode operation on a Node, the source + * node is not altered. + *
Additional information is copied as appropriate to the + * nodeType, attempting to mirror the behavior expected if + * a fragment of XML or HTML source was copied from one document to + * another, recognizing that the two documents may have different DTDs + * in the XML case. The following list describes the specifics for each + * type of node. + *

+ *
ATTRIBUTE_NODE
+ *
The ownerElement attribute + * is set to null and the specified flag is + * set to true on the generated Attr. The + * descendants of the source Attr are recursively imported + * and the resulting nodes reassembled to form the corresponding subtree. + * Note that the deep parameter has no effect on + * Attr nodes; they always carry their children with them + * when imported.
+ *
DOCUMENT_FRAGMENT_NODE
+ *
If the deep option + * was set to true, the descendants of the source element + * are recursively imported and the resulting nodes reassembled to form + * the corresponding subtree. Otherwise, this simply generates an empty + * DocumentFragment.
+ *
DOCUMENT_NODE
+ *
Document + * nodes cannot be imported.
+ *
DOCUMENT_TYPE_NODE
+ *
DocumentType + * nodes cannot be imported.
+ *
ELEMENT_NODE
+ *
Specified attribute nodes of the + * source element are imported, and the generated Attr + * nodes are attached to the generated Element. Default + * attributes are not copied, though if the document being imported into + * defines default attributes for this element name, those are assigned. + * If the importNode deep parameter was set to + * true, the descendants of the source element are + * recursively imported and the resulting nodes reassembled to form the + * corresponding subtree.
+ *
ENTITY_NODE
+ *
Entity nodes can be + * imported, however in the current release of the DOM the + * DocumentType is readonly. Ability to add these imported + * nodes to a DocumentType will be considered for addition + * to a future release of the DOM.On import, the publicId, + * systemId, and notationName attributes are + * copied. If a deep import is requested, the descendants + * of the the source Entity are recursively imported and + * the resulting nodes reassembled to form the corresponding subtree.
+ *
+ * ENTITY_REFERENCE_NODE
+ *
Only the EntityReference itself is + * copied, even if a deep import is requested, since the + * source and destination documents might have defined the entity + * differently. If the document being imported into provides a + * definition for this entity name, its value is assigned.
+ *
NOTATION_NODE
+ *
+ * Notation nodes can be imported, however in the current + * release of the DOM the DocumentType is readonly. Ability + * to add these imported nodes to a DocumentType will be + * considered for addition to a future release of the DOM.On import, the + * publicId and systemId attributes are copied. + * Note that the deep parameter has no effect on + * Notation nodes since they never have any children.
+ *
+ * PROCESSING_INSTRUCTION_NODE
+ *
The imported node copies its + * target and data values from those of the + * source node.
+ *
TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE
+ *
These three + * types of nodes inheriting from CharacterData copy their + * data and length attributes from those of + * the source node.
+ * + * @param importedNodeThe node to import. + * @param deepIf true, recursively import the subtree under + * the specified node; if false, import only the node + * itself, as explained above. This has no effect on Attr + * , EntityReference, and Notation nodes. + * @return The imported node that belongs to this Document. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if the type of node being imported is not + * supported. + * @since DOM Level 2 + */ + public Node importNode(Node importedNode, + boolean deep) + throws DOMException; + + /** + * Creates an element of the given qualified name and namespace URI. + * HTML-only DOM implementations do not need to implement this method. + * @param namespaceURIThe namespace URI of the element to create. + * @param qualifiedNameThe qualified name of the element type to + * instantiate. + * @return A new Element object with the following + * attributes:AttributeValueNode.nodeName + * qualifiedNameNode.namespaceURI + * namespaceURINode.prefixprefix, extracted + * from qualifiedName, or null if there is + * no prefixNode.localNamelocal name, extracted from + * qualifiedNameElement.tagName + * qualifiedName + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified qualified name + * contains an illegal character. + *
NAMESPACE_ERR: Raised if the qualifiedName is + * malformed, if the qualifiedName has a prefix and the + * namespaceURI is null, or if the + * qualifiedName has a prefix that is "xml" and the + * namespaceURI is different from " + * http://www.w3.org/XML/1998/namespace" . + * @since DOM Level 2 + */ + public Element createElementNS(String namespaceURI, + String qualifiedName) + throws DOMException; + + /** + * Creates an attribute of the given qualified name and namespace URI. + * HTML-only DOM implementations do not need to implement this method. + * @param namespaceURIThe namespace URI of the attribute to create. + * @param qualifiedNameThe qualified name of the attribute to instantiate. + * @return A new Attr object with the following attributes: + * AttributeValueNode.nodeNamequalifiedName + * Node.namespaceURInamespaceURI + * Node.prefixprefix, extracted from + * qualifiedName, or null if there is no + * prefixNode.localNamelocal name, extracted from + * qualifiedNameAttr.name + * qualifiedNameNode.nodeValuethe empty + * string + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified qualified name + * contains an illegal character. + *
NAMESPACE_ERR: Raised if the qualifiedName is + * malformed, if the qualifiedName has a prefix and the + * namespaceURI is null, if the + * qualifiedName has a prefix that is "xml" and the + * namespaceURI is different from " + * http://www.w3.org/XML/1998/namespace", or if the + * qualifiedName is "xmlns" and the + * namespaceURI is different from " + * http://www.w3.org/2000/xmlns/". + * @since DOM Level 2 + */ + public Attr createAttributeNS(String namespaceURI, + String qualifiedName) + throws DOMException; + + /** + * Returns a NodeList of all the Elements with a + * given local name and namespace URI in the order in which they are + * encountered in a preorder traversal of the Document tree. + * @param namespaceURIThe namespace URI of the elements to match on. The + * special value "*" matches all namespaces. + * @param localNameThe local name of the elements to match on. The + * special value "*" matches all local names. + * @return A new NodeList object containing all the matched + * Elements. + * @since DOM Level 2 + */ + public NodeList getElementsByTagNameNS(String namespaceURI, + String localName); + + /** + * Returns the Element whose ID is given by + * elementId. If no such element exists, returns + * null. Behavior is not defined if more than one element + * has this ID. The DOM implementation must have + * information that says which attributes are of type ID. Attributes + * with the name "ID" are not of type ID unless so defined. + * Implementations that do not know whether attributes are of type ID or + * not are expected to return null. + * @param elementIdThe unique id value for an element. + * @return The matching element. + * @since DOM Level 2 + */ + public Element getElementById(String elementId); + +} diff --git a/java/external/src/org/w3c/dom/DocumentFragment.java b/java/external/src/org/w3c/dom/DocumentFragment.java new file mode 100644 index 0000000..6ade30c --- /dev/null +++ b/java/external/src/org/w3c/dom/DocumentFragment.java @@ -0,0 +1,52 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * DocumentFragment is a "lightweight" or "minimal" + * Document object. It is very common to want to be able to + * extract a portion of a document's tree or to create a new fragment of a + * document. Imagine implementing a user command like cut or rearranging a + * document by moving fragments around. It is desirable to have an object + * which can hold such fragments and it is quite natural to use a Node for + * this purpose. While it is true that a Document object could + * fulfill this role, a Document object can potentially be a + * heavyweight object, depending on the underlying implementation. What is + * really needed for this is a very lightweight object. + * DocumentFragment is such an object. + *

Furthermore, various operations -- such as inserting nodes as children + * of another Node -- may take DocumentFragment + * objects as arguments; this results in all the child nodes of the + * DocumentFragment being moved to the child list of this node. + *

The children of a DocumentFragment node are zero or more + * nodes representing the tops of any sub-trees defining the structure of + * the document. DocumentFragment nodes do not need to be + * well-formed XML documents (although they do need to follow the rules + * imposed upon well-formed XML parsed entities, which can have multiple top + * nodes). For example, a DocumentFragment might have only one + * child and that child node could be a Text node. Such a + * structure model represents neither an HTML document nor a well-formed XML + * document. + *

When a DocumentFragment is inserted into a + * Document (or indeed any other Node that may + * take children) the children of the DocumentFragment and not + * the DocumentFragment itself are inserted into the + * Node. This makes the DocumentFragment very + * useful when the user wishes to create nodes that are siblings; the + * DocumentFragment acts as the parent of these nodes so that + * the user can use the standard methods from the Node + * interface, such as insertBefore and appendChild. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface DocumentFragment extends Node { +} diff --git a/java/external/src/org/w3c/dom/DocumentType.java b/java/external/src/org/w3c/dom/DocumentType.java new file mode 100644 index 0000000..4cdb723 --- /dev/null +++ b/java/external/src/org/w3c/dom/DocumentType.java @@ -0,0 +1,79 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * Each Document has a doctype attribute whose value + * is either null or a DocumentType object. The + * DocumentType interface in the DOM Core provides an interface + * to the list of entities that are defined for the document, and little + * else because the effect of namespaces and the various XML schema efforts + * on DTD representation are not clearly understood as of this writing. + *

The DOM Level 2 doesn't support editing DocumentType nodes. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface DocumentType extends Node { + /** + * The name of DTD; i.e., the name immediately following the + * DOCTYPE keyword. + */ + public String getName(); + + /** + * A NamedNodeMap containing the general entities, both + * external and internal, declared in the DTD. Parameter entities are + * not contained. Duplicates are discarded. For example in: + *

<!DOCTYPE 
+     * ex SYSTEM "ex.dtd" [ <!ENTITY foo "foo"> <!ENTITY bar 
+     * "bar"> <!ENTITY bar "bar2"> <!ENTITY % baz "baz"> 
+     * ]> <ex/>
+ * the interface provides access to foo + * and the first declaration of bar but not the second + * declaration of bar or baz. Every node in + * this map also implements the Entity interface. + *
The DOM Level 2 does not support editing entities, therefore + * entities cannot be altered in any way. + */ + public NamedNodeMap getEntities(); + + /** + * A NamedNodeMap containing the notations declared in the + * DTD. Duplicates are discarded. Every node in this map also implements + * the Notation interface. + *
The DOM Level 2 does not support editing notations, therefore + * notations cannot be altered in any way. + */ + public NamedNodeMap getNotations(); + + /** + * The public identifier of the external subset. + * @since DOM Level 2 + */ + public String getPublicId(); + + /** + * The system identifier of the external subset. + * @since DOM Level 2 + */ + public String getSystemId(); + + /** + * The internal subset as a string.The actual content returned depends on + * how much information is available to the implementation. This may + * vary depending on various parameters, including the XML processor + * used to build the document. + * @since DOM Level 2 + */ + public String getInternalSubset(); + +} diff --git a/java/external/src/org/w3c/dom/Element.java b/java/external/src/org/w3c/dom/Element.java new file mode 100644 index 0000000..d0df6ce --- /dev/null +++ b/java/external/src/org/w3c/dom/Element.java @@ -0,0 +1,302 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * The Element interface represents an element in an HTML or XML + * document. Elements may have attributes associated with them; since the + * Element interface inherits from Node, the + * generic Node interface attribute attributes may + * be used to retrieve the set of all attributes for an element. There are + * methods on the Element interface to retrieve either an + * Attr object by name or an attribute value by name. In XML, + * where an attribute value may contain entity references, an + * Attr object should be retrieved to examine the possibly + * fairly complex sub-tree representing the attribute value. On the other + * hand, in HTML, where all attributes have simple string values, methods to + * directly access an attribute value can safely be used as a convenience.In + * DOM Level 2, the method normalize is inherited from the + * Node interface where it was moved. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface Element extends Node { + /** + * The name of the element. For example, in: + *

 <elementExample 
+     * id="demo"> ... </elementExample> , 
+ * tagName has + * the value "elementExample". Note that this is + * case-preserving in XML, as are all of the operations of the DOM. The + * HTML DOM returns the tagName of an HTML element in the + * canonical uppercase form, regardless of the case in the source HTML + * document. + */ + public String getTagName(); + + /** + * Retrieves an attribute value by name. + * @param nameThe name of the attribute to retrieve. + * @return The Attr value as a string, or the empty string + * if that attribute does not have a specified or default value. + */ + public String getAttribute(String name); + + /** + * Adds a new attribute. If an attribute with that name is already present + * in the element, its value is changed to be that of the value + * parameter. This value is a simple string; it is not parsed as it is + * being set. So any markup (such as syntax to be recognized as an + * entity reference) is treated as literal text, and needs to be + * appropriately escaped by the implementation when it is written out. + * In order to assign an attribute value that contains entity + * references, the user must create an Attr node plus any + * Text and EntityReference nodes, build the + * appropriate subtree, and use setAttributeNode to assign + * it as the value of an attribute. + *
To set an attribute with a qualified name and namespace URI, use + * the setAttributeNS method. + * @param nameThe name of the attribute to create or alter. + * @param valueValue to set in string form. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified name contains an + * illegal character. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public void setAttribute(String name, + String value) + throws DOMException; + + /** + * Removes an attribute by name. If the removed attribute is known to have + * a default value, an attribute immediately appears containing the + * default value as well as the corresponding namespace URI, local name, + * and prefix when applicable. + *
To remove an attribute by local name and namespace URI, use the + * removeAttributeNS method. + * @param nameThe name of the attribute to remove. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public void removeAttribute(String name) + throws DOMException; + + /** + * Retrieves an attribute node by name. + *
To retrieve an attribute node by qualified name and namespace URI, + * use the getAttributeNodeNS method. + * @param nameThe name (nodeName) of the attribute to + * retrieve. + * @return The Attr node with the specified name ( + * nodeName) or null if there is no such + * attribute. + */ + public Attr getAttributeNode(String name); + + /** + * Adds a new attribute node. If an attribute with that name ( + * nodeName) is already present in the element, it is + * replaced by the new one. + *
To add a new attribute node with a qualified name and namespace + * URI, use the setAttributeNodeNS method. + * @param newAttrThe Attr node to add to the attribute list. + * @return If the newAttr attribute replaces an existing + * attribute, the replaced Attr node is returned, + * otherwise null is returned. + * @exception DOMException + * WRONG_DOCUMENT_ERR: Raised if newAttr was created from a + * different document than the one that created the element. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + *
INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an + * attribute of another Element object. The DOM user must + * explicitly clone Attr nodes to re-use them in other + * elements. + */ + public Attr setAttributeNode(Attr newAttr) + throws DOMException; + + /** + * Removes the specified attribute node. If the removed Attr + * has a default value it is immediately replaced. The replacing + * attribute has the same namespace URI and local name, as well as the + * original prefix, when applicable. + * @param oldAttrThe Attr node to remove from the attribute + * list. + * @return The Attr node that was removed. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + *
NOT_FOUND_ERR: Raised if oldAttr is not an attribute + * of the element. + */ + public Attr removeAttributeNode(Attr oldAttr) + throws DOMException; + + /** + * Returns a NodeList of all descendant Elements + * with a given tag name, in the order in which they are encountered in + * a preorder traversal of this Element tree. + * @param nameThe name of the tag to match on. The special value "*" + * matches all tags. + * @return A list of matching Element nodes. + */ + public NodeList getElementsByTagName(String name); + + /** + * Retrieves an attribute value by local name and namespace URI. HTML-only + * DOM implementations do not need to implement this method. + * @param namespaceURIThe namespace URI of the attribute to retrieve. + * @param localNameThe local name of the attribute to retrieve. + * @return The Attr value as a string, or the empty string + * if that attribute does not have a specified or default value. + * @since DOM Level 2 + */ + public String getAttributeNS(String namespaceURI, + String localName); + + /** + * Adds a new attribute. If an attribute with the same local name and + * namespace URI is already present on the element, its prefix is + * changed to be the prefix part of the qualifiedName, and + * its value is changed to be the value parameter. This + * value is a simple string; it is not parsed as it is being set. So any + * markup (such as syntax to be recognized as an entity reference) is + * treated as literal text, and needs to be appropriately escaped by the + * implementation when it is written out. In order to assign an + * attribute value that contains entity references, the user must create + * an Attr node plus any Text and + * EntityReference nodes, build the appropriate subtree, + * and use setAttributeNodeNS or + * setAttributeNode to assign it as the value of an + * attribute. + *
HTML-only DOM implementations do not need to implement this method. + * @param namespaceURIThe namespace URI of the attribute to create or + * alter. + * @param qualifiedNameThe qualified name of the attribute to create or + * alter. + * @param valueThe value to set in string form. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified qualified name + * contains an illegal character. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + *
NAMESPACE_ERR: Raised if the qualifiedName is + * malformed, if the qualifiedName has a prefix and the + * namespaceURI is null, if the + * qualifiedName has a prefix that is "xml" and the + * namespaceURI is different from " + * http://www.w3.org/XML/1998/namespace", or if the + * qualifiedName is "xmlns" and the + * namespaceURI is different from " + * http://www.w3.org/2000/xmlns/". + * @since DOM Level 2 + */ + public void setAttributeNS(String namespaceURI, + String qualifiedName, + String value) + throws DOMException; + + /** + * Removes an attribute by local name and namespace URI. If the removed + * attribute has a default value it is immediately replaced. The + * replacing attribute has the same namespace URI and local name, as + * well as the original prefix. + *
HTML-only DOM implementations do not need to implement this method. + * @param namespaceURIThe namespace URI of the attribute to remove. + * @param localNameThe local name of the attribute to remove. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + * @since DOM Level 2 + */ + public void removeAttributeNS(String namespaceURI, + String localName) + throws DOMException; + + /** + * Retrieves an Attr node by local name and namespace URI. + * HTML-only DOM implementations do not need to implement this method. + * @param namespaceURIThe namespace URI of the attribute to retrieve. + * @param localNameThe local name of the attribute to retrieve. + * @return The Attr node with the specified attribute local + * name and namespace URI or null if there is no such + * attribute. + * @since DOM Level 2 + */ + public Attr getAttributeNodeNS(String namespaceURI, + String localName); + + /** + * Adds a new attribute. If an attribute with that local name and that + * namespace URI is already present in the element, it is replaced by + * the new one. + *
HTML-only DOM implementations do not need to implement this method. + * @param newAttrThe Attr node to add to the attribute list. + * @return If the newAttr attribute replaces an existing + * attribute with the same local name and namespace URI, the replaced + * Attr node is returned, otherwise null is + * returned. + * @exception DOMException + * WRONG_DOCUMENT_ERR: Raised if newAttr was created from a + * different document than the one that created the element. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + *
INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an + * attribute of another Element object. The DOM user must + * explicitly clone Attr nodes to re-use them in other + * elements. + * @since DOM Level 2 + */ + public Attr setAttributeNodeNS(Attr newAttr) + throws DOMException; + + /** + * Returns a NodeList of all the descendant + * Elements with a given local name and namespace URI in + * the order in which they are encountered in a preorder traversal of + * this Element tree. + *
HTML-only DOM implementations do not need to implement this method. + * @param namespaceURIThe namespace URI of the elements to match on. The + * special value "*" matches all namespaces. + * @param localNameThe local name of the elements to match on. The + * special value "*" matches all local names. + * @return A new NodeList object containing all the matched + * Elements. + * @since DOM Level 2 + */ + public NodeList getElementsByTagNameNS(String namespaceURI, + String localName); + + /** + * Returns true when an attribute with a given name is + * specified on this element or has a default value, false + * otherwise. + * @param nameThe name of the attribute to look for. + * @return true if an attribute with the given name is + * specified on this element or has a default value, false + * otherwise. + * @since DOM Level 2 + */ + public boolean hasAttribute(String name); + + /** + * Returns true when an attribute with a given local name and + * namespace URI is specified on this element or has a default value, + * false otherwise. HTML-only DOM implementations do not + * need to implement this method. + * @param namespaceURIThe namespace URI of the attribute to look for. + * @param localNameThe local name of the attribute to look for. + * @return true if an attribute with the given local name + * and namespace URI is specified or has a default value on this + * element, false otherwise. + * @since DOM Level 2 + */ + public boolean hasAttributeNS(String namespaceURI, + String localName); + +} diff --git a/java/external/src/org/w3c/dom/Entity.java b/java/external/src/org/w3c/dom/Entity.java new file mode 100644 index 0000000..ecbf6a9 --- /dev/null +++ b/java/external/src/org/w3c/dom/Entity.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * This interface represents an entity, either parsed or unparsed, in an XML + * document. Note that this models the entity itself not the entity + * declaration. Entity declaration modeling has been left for a + * later Level of the DOM specification. + *

The nodeName attribute that is inherited from + * Node contains the name of the entity. + *

An XML processor may choose to completely expand entities before the + * structure model is passed to the DOM; in this case there will be no + * EntityReference nodes in the document tree. + *

XML does not mandate that a non-validating XML processor read and + * process entity declarations made in the external subset or declared in + * external parameter entities. This means that parsed entities declared in + * the external subset need not be expanded by some classes of applications, + * and that the replacement value of the entity may not be available. When + * the replacement value is available, the corresponding Entity + * node's child list represents the structure of that replacement text. + * Otherwise, the child list is empty. + *

The DOM Level 2 does not support editing Entity nodes; if a + * user wants to make changes to the contents of an Entity, + * every related EntityReference node has to be replaced in the + * structure model by a clone of the Entity's contents, and + * then the desired changes must be made to each of those clones instead. + * Entity nodes and all their descendants are readonly. + *

An Entity node does not have any parent.If the entity + * contains an unbound namespace prefix, the namespaceURI of + * the corresponding node in the Entity node subtree is + * null. The same is true for EntityReference + * nodes that refer to this entity, when they are created using the + * createEntityReference method of the Document + * interface. The DOM Level 2 does not support any mechanism to resolve + * namespace prefixes. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface Entity extends Node { + /** + * The public identifier associated with the entity, if specified. If the + * public identifier was not specified, this is null. + */ + public String getPublicId(); + + /** + * The system identifier associated with the entity, if specified. If the + * system identifier was not specified, this is null. + */ + public String getSystemId(); + + /** + * For unparsed entities, the name of the notation for the entity. For + * parsed entities, this is null. + */ + public String getNotationName(); + +} diff --git a/java/external/src/org/w3c/dom/EntityReference.java b/java/external/src/org/w3c/dom/EntityReference.java new file mode 100644 index 0000000..ff3cf9d --- /dev/null +++ b/java/external/src/org/w3c/dom/EntityReference.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * EntityReference objects may be inserted into the structure + * model when an entity reference is in the source document, or when the + * user wishes to insert an entity reference. Note that character references + * and references to predefined entities are considered to be expanded by + * the HTML or XML processor so that characters are represented by their + * Unicode equivalent rather than by an entity reference. Moreover, the XML + * processor may completely expand references to entities while building the + * structure model, instead of providing EntityReference + * objects. If it does provide such objects, then for a given + * EntityReference node, it may be that there is no + * Entity node representing the referenced entity. If such an + * Entity exists, then the subtree of the + * EntityReference node is in general a copy of the + * Entity node subtree. However, this may not be true when an + * entity contains an unbound namespace prefix. In such a case, because the + * namespace prefix resolution depends on where the entity reference is, the + * descendants of the EntityReference node may be bound to + * different namespace URIs. + *

As for Entity nodes, EntityReference nodes and + * all their descendants are readonly. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface EntityReference extends Node { +} diff --git a/java/external/src/org/w3c/dom/NamedNodeMap.java b/java/external/src/org/w3c/dom/NamedNodeMap.java new file mode 100644 index 0000000..6ab713c --- /dev/null +++ b/java/external/src/org/w3c/dom/NamedNodeMap.java @@ -0,0 +1,156 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * Objects implementing the NamedNodeMap interface are used to + * represent collections of nodes that can be accessed by name. Note that + * NamedNodeMap does not inherit from NodeList; + * NamedNodeMaps are not maintained in any particular order. + * Objects contained in an object implementing NamedNodeMap may + * also be accessed by an ordinal index, but this is simply to allow + * convenient enumeration of the contents of a NamedNodeMap, + * and does not imply that the DOM specifies an order to these Nodes. + *

NamedNodeMap objects in the DOM are live. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface NamedNodeMap { + /** + * Retrieves a node specified by name. + * @param nameThe nodeName of a node to retrieve. + * @return A Node (of any type) with the specified + * nodeName, or null if it does not identify + * any node in this map. + */ + public Node getNamedItem(String name); + + /** + * Adds a node using its nodeName attribute. If a node with + * that name is already present in this map, it is replaced by the new + * one. + *
As the nodeName attribute is used to derive the name + * which the node must be stored under, multiple nodes of certain types + * (those that have a "special" string value) cannot be stored as the + * names would clash. This is seen as preferable to allowing nodes to be + * aliased. + * @param argA node to store in this map. The node will later be + * accessible using the value of its nodeName attribute. + * @return If the new Node replaces an existing node the + * replaced Node is returned, otherwise null + * is returned. + * @exception DOMException + * WRONG_DOCUMENT_ERR: Raised if arg was created from a + * different document than the one that created this map. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. + *
INUSE_ATTRIBUTE_ERR: Raised if arg is an + * Attr that is already an attribute of another + * Element object. The DOM user must explicitly clone + * Attr nodes to re-use them in other elements. + */ + public Node setNamedItem(Node arg) + throws DOMException; + + /** + * Removes a node specified by name. When this map contains the attributes + * attached to an element, if the removed attribute is known to have a + * default value, an attribute immediately appears containing the + * default value as well as the corresponding namespace URI, local name, + * and prefix when applicable. + * @param nameThe nodeName of the node to remove. + * @return The node removed from this map if a node with such a name + * exists. + * @exception DOMException + * NOT_FOUND_ERR: Raised if there is no node named name in + * this map. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. + */ + public Node removeNamedItem(String name) + throws DOMException; + + /** + * Returns the indexth item in the map. If index + * is greater than or equal to the number of nodes in this map, this + * returns null. + * @param indexIndex into this map. + * @return The node at the indexth position in the map, or + * null if that is not a valid index. + */ + public Node item(int index); + + /** + * The number of nodes in this map. The range of valid child node indices + * is 0 to length-1 inclusive. + */ + public int getLength(); + + /** + * Retrieves a node specified by local name and namespace URI. HTML-only + * DOM implementations do not need to implement this method. + * @param namespaceURIThe namespace URI of the node to retrieve. + * @param localNameThe local name of the node to retrieve. + * @return A Node (of any type) with the specified local + * name and namespace URI, or null if they do not + * identify any node in this map. + * @since DOM Level 2 + */ + public Node getNamedItemNS(String namespaceURI, + String localName); + + /** + * Adds a node using its namespaceURI and + * localName. If a node with that namespace URI and that + * local name is already present in this map, it is replaced by the new + * one. + *
HTML-only DOM implementations do not need to implement this method. + * @param argA node to store in this map. The node will later be + * accessible using the value of its namespaceURI and + * localName attributes. + * @return If the new Node replaces an existing node the + * replaced Node is returned, otherwise null + * is returned. + * @exception DOMException + * WRONG_DOCUMENT_ERR: Raised if arg was created from a + * different document than the one that created this map. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. + *
INUSE_ATTRIBUTE_ERR: Raised if arg is an + * Attr that is already an attribute of another + * Element object. The DOM user must explicitly clone + * Attr nodes to re-use them in other elements. + * @since DOM Level 2 + */ + public Node setNamedItemNS(Node arg) + throws DOMException; + + /** + * Removes a node specified by local name and namespace URI. A removed + * attribute may be known to have a default value when this map contains + * the attributes attached to an element, as returned by the attributes + * attribute of the Node interface. If so, an attribute + * immediately appears containing the default value as well as the + * corresponding namespace URI, local name, and prefix when applicable. + *
HTML-only DOM implementations do not need to implement this method. + * @param namespaceURIThe namespace URI of the node to remove. + * @param localNameThe local name of the node to remove. + * @return The node removed from this map if a node with such a local + * name and namespace URI exists. + * @exception DOMException + * NOT_FOUND_ERR: Raised if there is no node with the specified + * namespaceURI and localName in this map. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly. + * @since DOM Level 2 + */ + public Node removeNamedItemNS(String namespaceURI, + String localName) + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/Node.java b/java/external/src/org/w3c/dom/Node.java new file mode 100644 index 0000000..1567efa --- /dev/null +++ b/java/external/src/org/w3c/dom/Node.java @@ -0,0 +1,390 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * The Node interface is the primary datatype for the entire + * Document Object Model. It represents a single node in the document tree. + * While all objects implementing the Node interface expose + * methods for dealing with children, not all objects implementing the + * Node interface may have children. For example, + * Text nodes may not have children, and adding children to + * such nodes results in a DOMException being raised. + *

The attributes nodeName, nodeValue and + * attributes are included as a mechanism to get at node + * information without casting down to the specific derived interface. In + * cases where there is no obvious mapping of these attributes for a + * specific nodeType (e.g., nodeValue for an + * Element or attributes for a Comment + * ), this returns null. Note that the specialized interfaces + * may contain additional and more convenient mechanisms to get and set the + * relevant information. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface Node { + // NodeType + /** + * The node is an Element. + */ + public static final short ELEMENT_NODE = 1; + /** + * The node is an Attr. + */ + public static final short ATTRIBUTE_NODE = 2; + /** + * The node is a Text node. + */ + public static final short TEXT_NODE = 3; + /** + * The node is a CDATASection. + */ + public static final short CDATA_SECTION_NODE = 4; + /** + * The node is an EntityReference. + */ + public static final short ENTITY_REFERENCE_NODE = 5; + /** + * The node is an Entity. + */ + public static final short ENTITY_NODE = 6; + /** + * The node is a ProcessingInstruction. + */ + public static final short PROCESSING_INSTRUCTION_NODE = 7; + /** + * The node is a Comment. + */ + public static final short COMMENT_NODE = 8; + /** + * The node is a Document. + */ + public static final short DOCUMENT_NODE = 9; + /** + * The node is a DocumentType. + */ + public static final short DOCUMENT_TYPE_NODE = 10; + /** + * The node is a DocumentFragment. + */ + public static final short DOCUMENT_FRAGMENT_NODE = 11; + /** + * The node is a Notation. + */ + public static final short NOTATION_NODE = 12; + + /** + * The name of this node, depending on its type; see the table above. + */ + public String getNodeName(); + + /** + * The value of this node, depending on its type; see the table above. + * When it is defined to be null, setting it has no effect. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. + * @exception DOMException + * DOMSTRING_SIZE_ERR: Raised when it would return more characters than + * fit in a DOMString variable on the implementation + * platform. + */ + public String getNodeValue() + throws DOMException; + public void setNodeValue(String nodeValue) + throws DOMException; + + /** + * A code representing the type of the underlying object, as defined above. + */ + public short getNodeType(); + + /** + * The parent of this node. All nodes, except Attr, + * Document, DocumentFragment, + * Entity, and Notation may have a parent. + * However, if a node has just been created and not yet added to the + * tree, or if it has been removed from the tree, this is + * null. + */ + public Node getParentNode(); + + /** + * A NodeList that contains all children of this node. If + * there are no children, this is a NodeList containing no + * nodes. + */ + public NodeList getChildNodes(); + + /** + * The first child of this node. If there is no such node, this returns + * null. + */ + public Node getFirstChild(); + + /** + * The last child of this node. If there is no such node, this returns + * null. + */ + public Node getLastChild(); + + /** + * The node immediately preceding this node. If there is no such node, + * this returns null. + */ + public Node getPreviousSibling(); + + /** + * The node immediately following this node. If there is no such node, + * this returns null. + */ + public Node getNextSibling(); + + /** + * A NamedNodeMap containing the attributes of this node (if + * it is an Element) or null otherwise. + */ + public NamedNodeMap getAttributes(); + + /** + * The Document object associated with this node. This is + * also the Document object used to create new nodes. When + * this node is a Document or a DocumentType + * which is not used with any Document yet, this is + * null. + * @version DOM Level 2 + */ + public Document getOwnerDocument(); + + /** + * Inserts the node newChild before the existing child node + * refChild. If refChild is null, + * insert newChild at the end of the list of children. + *
If newChild is a DocumentFragment object, + * all of its children are inserted, in the same order, before + * refChild. If the newChild is already in the + * tree, it is first removed. + * @param newChildThe node to insert. + * @param refChildThe reference node, i.e., the node before which the new + * node must be inserted. + * @return The node being inserted. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not + * allow children of the type of the newChild node, or if + * the node to insert is one of this node's ancestors. + *
WRONG_DOCUMENT_ERR: Raised if newChild was created + * from a different document than the one that created this node. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or + * if the parent of the node being inserted is readonly. + *
NOT_FOUND_ERR: Raised if refChild is not a child of + * this node. + */ + public Node insertBefore(Node newChild, + Node refChild) + throws DOMException; + + /** + * Replaces the child node oldChild with newChild + * in the list of children, and returns the oldChild node. + *
If newChild is a DocumentFragment object, + * oldChild is replaced by all of the + * DocumentFragment children, which are inserted in the + * same order. If the newChild is already in the tree, it + * is first removed. + * @param newChildThe new node to put in the child list. + * @param oldChildThe node being replaced in the list. + * @return The node replaced. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not + * allow children of the type of the newChild node, or if + * the node to put in is one of this node's ancestors. + *
WRONG_DOCUMENT_ERR: Raised if newChild was created + * from a different document than the one that created this node. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the parent of + * the new node is readonly. + *
NOT_FOUND_ERR: Raised if oldChild is not a child of + * this node. + */ + public Node replaceChild(Node newChild, + Node oldChild) + throws DOMException; + + /** + * Removes the child node indicated by oldChild from the list + * of children, and returns it. + * @param oldChildThe node being removed. + * @return The node removed. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + *
NOT_FOUND_ERR: Raised if oldChild is not a child of + * this node. + */ + public Node removeChild(Node oldChild) + throws DOMException; + + /** + * Adds the node newChild to the end of the list of children + * of this node. If the newChild is already in the tree, it + * is first removed. + * @param newChildThe node to add.If it is a DocumentFragment + * object, the entire contents of the document fragment are moved + * into the child list of this node + * @return The node added. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does not + * allow children of the type of the newChild node, or if + * the node to append is one of this node's ancestors. + *
WRONG_DOCUMENT_ERR: Raised if newChild was created + * from a different document than the one that created this node. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public Node appendChild(Node newChild) + throws DOMException; + + /** + * Returns whether this node has any children. + * @return true if this node has any children, + * false otherwise. + */ + public boolean hasChildNodes(); + + /** + * Returns a duplicate of this node, i.e., serves as a generic copy + * constructor for nodes. The duplicate node has no parent; ( + * parentNode is null.). + *
Cloning an Element copies all attributes and their + * values, including those generated by the XML processor to represent + * defaulted attributes, but this method does not copy any text it + * contains unless it is a deep clone, since the text is contained in a + * child Text node. Cloning an Attribute + * directly, as opposed to be cloned as part of an Element + * cloning operation, returns a specified attribute ( + * specified is true). Cloning any other type + * of node simply returns a copy of this node. + *
Note that cloning an immutable subtree results in a mutable copy, + * but the children of an EntityReference clone are readonly + * . In addition, clones of unspecified Attr nodes are + * specified. And, cloning Document, + * DocumentType, Entity, and + * Notation nodes is implementation dependent. + * @param deepIf true, recursively clone the subtree under + * the specified node; if false, clone only the node + * itself (and its attributes, if it is an Element). + * @return The duplicate node. + */ + public Node cloneNode(boolean deep); + + /** + * Puts all Text nodes in the full depth of the sub-tree + * underneath this Node, including attribute nodes, into a + * "normal" form where only structure (e.g., elements, comments, + * processing instructions, CDATA sections, and entity references) + * separates Text nodes, i.e., there are neither adjacent + * Text nodes nor empty Text 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 + * CDATASections, the normalize operation alone may not be + * sufficient, since XPointers do not differentiate between + * Text nodes and CDATASection nodes. + * @version DOM Level 2 + */ + public void normalize(); + + /** + * Tests whether the DOM implementation implements a specific feature and + * that feature is supported by this node. + * @param featureThe name of the feature to test. This is the same name + * which can be passed to the method hasFeature on + * DOMImplementation. + * @param versionThis is the version number of the feature to test. In + * Level 2, version 1, this is the string "2.0". If the version is not + * specified, supporting any version of the feature will cause the + * method to return true. + * @return Returns true if the specified feature is + * supported on this node, false otherwise. + * @since DOM Level 2 + */ + public boolean isSupported(String feature, + String version); + + /** + * The namespace URI of this node, or null if it is + * unspecified. + *
This is not a computed value that is the result of a namespace + * lookup based on an examination of the namespace declarations in + * scope. It is merely the namespace URI given at creation time. + *
For nodes of any type other than ELEMENT_NODE and + * ATTRIBUTE_NODE and nodes created with a DOM Level 1 + * method, such as createElement from the + * Document interface, this is always null.Per + * the Namespaces in XML Specification an attribute does not inherit + * its namespace from the element it is attached to. If an attribute is + * not explicitly given a namespace, it simply has no namespace. + * @since DOM Level 2 + */ + public String getNamespaceURI(); + + /** + * The namespace prefix of this node, or null if it is + * unspecified. + *
Note that setting this attribute, when permitted, changes the + * nodeName attribute, which holds the qualified name, as + * well as the tagName and name attributes of + * the Element and Attr interfaces, when + * applicable. + *
Note also that changing the prefix of an attribute that is known to + * have a default value, does not make a new attribute with the default + * value and the original prefix appear, since the + * namespaceURI and localName do not change. + *
For nodes of any type other than ELEMENT_NODE and + * ATTRIBUTE_NODE and nodes created with a DOM Level 1 + * method, such as createElement from the + * Document interface, this is always null. + * @exception DOMException + * INVALID_CHARACTER_ERR: Raised if the specified prefix contains an + * illegal character. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + *
NAMESPACE_ERR: Raised if the specified prefix is + * malformed, if the namespaceURI of this node is + * null, if the specified prefix is "xml" and the + * namespaceURI of this node is different from " + * http://www.w3.org/XML/1998/namespace", if this node is an attribute + * and the specified prefix is "xmlns" and the + * namespaceURI of this node is different from " + * http://www.w3.org/2000/xmlns/", or if this node is an attribute and + * the qualifiedName of this node is "xmlns" . + * @since DOM Level 2 + */ + public String getPrefix(); + public void setPrefix(String prefix) + throws DOMException; + + /** + * Returns the local part of the qualified name of this node. + *
For nodes of any type other than ELEMENT_NODE and + * ATTRIBUTE_NODE and nodes created with a DOM Level 1 + * method, such as createElement from the + * Document interface, this is always null. + * @since DOM Level 2 + */ + public String getLocalName(); + + /** + * Returns whether this node (if it is an element) has any attributes. + * @return true if this node has any attributes, + * false otherwise. + * @since DOM Level 2 + */ + public boolean hasAttributes(); + +} diff --git a/java/external/src/org/w3c/dom/NodeList.java b/java/external/src/org/w3c/dom/NodeList.java new file mode 100644 index 0000000..4f3ec9a --- /dev/null +++ b/java/external/src/org/w3c/dom/NodeList.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * The NodeList interface provides the abstraction of an ordered + * collection of nodes, without defining or constraining how this collection + * is implemented. NodeList objects in the DOM are live. + *

The items in the NodeList are accessible via an integral + * index, starting from 0. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface NodeList { + /** + * Returns the indexth item in the collection. If + * index is greater than or equal to the number of nodes in + * the list, this returns null. + * @param indexIndex into the collection. + * @return The node at the indexth position in the + * NodeList, or null if that is not a valid + * index. + */ + public Node item(int index); + + /** + * The number of nodes in the list. The range of valid child node indices + * is 0 to length-1 inclusive. + */ + public int getLength(); + +} diff --git a/java/external/src/org/w3c/dom/Notation.java b/java/external/src/org/w3c/dom/Notation.java new file mode 100644 index 0000000..186836d --- /dev/null +++ b/java/external/src/org/w3c/dom/Notation.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * This interface represents a notation declared in the DTD. A notation either + * declares, by name, the format of an unparsed entity (see section 4.7 of + * the XML 1.0 specification ), or is used for formal declaration of + * processing instruction targets (see section 2.6 of the XML 1.0 + * specification ). The nodeName attribute inherited from + * Node is set to the declared name of the notation. + *

The DOM Level 1 does not support editing Notation nodes; + * they are therefore readonly. + *

A Notation node does not have any parent. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface Notation extends Node { + /** + * The public identifier of this notation. If the public identifier was + * not specified, this is null. + */ + public String getPublicId(); + + /** + * The system identifier of this notation. If the system identifier was + * not specified, this is null. + */ + public String getSystemId(); + +} diff --git a/java/external/src/org/w3c/dom/ProcessingInstruction.java b/java/external/src/org/w3c/dom/ProcessingInstruction.java new file mode 100644 index 0000000..f84fdf2 --- /dev/null +++ b/java/external/src/org/w3c/dom/ProcessingInstruction.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * The ProcessingInstruction interface represents a "processing + * instruction", used in XML as a way to keep processor-specific information + * in the text of the document. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface ProcessingInstruction extends Node { + /** + * The target of this processing instruction. XML defines this as being + * the first token following the markup that begins the processing + * instruction. + */ + public String getTarget(); + + /** + * The content of this processing instruction. This is from the first non + * white space character after the target to the character immediately + * preceding the ?>. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly. + */ + public String getData(); + public void setData(String data) + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/Text.java b/java/external/src/org/w3c/dom/Text.java new file mode 100644 index 0000000..e415e80 --- /dev/null +++ b/java/external/src/org/w3c/dom/Text.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom; + +/** + * The Text interface inherits from CharacterData + * and represents the textual content (termed character data in XML) of an + * Element or Attr. If there is no markup inside + * an element's content, the text is contained in a single object + * implementing the Text interface that is the only child of + * the element. If there is markup, it is parsed into the information items + * (elements, comments, etc.) and Text nodes that form the list + * of children of the element. + *

When a document is first made available via the DOM, there is only one + * Text node for each block of text. Users may create adjacent + * Text nodes that represent the contents of a given element + * without any intervening markup, but should be aware that there is no way + * to represent the separations between these nodes in XML or HTML, so they + * will not (in general) persist between DOM editing sessions. The + * normalize() method on Node merges any such + * adjacent Text objects into a single node for each block of + * text. + *

See also the Document Object Model (DOM) Level 2 Core Specification. + */ +public interface Text extends CharacterData { + /** + * Breaks this node into two nodes at the specified offset, + * keeping both in the tree as siblings. After being split, this node + * will contain all the content up to the offset point. A + * new node of the same type, which contains all the content at and + * after the offset point, is returned. If the original + * node had a parent node, the new node is inserted as the next sibling + * of the original node. When the offset is equal to the + * length of this node, the new node has no data. + * @param offsetThe 16-bit unit offset at which to split, starting from + * 0. + * @return The new node, of the same type as this node. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified offset is negative or greater + * than the number of 16-bit units in data. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly. + */ + public Text splitText(int offset) + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/css/CSS2Properties.java b/java/external/src/org/w3c/dom/css/CSS2Properties.java new file mode 100644 index 0000000..b84df9b --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSS2Properties.java @@ -0,0 +1,1411 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The CSS2Properties interface represents a convenience + * mechanism for retrieving and setting properties within a + * CSSStyleDeclaration. The attributes of this interface + * correspond to all the properties specified in CSS2. Getting an attribute + * of this interface is equivalent to calling the + * getPropertyValue method of the + * CSSStyleDeclaration interface. Setting an attribute of this + * interface is equivalent to calling the setProperty method of + * the CSSStyleDeclaration interface. + *

A conformant implementation of the CSS module is not required to + * implement the CSS2Properties interface. If an implementation + * does implement this interface, the expectation is that language-specific + * methods can be used to cast from an instance of the + * CSSStyleDeclaration interface to the + * CSS2Properties interface. + *

If an implementation does implement this interface, it is expected to + * understand the specific syntax of the shorthand properties, and apply + * their semantics; when the margin property is set, for + * example, the marginTop, marginRight, + * marginBottom and marginLeft properties are + * actually being set by the underlying implementation. + *

When dealing with CSS "shorthand" properties, the shorthand properties + * should be decomposed into their component longhand properties as + * appropriate, and when querying for their value, the form returned should + * be the shortest form exactly equivalent to the declarations made in the + * ruleset. However, if there is no shorthand declaration that could be + * added to the ruleset without changing in any way the rules already + * declared in the ruleset (i.e., by adding longhand rules that were + * previously not declared in the ruleset), then the empty string should be + * returned for the shorthand property. + *

For example, querying for the font property should not + * return "normal normal normal 14pt/normal Arial, sans-serif", when "14pt + * Arial, sans-serif" suffices. (The normals are initial values, and are + * implied by use of the longhand property.) + *

If the values for all the longhand properties that compose a particular + * string are the initial values, then a string consisting of all the + * initial values should be returned (e.g. a border-width value + * of "medium" should be returned as such, not as ""). + *

For some shorthand properties that take missing values from other + * sides, such as the margin, padding, and + * border-[width|style|color] properties, the minimum number of + * sides possible should be used; i.e., "0px 10px" will be returned instead + * of "0px 10px 0px 10px". + *

If the value of a shorthand property can not be decomposed into its + * component longhand properties, as is the case for the font + * property with a value of "menu", querying for the values of the component + * longhand properties should return the empty string. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSS2Properties { + /** + * See the azimuth property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getAzimuth(); + public void setAzimuth(String azimuth) + throws DOMException; + + /** + * See the background property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBackground(); + public void setBackground(String background) + throws DOMException; + + /** + * See the background-attachment property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBackgroundAttachment(); + public void setBackgroundAttachment(String backgroundAttachment) + throws DOMException; + + /** + * See the background-color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBackgroundColor(); + public void setBackgroundColor(String backgroundColor) + throws DOMException; + + /** + * See the background-image property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBackgroundImage(); + public void setBackgroundImage(String backgroundImage) + throws DOMException; + + /** + * See the background-position property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBackgroundPosition(); + public void setBackgroundPosition(String backgroundPosition) + throws DOMException; + + /** + * See the background-repeat property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBackgroundRepeat(); + public void setBackgroundRepeat(String backgroundRepeat) + throws DOMException; + + /** + * See the border property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorder(); + public void setBorder(String border) + throws DOMException; + + /** + * See the border-collapse property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderCollapse(); + public void setBorderCollapse(String borderCollapse) + throws DOMException; + + /** + * See the border-color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderColor(); + public void setBorderColor(String borderColor) + throws DOMException; + + /** + * See the border-spacing property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderSpacing(); + public void setBorderSpacing(String borderSpacing) + throws DOMException; + + /** + * See the border-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderStyle(); + public void setBorderStyle(String borderStyle) + throws DOMException; + + /** + * See the border-top property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderTop(); + public void setBorderTop(String borderTop) + throws DOMException; + + /** + * See the border-right property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderRight(); + public void setBorderRight(String borderRight) + throws DOMException; + + /** + * See the border-bottom property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderBottom(); + public void setBorderBottom(String borderBottom) + throws DOMException; + + /** + * See the border-left property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderLeft(); + public void setBorderLeft(String borderLeft) + throws DOMException; + + /** + * See the border-top-color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderTopColor(); + public void setBorderTopColor(String borderTopColor) + throws DOMException; + + /** + * See the border-right-color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderRightColor(); + public void setBorderRightColor(String borderRightColor) + throws DOMException; + + /** + * See the border-bottom-color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderBottomColor(); + public void setBorderBottomColor(String borderBottomColor) + throws DOMException; + + /** + * See the border-left-color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderLeftColor(); + public void setBorderLeftColor(String borderLeftColor) + throws DOMException; + + /** + * See the border-top-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderTopStyle(); + public void setBorderTopStyle(String borderTopStyle) + throws DOMException; + + /** + * See the border-right-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderRightStyle(); + public void setBorderRightStyle(String borderRightStyle) + throws DOMException; + + /** + * See the border-bottom-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderBottomStyle(); + public void setBorderBottomStyle(String borderBottomStyle) + throws DOMException; + + /** + * See the border-left-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderLeftStyle(); + public void setBorderLeftStyle(String borderLeftStyle) + throws DOMException; + + /** + * See the border-top-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderTopWidth(); + public void setBorderTopWidth(String borderTopWidth) + throws DOMException; + + /** + * See the border-right-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderRightWidth(); + public void setBorderRightWidth(String borderRightWidth) + throws DOMException; + + /** + * See the border-bottom-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderBottomWidth(); + public void setBorderBottomWidth(String borderBottomWidth) + throws DOMException; + + /** + * See the border-left-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderLeftWidth(); + public void setBorderLeftWidth(String borderLeftWidth) + throws DOMException; + + /** + * See the border-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBorderWidth(); + public void setBorderWidth(String borderWidth) + throws DOMException; + + /** + * See the bottom property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getBottom(); + public void setBottom(String bottom) + throws DOMException; + + /** + * See the caption-side property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getCaptionSide(); + public void setCaptionSide(String captionSide) + throws DOMException; + + /** + * See the clear property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getClear(); + public void setClear(String clear) + throws DOMException; + + /** + * See the clip property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getClip(); + public void setClip(String clip) + throws DOMException; + + /** + * See the color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getColor(); + public void setColor(String color) + throws DOMException; + + /** + * See the content property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getContent(); + public void setContent(String content) + throws DOMException; + + /** + * See the counter-increment property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getCounterIncrement(); + public void setCounterIncrement(String counterIncrement) + throws DOMException; + + /** + * See the counter-reset property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getCounterReset(); + public void setCounterReset(String counterReset) + throws DOMException; + + /** + * See the cue property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getCue(); + public void setCue(String cue) + throws DOMException; + + /** + * See the cue-after property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getCueAfter(); + public void setCueAfter(String cueAfter) + throws DOMException; + + /** + * See the cue-before property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getCueBefore(); + public void setCueBefore(String cueBefore) + throws DOMException; + + /** + * See the cursor property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getCursor(); + public void setCursor(String cursor) + throws DOMException; + + /** + * See the direction property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getDirection(); + public void setDirection(String direction) + throws DOMException; + + /** + * See the display property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getDisplay(); + public void setDisplay(String display) + throws DOMException; + + /** + * See the elevation property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getElevation(); + public void setElevation(String elevation) + throws DOMException; + + /** + * See the empty-cells property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getEmptyCells(); + public void setEmptyCells(String emptyCells) + throws DOMException; + + /** + * See the float property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getCssFloat(); + public void setCssFloat(String cssFloat) + throws DOMException; + + /** + * See the font property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getFont(); + public void setFont(String font) + throws DOMException; + + /** + * See the font-family property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getFontFamily(); + public void setFontFamily(String fontFamily) + throws DOMException; + + /** + * See the font-size property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getFontSize(); + public void setFontSize(String fontSize) + throws DOMException; + + /** + * See the font-size-adjust property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getFontSizeAdjust(); + public void setFontSizeAdjust(String fontSizeAdjust) + throws DOMException; + + /** + * See the font-stretch property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getFontStretch(); + public void setFontStretch(String fontStretch) + throws DOMException; + + /** + * See the font-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getFontStyle(); + public void setFontStyle(String fontStyle) + throws DOMException; + + /** + * See the font-variant property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getFontVariant(); + public void setFontVariant(String fontVariant) + throws DOMException; + + /** + * See the font-weight property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getFontWeight(); + public void setFontWeight(String fontWeight) + throws DOMException; + + /** + * See the height property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getHeight(); + public void setHeight(String height) + throws DOMException; + + /** + * See the left property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getLeft(); + public void setLeft(String left) + throws DOMException; + + /** + * See the letter-spacing property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getLetterSpacing(); + public void setLetterSpacing(String letterSpacing) + throws DOMException; + + /** + * See the line-height property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getLineHeight(); + public void setLineHeight(String lineHeight) + throws DOMException; + + /** + * See the list-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getListStyle(); + public void setListStyle(String listStyle) + throws DOMException; + + /** + * See the list-style-image property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getListStyleImage(); + public void setListStyleImage(String listStyleImage) + throws DOMException; + + /** + * See the list-style-position property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getListStylePosition(); + public void setListStylePosition(String listStylePosition) + throws DOMException; + + /** + * See the list-style-type property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getListStyleType(); + public void setListStyleType(String listStyleType) + throws DOMException; + + /** + * See the margin property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getMargin(); + public void setMargin(String margin) + throws DOMException; + + /** + * See the margin-top property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getMarginTop(); + public void setMarginTop(String marginTop) + throws DOMException; + + /** + * See the margin-right property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getMarginRight(); + public void setMarginRight(String marginRight) + throws DOMException; + + /** + * See the margin-bottom property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getMarginBottom(); + public void setMarginBottom(String marginBottom) + throws DOMException; + + /** + * See the margin-left property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getMarginLeft(); + public void setMarginLeft(String marginLeft) + throws DOMException; + + /** + * See the marker-offset property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getMarkerOffset(); + public void setMarkerOffset(String markerOffset) + throws DOMException; + + /** + * See the marks property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getMarks(); + public void setMarks(String marks) + throws DOMException; + + /** + * See the max-height property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getMaxHeight(); + public void setMaxHeight(String maxHeight) + throws DOMException; + + /** + * See the max-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getMaxWidth(); + public void setMaxWidth(String maxWidth) + throws DOMException; + + /** + * See the min-height property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getMinHeight(); + public void setMinHeight(String minHeight) + throws DOMException; + + /** + * See the min-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getMinWidth(); + public void setMinWidth(String minWidth) + throws DOMException; + + /** + * See the orphans property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getOrphans(); + public void setOrphans(String orphans) + throws DOMException; + + /** + * See the outline property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getOutline(); + public void setOutline(String outline) + throws DOMException; + + /** + * See the outline-color property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getOutlineColor(); + public void setOutlineColor(String outlineColor) + throws DOMException; + + /** + * See the outline-style property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getOutlineStyle(); + public void setOutlineStyle(String outlineStyle) + throws DOMException; + + /** + * See the outline-width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getOutlineWidth(); + public void setOutlineWidth(String outlineWidth) + throws DOMException; + + /** + * See the overflow property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getOverflow(); + public void setOverflow(String overflow) + throws DOMException; + + /** + * See the padding property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPadding(); + public void setPadding(String padding) + throws DOMException; + + /** + * See the padding-top property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPaddingTop(); + public void setPaddingTop(String paddingTop) + throws DOMException; + + /** + * See the padding-right property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPaddingRight(); + public void setPaddingRight(String paddingRight) + throws DOMException; + + /** + * See the padding-bottom property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPaddingBottom(); + public void setPaddingBottom(String paddingBottom) + throws DOMException; + + /** + * See the padding-left property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPaddingLeft(); + public void setPaddingLeft(String paddingLeft) + throws DOMException; + + /** + * See the page property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPage(); + public void setPage(String page) + throws DOMException; + + /** + * See the page-break-after property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPageBreakAfter(); + public void setPageBreakAfter(String pageBreakAfter) + throws DOMException; + + /** + * See the page-break-before property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPageBreakBefore(); + public void setPageBreakBefore(String pageBreakBefore) + throws DOMException; + + /** + * See the page-break-inside property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPageBreakInside(); + public void setPageBreakInside(String pageBreakInside) + throws DOMException; + + /** + * See the pause property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPause(); + public void setPause(String pause) + throws DOMException; + + /** + * See the pause-after property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPauseAfter(); + public void setPauseAfter(String pauseAfter) + throws DOMException; + + /** + * See the pause-before property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPauseBefore(); + public void setPauseBefore(String pauseBefore) + throws DOMException; + + /** + * See the pitch property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPitch(); + public void setPitch(String pitch) + throws DOMException; + + /** + * See the pitch-range property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPitchRange(); + public void setPitchRange(String pitchRange) + throws DOMException; + + /** + * See the play-during property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPlayDuring(); + public void setPlayDuring(String playDuring) + throws DOMException; + + /** + * See the position property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getPosition(); + public void setPosition(String position) + throws DOMException; + + /** + * See the quotes property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getQuotes(); + public void setQuotes(String quotes) + throws DOMException; + + /** + * See the richness property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getRichness(); + public void setRichness(String richness) + throws DOMException; + + /** + * See the right property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getRight(); + public void setRight(String right) + throws DOMException; + + /** + * See the size property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getSize(); + public void setSize(String size) + throws DOMException; + + /** + * See the speak property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getSpeak(); + public void setSpeak(String speak) + throws DOMException; + + /** + * See the speak-header property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getSpeakHeader(); + public void setSpeakHeader(String speakHeader) + throws DOMException; + + /** + * See the speak-numeral property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getSpeakNumeral(); + public void setSpeakNumeral(String speakNumeral) + throws DOMException; + + /** + * See the speak-punctuation property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getSpeakPunctuation(); + public void setSpeakPunctuation(String speakPunctuation) + throws DOMException; + + /** + * See the speech-rate property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getSpeechRate(); + public void setSpeechRate(String speechRate) + throws DOMException; + + /** + * See the stress property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getStress(); + public void setStress(String stress) + throws DOMException; + + /** + * See the table-layout property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getTableLayout(); + public void setTableLayout(String tableLayout) + throws DOMException; + + /** + * See the text-align property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getTextAlign(); + public void setTextAlign(String textAlign) + throws DOMException; + + /** + * See the text-decoration property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getTextDecoration(); + public void setTextDecoration(String textDecoration) + throws DOMException; + + /** + * See the text-indent property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getTextIndent(); + public void setTextIndent(String textIndent) + throws DOMException; + + /** + * See the text-shadow property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getTextShadow(); + public void setTextShadow(String textShadow) + throws DOMException; + + /** + * See the text-transform property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getTextTransform(); + public void setTextTransform(String textTransform) + throws DOMException; + + /** + * See the top property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getTop(); + public void setTop(String top) + throws DOMException; + + /** + * See the unicode-bidi property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getUnicodeBidi(); + public void setUnicodeBidi(String unicodeBidi) + throws DOMException; + + /** + * See the vertical-align property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getVerticalAlign(); + public void setVerticalAlign(String verticalAlign) + throws DOMException; + + /** + * See the visibility property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getVisibility(); + public void setVisibility(String visibility) + throws DOMException; + + /** + * See the voice-family property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getVoiceFamily(); + public void setVoiceFamily(String voiceFamily) + throws DOMException; + + /** + * See the volume property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getVolume(); + public void setVolume(String volume) + throws DOMException; + + /** + * See the white-space property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getWhiteSpace(); + public void setWhiteSpace(String whiteSpace) + throws DOMException; + + /** + * See the widows property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getWidows(); + public void setWidows(String widows) + throws DOMException; + + /** + * See the width property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getWidth(); + public void setWidth(String width) + throws DOMException; + + /** + * See the word-spacing property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getWordSpacing(); + public void setWordSpacing(String wordSpacing) + throws DOMException; + + /** + * See the z-index property definition in CSS2. + * @exception DOMException + * SYNTAX_ERR: Raised if the new value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public String getZIndex(); + public void setZIndex(String zIndex) + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/css/CSSCharsetRule.java b/java/external/src/org/w3c/dom/css/CSSCharsetRule.java new file mode 100644 index 0000000..ac18845 --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSSCharsetRule.java @@ -0,0 +1,48 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The CSSCharsetRule interface represents a @charset rule in a + * CSS style sheet. The value of the encoding attribute does + * not affect the encoding of text data in the DOM objects; this encoding is + * always UTF-16. After a stylesheet is loaded, the value of the + * encoding attribute is the value found in the + * @charset rule. If there was no @charset in the + * original document, then no CSSCharsetRule is created. The + * value of the encoding attribute may also be used as a hint + * for the encoding used on serialization of the style sheet. + *

The value of the @charset rule (and therefore of the + * CSSCharsetRule) may not correspond to the encoding the + * document actually came in; character encoding information e.g. in an HTTP + * header, has priority (see CSS document representation) but this is not + * reflected in the CSSCharsetRule. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSSCharsetRule extends CSSRule { + /** + * The encoding information used in this @charset rule. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified encoding value has a syntax error + * and is unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this encoding rule is + * readonly. + */ + public String getEncoding(); + public void setEncoding(String encoding) + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/css/CSSFontFaceRule.java b/java/external/src/org/w3c/dom/css/CSSFontFaceRule.java new file mode 100644 index 0000000..a179570 --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSSFontFaceRule.java @@ -0,0 +1,28 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * The CSSFontFaceRule interface represents a @font-face rule in + * a CSS style sheet. The @font-face rule is used to hold a set + * of font descriptions. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSSFontFaceRule extends CSSRule { + /** + * The declaration-block of this rule. + */ + public CSSStyleDeclaration getStyle(); + +} diff --git a/java/external/src/org/w3c/dom/css/CSSImportRule.java b/java/external/src/org/w3c/dom/css/CSSImportRule.java new file mode 100644 index 0000000..e18ad56 --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSSImportRule.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.stylesheets.MediaList; + +/** + * The CSSImportRule interface represents a @import rule within + * a CSS style sheet. The @import rule is used to import style + * rules from other style sheets. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSSImportRule extends CSSRule { + /** + * The location of the style sheet to be imported. The attribute will not + * contain the "url(...)" specifier around the URI. + */ + public String getHref(); + + /** + * A list of media types for which this style sheet may be used. + */ + public MediaList getMedia(); + + /** + * The style sheet referred to by this rule, if it has been loaded. The + * value of this attribute is null if the style sheet has + * not yet been loaded or if it will not be loaded (e.g. if the style + * sheet is for a media type not supported by the user agent). + */ + public CSSStyleSheet getStyleSheet(); + +} diff --git a/java/external/src/org/w3c/dom/css/CSSMediaRule.java b/java/external/src/org/w3c/dom/css/CSSMediaRule.java new file mode 100644 index 0000000..c74d3fa --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSSMediaRule.java @@ -0,0 +1,76 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; +import org.w3c.dom.stylesheets.MediaList; + +/** + * The CSSMediaRule interface represents a @media rule in a CSS + * style sheet. A @media rule can be used to delimit style + * rules for specific media types. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSSMediaRule extends CSSRule { + /** + * A list of media types for this rule. + */ + public MediaList getMedia(); + + /** + * A list of all CSS rules contained within the media block. + */ + public CSSRuleList getCssRules(); + + /** + * Used to insert a new rule into the media block. + * @param rule The parsable text representing the rule. For rule sets + * this contains both the selector and the style declaration. For + * at-rules, this specifies both the at-identifier and the rule + * content. + * @param index The index within the media block's rule collection of the + * rule before which to insert the specified rule. If the specified + * index is equal to the length of the media blocks's rule collection, + * the rule will be added to the end of the media block. + * @return The index within the media block's rule collection of the + * newly inserted rule. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the + * specified index, e.g., if an @import rule is inserted + * after a standard rule set or other at-rule. + *
INDEX_SIZE_ERR: Raised if the specified index is not a valid + * insertion point. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is + * readonly. + *
SYNTAX_ERR: Raised if the specified rule has a syntax error and + * is unparsable. + */ + public int insertRule(String rule, + int index) + throws DOMException; + + /** + * Used to delete a rule from the media block. + * @param index The index within the media block's rule collection of the + * rule to remove. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified index does not correspond to + * a rule in the media rule list. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is + * readonly. + */ + public void deleteRule(int index) + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/css/CSSPageRule.java b/java/external/src/org/w3c/dom/css/CSSPageRule.java new file mode 100644 index 0000000..d2fc9c3 --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSSPageRule.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The CSSPageRule interface represents a @page rule within a + * CSS style sheet. The @page rule is used to specify the + * dimensions, orientation, margins, etc. of a page box for paged media. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSSPageRule extends CSSRule { + /** + * The parsable textual representation of the page selector for the rule. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified CSS string value has a syntax + * error and is unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is readonly. + */ + public String getSelectorText(); + public void setSelectorText(String selectorText) + throws DOMException; + + /** + * The declaration-block of this rule. + */ + public CSSStyleDeclaration getStyle(); + +} diff --git a/java/external/src/org/w3c/dom/css/CSSPrimitiveValue.java b/java/external/src/org/w3c/dom/css/CSSPrimitiveValue.java new file mode 100644 index 0000000..781ce8a --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSSPrimitiveValue.java @@ -0,0 +1,296 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The CSSPrimitiveValue interface represents a single CSS value + * . This interface may be used to determine the value of a specific style + * property currently set in a block or to set a specific style property + * explicitly within the block. An instance of this interface might be + * obtained from the getPropertyCSSValue method of the + * CSSStyleDeclaration interface. A + * CSSPrimitiveValue object only occurs in a context of a CSS + * property. + *

Conversions are allowed between absolute values (from millimeters to + * centimeters, from degrees to radians, and so on) but not between relative + * values. (For example, a pixel value cannot be converted to a centimeter + * value.) Percentage values can't be converted since they are relative to + * the parent value (or another property value). There is one exception for + * color percentage values: since a color percentage value is relative to + * the range 0-255, a color percentage value can be converted to a number; + * (see also the RGBColor interface). + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSSPrimitiveValue extends CSSValue { + // UnitTypes + /** + * The value is not a recognized CSS2 value. The value can only be + * obtained by using the cssText attribute. + */ + public static final short CSS_UNKNOWN = 0; + /** + * The value is a simple number. The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_NUMBER = 1; + /** + * The value is a percentage. The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_PERCENTAGE = 2; + /** + * The value is a length (ems). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_EMS = 3; + /** + * The value is a length (exs). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_EXS = 4; + /** + * The value is a length (px). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_PX = 5; + /** + * The value is a length (cm). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_CM = 6; + /** + * The value is a length (mm). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_MM = 7; + /** + * The value is a length (in). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_IN = 8; + /** + * The value is a length (pt). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_PT = 9; + /** + * The value is a length (pc). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_PC = 10; + /** + * The value is an angle (deg). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_DEG = 11; + /** + * The value is an angle (rad). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_RAD = 12; + /** + * The value is an angle (grad). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_GRAD = 13; + /** + * The value is a time (ms). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_MS = 14; + /** + * The value is a time (s). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_S = 15; + /** + * The value is a frequency (Hz). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_HZ = 16; + /** + * The value is a frequency (kHz). The value can be obtained by using the + * getFloatValue method. + */ + public static final short CSS_KHZ = 17; + /** + * The value is a number with an unknown dimension. The value can be + * obtained by using the getFloatValue method. + */ + public static final short CSS_DIMENSION = 18; + /** + * The value is a STRING. The value can be obtained by using the + * getStringValue method. + */ + public static final short CSS_STRING = 19; + /** + * The value is a URI. The value can be obtained by using the + * getStringValue method. + */ + public static final short CSS_URI = 20; + /** + * The value is an identifier. The value can be obtained by using the + * getStringValue method. + */ + public static final short CSS_IDENT = 21; + /** + * The value is a attribute function. The value can be obtained by using + * the getStringValue method. + */ + public static final short CSS_ATTR = 22; + /** + * The value is a counter or counters function. The value can be obtained + * by using the getCounterValue method. + */ + public static final short CSS_COUNTER = 23; + /** + * The value is a rect function. The value can be obtained by using the + * getRectValue method. + */ + public static final short CSS_RECT = 24; + /** + * The value is a RGB color. The value can be obtained by using the + * getRGBColorValue method. + */ + public static final short CSS_RGBCOLOR = 25; + + /** + * The type of the value as defined by the constants specified above. + */ + public short getPrimitiveType(); + + /** + * A method to set the float value with a specified unit. If the property + * attached with this value can not accept the specified unit or the + * float value, the value will be unchanged and a + * DOMException will be raised. + * @param unitType A unit code as defined above. The unit code can only + * be a float unit type (i.e. CSS_NUMBER, + * CSS_PERCENTAGE, CSS_EMS, + * CSS_EXS, CSS_PX, CSS_CM, + * CSS_MM, CSS_IN, CSS_PT, + * CSS_PC, CSS_DEG, CSS_RAD, + * CSS_GRAD, CSS_MS, CSS_S, + * CSS_HZ, CSS_KHZ, + * CSS_DIMENSION). + * @param floatValue The new float value. + * @exception DOMException + * INVALID_ACCESS_ERR: Raised if the attached property doesn't support + * the float value or the unit type. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setFloatValue(short unitType, + float floatValue) + throws DOMException; + + /** + * This method is used to get a float value in a specified unit. If this + * CSS value doesn't contain a float value or can't be converted into + * the specified unit, a DOMException is raised. + * @param unitType A unit code to get the float value. The unit code can + * only be a float unit type (i.e. CSS_NUMBER, + * CSS_PERCENTAGE, CSS_EMS, + * CSS_EXS, CSS_PX, CSS_CM, + * CSS_MM, CSS_IN, CSS_PT, + * CSS_PC, CSS_DEG, CSS_RAD, + * CSS_GRAD, CSS_MS, CSS_S, + * CSS_HZ, CSS_KHZ, + * CSS_DIMENSION). + * @return The float value in the specified unit. + * @exception DOMException + * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a float + * value or if the float value can't be converted into the specified + * unit. + */ + public float getFloatValue(short unitType) + throws DOMException; + + /** + * A method to set the string value with the specified unit. If the + * property attached to this value can't accept the specified unit or + * the string value, the value will be unchanged and a + * DOMException will be raised. + * @param stringType A string code as defined above. The string code can + * only be a string unit type (i.e. CSS_STRING, + * CSS_URI, CSS_IDENT, and + * CSS_ATTR). + * @param stringValue The new string value. + * @exception DOMException + * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string + * value or if the string value can't be converted into the specified + * unit. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly. + */ + public void setStringValue(short stringType, + String stringValue) + throws DOMException; + + /** + * This method is used to get the string value. If the CSS value doesn't + * contain a string value, a DOMException is raised. Some + * properties (like 'font-family' or 'voice-family') convert a + * whitespace separated list of idents to a string. + * @return The string value in the current unit. The current + * primitiveType can only be a string unit type (i.e. + * CSS_STRING, CSS_URI, + * CSS_IDENT and CSS_ATTR). + * @exception DOMException + * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string + * value. + */ + public String getStringValue() + throws DOMException; + + /** + * This method is used to get the Counter value. If this CSS value + * doesn't contain a counter value, a DOMException is + * raised. Modification to the corresponding style property can be + * achieved using the Counter interface. + * @return The Counter value. + * @exception DOMException + * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a + * Counter value (e.g. this is not CSS_COUNTER). + */ + public Counter getCounterValue() + throws DOMException; + + /** + * This method is used to get the Rect value. If this CSS value doesn't + * contain a rect value, a DOMException is raised. + * Modification to the corresponding style property can be achieved + * using the Rect interface. + * @return The Rect value. + * @exception DOMException + * INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a Rect + * value. (e.g. this is not CSS_RECT). + */ + public Rect getRectValue() + throws DOMException; + + /** + * This method is used to get the RGB color. If this CSS value doesn't + * contain a RGB color value, a DOMException is raised. + * Modification to the corresponding style property can be achieved + * using the RGBColor interface. + * @return the RGB color value. + * @exception DOMException + * INVALID_ACCESS_ERR: Raised if the attached property can't return a + * RGB color value (e.g. this is not CSS_RGBCOLOR). + */ + public RGBColor getRGBColorValue() + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/css/CSSRule.java b/java/external/src/org/w3c/dom/css/CSSRule.java new file mode 100644 index 0000000..8626f80 --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSSRule.java @@ -0,0 +1,93 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The CSSRule interface is the abstract base interface for any + * type of CSS statement. This includes both rule sets and at-rules. An + * implementation is expected to preserve all rules specified in a CSS style + * sheet, even if the rule is not recognized by the parser. Unrecognized + * rules are represented using the CSSUnknownRule interface. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSSRule { + // RuleType + /** + * The rule is a CSSUnknownRule. + */ + public static final short UNKNOWN_RULE = 0; + /** + * The rule is a CSSStyleRule. + */ + public static final short STYLE_RULE = 1; + /** + * The rule is a CSSCharsetRule. + */ + public static final short CHARSET_RULE = 2; + /** + * The rule is a CSSImportRule. + */ + public static final short IMPORT_RULE = 3; + /** + * The rule is a CSSMediaRule. + */ + public static final short MEDIA_RULE = 4; + /** + * The rule is a CSSFontFaceRule. + */ + public static final short FONT_FACE_RULE = 5; + /** + * The rule is a CSSPageRule. + */ + public static final short PAGE_RULE = 6; + + /** + * The type of the rule, as defined above. The expectation is that + * binding-specific casting methods can be used to cast down from an + * instance of the CSSRule interface to the specific + * derived interface implied by the type. + */ + public short getType(); + + /** + * The parsable textual representation of the rule. This reflects the + * current state of the rule and not its initial value. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified CSS string value has a syntax + * error and is unparsable. + *
INVALID_MODIFICATION_ERR: Raised if the specified CSS string + * value represents a different type of rule than the current one. + *
HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at + * this point in the style sheet. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if the rule is readonly. + */ + public String getCssText(); + public void setCssText(String cssText) + throws DOMException; + + /** + * The style sheet that contains this rule. + */ + public CSSStyleSheet getParentStyleSheet(); + + /** + * If this rule is contained inside another rule (e.g. a style rule + * inside an @media block), this is the containing rule. If this rule is + * not nested inside any other rules, this returns null. + */ + public CSSRule getParentRule(); + +} diff --git a/java/external/src/org/w3c/dom/css/CSSRuleList.java b/java/external/src/org/w3c/dom/css/CSSRuleList.java new file mode 100644 index 0000000..ba40520 --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSSRuleList.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * The CSSRuleList interface provides the abstraction of an + * ordered collection of CSS rules. + *

The items in the CSSRuleList are accessible via an + * integral index, starting from 0. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSSRuleList { + /** + * The number of CSSRules in the list. The range of valid + * child rule indices is 0 to length-1 + * inclusive. + */ + public int getLength(); + + /** + * Used to retrieve a CSS rule by ordinal index. The order in this + * collection represents the order of the rules in the CSS style sheet. + * If index is greater than or equal to the number of rules in the list, + * this returns null. + * @param indexIndex into the collection + * @return The style rule at the index position in the + * CSSRuleList, or null if that is not a + * valid index. + */ + public CSSRule item(int index); + +} diff --git a/java/external/src/org/w3c/dom/css/CSSStyleDeclaration.java b/java/external/src/org/w3c/dom/css/CSSStyleDeclaration.java new file mode 100644 index 0000000..d017fbd --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSSStyleDeclaration.java @@ -0,0 +1,152 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The CSSStyleDeclaration interface represents a single CSS + * declaration block. This interface may be used to determine the style + * properties currently set in a block or to set style properties explicitly + * within the block. + *

While an implementation may not recognize all CSS properties within a + * CSS declaration block, it is expected to provide access to all specified + * properties in the style sheet through the CSSStyleDeclaration + * interface. Furthermore, implementations that support a specific level of + * CSS should correctly handle CSS shorthand properties for that level. For + * a further discussion of shorthand properties, see the + * CSS2Properties interface. + *

This interface is also used to provide a read-only access to the + * computed values of an element. See also the ViewCSS + * interface. The CSS Object Model doesn't provide an access to the + * specified or actual values of the CSS cascade. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSSStyleDeclaration { + /** + * The parsable textual representation of the declaration block + * (excluding the surrounding curly braces). Setting this attribute will + * result in the parsing of the new value and resetting of all the + * properties in the declaration block including the removal or addition + * of properties. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified CSS string value has a syntax + * error and is unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is + * readonly or a property is readonly. + */ + public String getCssText(); + public void setCssText(String cssText) + throws DOMException; + + /** + * Used to retrieve the value of a CSS property if it has been explicitly + * set within this declaration block. + * @param propertyName The name of the CSS property. See the CSS property + * index. + * @return Returns the value of the property if it has been explicitly + * set for this declaration block. Returns the empty string if the + * property has not been set. + */ + public String getPropertyValue(String propertyName); + + /** + * Used to retrieve the object representation of the value of a CSS + * property if it has been explicitly set within this declaration block. + * This method returns null if the property is a shorthand + * property. Shorthand property values can only be accessed and modified + * as strings, using the getPropertyValue and + * setProperty methods. + * @param propertyName The name of the CSS property. See the CSS property + * index. + * @return Returns the value of the property if it has been explicitly + * set for this declaration block. Returns null if the + * property has not been set. + */ + public CSSValue getPropertyCSSValue(String propertyName); + + /** + * Used to remove a CSS property if it has been explicitly set within + * this declaration block. + * @param propertyName The name of the CSS property. See the CSS property + * index. + * @return Returns the value of the property if it has been explicitly + * set for this declaration block. Returns the empty string if the + * property has not been set or the property name does not correspond + * to a known CSS property. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is readonly + * or the property is readonly. + */ + public String removeProperty(String propertyName) + throws DOMException; + + /** + * Used to retrieve the priority of a CSS property (e.g. the + * "important" qualifier) if the property has been + * explicitly set in this declaration block. + * @param propertyName The name of the CSS property. See the CSS property + * index. + * @return A string representing the priority (e.g. + * "important") if one exists. The empty string if none + * exists. + */ + public String getPropertyPriority(String propertyName); + + /** + * Used to set a property value and priority within this declaration + * block. + * @param propertyName The name of the CSS property. See the CSS property + * index. + * @param value The new value of the property. + * @param priority The new priority of the property (e.g. + * "important"). + * @exception DOMException + * SYNTAX_ERR: Raised if the specified value has a syntax error and is + * unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is + * readonly or the property is readonly. + */ + public void setProperty(String propertyName, + String value, + String priority) + throws DOMException; + + /** + * The number of properties that have been explicitly set in this + * declaration block. The range of valid indices is 0 to length-1 + * inclusive. + */ + public int getLength(); + + /** + * Used to retrieve the properties that have been explicitly set in this + * declaration block. The order of the properties retrieved using this + * method does not have to be the order in which they were set. This + * method can be used to iterate over all properties in this declaration + * block. + * @param index Index of the property name to retrieve. + * @return The name of the property at this ordinal position. The empty + * string if no property exists at this position. + */ + public String item(int index); + + /** + * The CSS rule that contains this declaration block or null + * if this CSSStyleDeclaration is not attached to a + * CSSRule. + */ + public CSSRule getParentRule(); + +} diff --git a/java/external/src/org/w3c/dom/css/CSSStyleRule.java b/java/external/src/org/w3c/dom/css/CSSStyleRule.java new file mode 100644 index 0000000..45a647b --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSSStyleRule.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The CSSStyleRule interface represents a single rule set in a + * CSS style sheet. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSSStyleRule extends CSSRule { + /** + * The textual representation of the selector for the rule set. The + * implementation may have stripped out insignificant whitespace while + * parsing the selector. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified CSS string value has a syntax + * error and is unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is readonly. + */ + public String getSelectorText(); + public void setSelectorText(String selectorText) + throws DOMException; + + /** + * The declaration-block of this rule set. + */ + public CSSStyleDeclaration getStyle(); + +} diff --git a/java/external/src/org/w3c/dom/css/CSSStyleSheet.java b/java/external/src/org/w3c/dom/css/CSSStyleSheet.java new file mode 100644 index 0000000..cdfd74d --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSSStyleSheet.java @@ -0,0 +1,85 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; +import org.w3c.dom.stylesheets.StyleSheet; + +/** + * The CSSStyleSheet interface is a concrete interface used to + * represent a CSS style sheet i.e., a style sheet whose content type is + * "text/css". + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSSStyleSheet extends StyleSheet { + /** + * If this style sheet comes from an @import rule, the + * ownerRule attribute will contain the + * CSSImportRule. In that case, the ownerNode + * attribute in the StyleSheet interface will be + * null. If the style sheet comes from an element or a + * processing instruction, the ownerRule attribute will be + * null and the ownerNode attribute will + * contain the Node. + */ + public CSSRule getOwnerRule(); + + /** + * The list of all CSS rules contained within the style sheet. This + * includes both rule sets and at-rules. + */ + public CSSRuleList getCssRules(); + + /** + * Used to insert a new rule into the style sheet. The new rule now + * becomes part of the cascade. + * @param rule The parsable text representing the rule. For rule sets + * this contains both the selector and the style declaration. For + * at-rules, this specifies both the at-identifier and the rule + * content. + * @param index The index within the style sheet's rule list of the rule + * before which to insert the specified rule. If the specified index + * is equal to the length of the style sheet's rule collection, the + * rule will be added to the end of the style sheet. + * @return The index within the style sheet's rule collection of the + * newly inserted rule. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at the + * specified index e.g. if an @import rule is inserted + * after a standard rule set or other at-rule. + *
INDEX_SIZE_ERR: Raised if the specified index is not a valid + * insertion point. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is + * readonly. + *
SYNTAX_ERR: Raised if the specified rule has a syntax error and + * is unparsable. + */ + public int insertRule(String rule, + int index) + throws DOMException; + + /** + * Used to delete a rule from the style sheet. + * @param index The index within the style sheet's rule list of the rule + * to remove. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if the specified index does not correspond to + * a rule in the style sheet's rule list. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is + * readonly. + */ + public void deleteRule(int index) + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/css/CSSUnknownRule.java b/java/external/src/org/w3c/dom/css/CSSUnknownRule.java new file mode 100644 index 0000000..763d5f1 --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSSUnknownRule.java @@ -0,0 +1,22 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * The CSSUnknownRule interface represents an at-rule not + * supported by this user agent. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSSUnknownRule extends CSSRule { +} diff --git a/java/external/src/org/w3c/dom/css/CSSValue.java b/java/external/src/org/w3c/dom/css/CSSValue.java new file mode 100644 index 0000000..c409290 --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSSValue.java @@ -0,0 +1,68 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMException; + +/** + * The CSSValue interface represents a simple or a complex + * value. A CSSValue object only occurs in a context of a CSS + * property. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSSValue { + // UnitTypes + /** + * The value is inherited and the cssText contains "inherit". + */ + public static final short CSS_INHERIT = 0; + /** + * The value is a primitive value and an instance of the + * CSSPrimitiveValue interface can be obtained by using + * binding-specific casting methods on this instance of the + * CSSValue interface. + */ + public static final short CSS_PRIMITIVE_VALUE = 1; + /** + * The value is a CSSValue list and an instance of the + * CSSValueList interface can be obtained by using + * binding-specific casting methods on this instance of the + * CSSValue interface. + */ + public static final short CSS_VALUE_LIST = 2; + /** + * The value is a custom value. + */ + public static final short CSS_CUSTOM = 3; + + /** + * A string representation of the current value. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified CSS string value has a syntax + * error (according to the attached property) or is unparsable. + *
INVALID_MODIFICATION_ERR: Raised if the specified CSS string + * value represents a different type of values than the values allowed + * by the CSS property. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this value is readonly. + */ + public String getCssText(); + public void setCssText(String cssText) + throws DOMException; + + /** + * A code defining the type of the value as defined above. + */ + public short getCssValueType(); + +} diff --git a/java/external/src/org/w3c/dom/css/CSSValueList.java b/java/external/src/org/w3c/dom/css/CSSValueList.java new file mode 100644 index 0000000..b159165 --- /dev/null +++ b/java/external/src/org/w3c/dom/css/CSSValueList.java @@ -0,0 +1,46 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * The CSSValueList interface provides the abstraction of an + * ordered collection of CSS values. + *

Some properties allow an empty list into their syntax. In that case, + * these properties take the none identifier. So, an empty list + * means that the property has the value none. + *

The items in the CSSValueList are accessible via an + * integral index, starting from 0. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface CSSValueList extends CSSValue { + /** + * The number of CSSValues in the list. The range of valid + * values of the indices is 0 to length-1 + * inclusive. + */ + public int getLength(); + + /** + * Used to retrieve a CSSValue by ordinal index. The order in + * this collection represents the order of the values in the CSS style + * property. If index is greater than or equal to the number of values + * in the list, this returns null. + * @param indexIndex into the collection. + * @return The CSSValue at the index position + * in the CSSValueList, or null if that is + * not a valid index. + */ + public CSSValue item(int index); + +} diff --git a/java/external/src/org/w3c/dom/css/Counter.java b/java/external/src/org/w3c/dom/css/Counter.java new file mode 100644 index 0000000..8cd4967 --- /dev/null +++ b/java/external/src/org/w3c/dom/css/Counter.java @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * The Counter interface is used to represent any counter or + * counters function value. This interface reflects the values in the + * underlying style property. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface Counter { + /** + * This attribute is used for the identifier of the counter. + */ + public String getIdentifier(); + + /** + * This attribute is used for the style of the list. + */ + public String getListStyle(); + + /** + * This attribute is used for the separator of the nested counters. + */ + public String getSeparator(); + +} diff --git a/java/external/src/org/w3c/dom/css/DOMImplementationCSS.java b/java/external/src/org/w3c/dom/css/DOMImplementationCSS.java new file mode 100644 index 0000000..66755de --- /dev/null +++ b/java/external/src/org/w3c/dom/css/DOMImplementationCSS.java @@ -0,0 +1,40 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.DOMImplementation; +import org.w3c.dom.DOMException; + +/** + * This interface allows the DOM user to create a CSSStyleSheet + * outside the context of a document. There is no way to associate the new + * CSSStyleSheet with a document in DOM Level 2. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface DOMImplementationCSS extends DOMImplementation { + /** + * Creates a new CSSStyleSheet. + * @param title The advisory title. See also the section. + * @param media The comma-separated list of media associated with the new + * style sheet. See also the section. + * @return A new CSS style sheet. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified media string value has a syntax + * error and is unparsable. + */ + public CSSStyleSheet createCSSStyleSheet(String title, + String media) + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/css/DocumentCSS.java b/java/external/src/org/w3c/dom/css/DocumentCSS.java new file mode 100644 index 0000000..bb1b854 --- /dev/null +++ b/java/external/src/org/w3c/dom/css/DocumentCSS.java @@ -0,0 +1,50 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.stylesheets.DocumentStyle; +import org.w3c.dom.Element; + +/** + * This interface represents a document with a CSS view. + *

The getOverrideStyle method provides a mechanism through + * which a DOM author could effect immediate change to the style of an + * element without modifying the explicitly linked style sheets of a + * document or the inline style of elements in the style sheets. This style + * sheet comes after the author style sheet in the cascade algorithm and is + * called override style sheet. The override style sheet takes precedence + * over author style sheets. An "!important" declaration still takes + * precedence over a normal declaration. Override, author, and user style + * sheets all may contain "!important" declarations. User "!important" rules + * take precedence over both override and author "!important" rules, and + * override "!important" rules take precedence over author "!important" + * rules. + *

The expectation is that an instance of the DocumentCSS + * interface can be obtained by using binding-specific casting methods on an + * instance of the Document interface. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface DocumentCSS extends DocumentStyle { + /** + * This method is used to retrieve the override style declaration for a + * specified element and a specified pseudo-element. + * @param elt The element whose style is to be modified. This parameter + * cannot be null. + * @param pseudoElt The pseudo-element or null if none. + * @return The override style declaration. + */ + public CSSStyleDeclaration getOverrideStyle(Element elt, + String pseudoElt); + +} diff --git a/java/external/src/org/w3c/dom/css/ElementCSSInlineStyle.java b/java/external/src/org/w3c/dom/css/ElementCSSInlineStyle.java new file mode 100644 index 0000000..98b60bf --- /dev/null +++ b/java/external/src/org/w3c/dom/css/ElementCSSInlineStyle.java @@ -0,0 +1,32 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * Inline style information attached to elements is exposed through the + * style attribute. This represents the contents of the STYLE + * attribute for HTML elements (or elements in other schemas or DTDs which + * use the STYLE attribute in the same way). The expectation is that an + * instance of the ElementCSSInlineStyle interface can be obtained by using + * binding-specific casting methods on an instance of the Element interface + * when the element supports inline CSS style informations. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface ElementCSSInlineStyle { + /** + * The style attribute. + */ + public CSSStyleDeclaration getStyle(); + +} diff --git a/java/external/src/org/w3c/dom/css/RGBColor.java b/java/external/src/org/w3c/dom/css/RGBColor.java new file mode 100644 index 0000000..cd5daa5 --- /dev/null +++ b/java/external/src/org/w3c/dom/css/RGBColor.java @@ -0,0 +1,47 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * The RGBColor interface is used to represent any RGB color + * value. This interface reflects the values in the underlying style + * property. Hence, modifications made to the CSSPrimitiveValue + * objects modify the style property. + *

A specified RGB color is not clipped (even if the number is outside the + * range 0-255 or 0%-100%). A computed RGB color is clipped depending on the + * device. + *

Even if a style sheet can only contain an integer for a color value, + * the internal storage of this integer is a float, and this can be used as + * a float in the specified or the computed style. + *

A color percentage value can always be converted to a number and vice + * versa. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface RGBColor { + /** + * This attribute is used for the red value of the RGB color. + */ + public CSSPrimitiveValue getRed(); + + /** + * This attribute is used for the green value of the RGB color. + */ + public CSSPrimitiveValue getGreen(); + + /** + * This attribute is used for the blue value of the RGB color. + */ + public CSSPrimitiveValue getBlue(); + +} diff --git a/java/external/src/org/w3c/dom/css/Rect.java b/java/external/src/org/w3c/dom/css/Rect.java new file mode 100644 index 0000000..f5efb10 --- /dev/null +++ b/java/external/src/org/w3c/dom/css/Rect.java @@ -0,0 +1,44 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +/** + * The Rect interface is used to represent any rect value. This + * interface reflects the values in the underlying style property. Hence, + * modifications made to the CSSPrimitiveValue objects modify + * the style property. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface Rect { + /** + * This attribute is used for the top of the rect. + */ + public CSSPrimitiveValue getTop(); + + /** + * This attribute is used for the right of the rect. + */ + public CSSPrimitiveValue getRight(); + + /** + * This attribute is used for the bottom of the rect. + */ + public CSSPrimitiveValue getBottom(); + + /** + * This attribute is used for the left of the rect. + */ + public CSSPrimitiveValue getLeft(); + +} diff --git a/java/external/src/org/w3c/dom/css/ViewCSS.java b/java/external/src/org/w3c/dom/css/ViewCSS.java new file mode 100644 index 0000000..6c98bd4 --- /dev/null +++ b/java/external/src/org/w3c/dom/css/ViewCSS.java @@ -0,0 +1,43 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.css; + +import org.w3c.dom.views.AbstractView; +import org.w3c.dom.Element; + +/** + * This interface represents a CSS view. The getComputedStyle + * method provides a read only access to the computed values of an element. + *

The expectation is that an instance of the ViewCSS + * interface can be obtained by using binding-specific casting methods on an + * instance of the AbstractView interface. + *

Since a computed style is related to an Element node, if + * this element is removed from the document, the associated + * CSSStyleDeclaration and CSSValue related to + * this declaration are no longer valid. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface ViewCSS extends AbstractView { + /** + * This method is used to get the computed style as it is defined in . + * @param elt The element whose style is to be computed. This parameter + * cannot be null. + * @param pseudoElt The pseudo-element or null if none. + * @return The computed style. The CSSStyleDeclaration is + * read-only and contains only absolute values. + */ + public CSSStyleDeclaration getComputedStyle(Element elt, + String pseudoElt); + +} diff --git a/java/external/src/org/w3c/dom/events/DocumentEvent.java b/java/external/src/org/w3c/dom/events/DocumentEvent.java new file mode 100644 index 0000000..43cd1ac --- /dev/null +++ b/java/external/src/org/w3c/dom/events/DocumentEvent.java @@ -0,0 +1,56 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +import org.w3c.dom.DOMException; + +/** + * The DocumentEvent interface provides a mechanism by which the + * user can create an Event of a type supported by the implementation. It is + * expected that the DocumentEvent interface will be + * implemented on the same object which implements the Document + * interface in an implementation which supports the Event model. + *

See also the Document Object Model (DOM) Level 2 Events Specification. + * @since DOM Level 2 + */ +public interface DocumentEvent { + /** + * + * @param eventTypeThe eventType parameter specifies the + * type of Event interface to be created. If the + * Event interface specified is supported by the + * implementation this method will return a new Event of + * the interface type requested. If the Event is to be + * dispatched via the dispatchEvent method the + * appropriate event init method must be called after creation in + * order to initialize the Event's values. As an example, + * a user wishing to synthesize some kind of UIEvent + * would call createEvent with the parameter "UIEvents". + * The initUIEvent method could then be called on the + * newly created UIEvent to set the specific type of + * UIEvent to be dispatched and set its context information.The + * createEvent method is used in creating + * Events when it is either inconvenient or unnecessary + * for the user to create an Event themselves. In cases + * where the implementation provided Event is + * insufficient, users may supply their own Event + * implementations for use with the dispatchEvent method. + * @return The newly created Event + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if the implementation does not support the + * type of Event interface requested + */ + public Event createEvent(String eventType) + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/events/Event.java b/java/external/src/org/w3c/dom/events/Event.java new file mode 100644 index 0000000..f2baad6 --- /dev/null +++ b/java/external/src/org/w3c/dom/events/Event.java @@ -0,0 +1,141 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +/** + * The Event interface is used to provide contextual information + * about an event to the handler processing the event. An object which + * implements the Event interface is generally passed as the + * first parameter to an event handler. More specific context information is + * passed to event handlers by deriving additional interfaces from + * Event which contain information directly relating to the + * type of event they accompany. These derived interfaces are also + * implemented by the object passed to the event listener. + *

See also the Document Object Model (DOM) Level 2 Events Specification. + * @since DOM Level 2 + */ +public interface Event { + // PhaseType + /** + * The current event phase is the capturing phase. + */ + public static final short CAPTURING_PHASE = 1; + /** + * The event is currently being evaluated at the target + * EventTarget. + */ + public static final short AT_TARGET = 2; + /** + * The current event phase is the bubbling phase. + */ + public static final short BUBBLING_PHASE = 3; + + /** + * The name of the event (case-insensitive). The name must be an XML name. + */ + public String getType(); + + /** + * Used to indicate the EventTarget to which the event was + * originally dispatched. + */ + public EventTarget getTarget(); + + /** + * Used to indicate the EventTarget whose + * EventListeners are currently being processed. This is + * particularly useful during capturing and bubbling. + */ + public EventTarget getCurrentTarget(); + + /** + * Used to indicate which phase of event flow is currently being + * evaluated. + */ + public short getEventPhase(); + + /** + * Used to indicate whether or not an event is a bubbling event. If the + * event can bubble the value is true, else the value is false. + */ + public boolean getBubbles(); + + /** + * Used to indicate whether or not an event can have its default action + * prevented. If the default action can be prevented the value is true, + * else the value is false. + */ + public boolean getCancelable(); + + /** + * Used to specify the time (in milliseconds relative to the epoch) at + * which the event was created. Due to the fact that some systems may + * not provide this information the value of timeStamp may + * be not available for all events. When not available, a value of 0 + * will be returned. Examples of epoch time are the time of the system + * start or 0:0:0 UTC 1st January 1970. + */ + public long getTimeStamp(); + + /** + * The stopPropagation method is used prevent further + * propagation of an event during event flow. If this method is called + * by any EventListener the event will cease propagating + * through the tree. The event will complete dispatch to all listeners + * on the current EventTarget before event flow stops. This + * method may be used during any stage of event flow. + */ + public void stopPropagation(); + + /** + * If an event is cancelable, the preventDefault method is + * used to signify that the event is to be canceled, meaning any default + * action normally taken by the implementation as a result of the event + * will not occur. If, during any stage of event flow, the + * preventDefault method is called the event is canceled. + * Any default action associated with the event will not occur. Calling + * this method for a non-cancelable event has no effect. Once + * preventDefault has been called it will remain in effect + * throughout the remainder of the event's propagation. This method may + * be used during any stage of event flow. + */ + public void preventDefault(); + + /** + * The initEvent method is used to initialize the value of an + * Event created through the DocumentEvent + * interface. This method may only be called before the + * Event has been dispatched via the + * dispatchEvent method, though it may be called multiple + * times during that phase if necessary. If called multiple times the + * final invocation takes precedence. If called from a subclass of + * Event interface only the values specified in the + * initEvent method are modified, all other attributes are + * left unchanged. + * @param eventTypeArgSpecifies the event type. This type may be any + * event type currently defined in this specification or a new event + * type.. The string must be an XML name. Any new event type must not + * begin with any upper, lower, or mixed case version of the string + * "DOM". This prefix is reserved for future DOM event sets. It is + * also strongly recommended that third parties adding their own + * events use their own prefix to avoid confusion and lessen the + * probability of conflicts with other new events. + * @param canBubbleArgSpecifies whether or not the event can bubble. + * @param cancelableArgSpecifies whether or not the event's default + * action can be prevented. + */ + public void initEvent(String eventTypeArg, + boolean canBubbleArg, + boolean cancelableArg); + +} diff --git a/java/external/src/org/w3c/dom/events/EventException.java b/java/external/src/org/w3c/dom/events/EventException.java new file mode 100644 index 0000000..7a6ff26 --- /dev/null +++ b/java/external/src/org/w3c/dom/events/EventException.java @@ -0,0 +1,36 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +/** + * Event operations may throw an EventException as specified in + * their method descriptions. + *

See also the Document Object Model (DOM) Level 2 Events Specification. + * @since DOM Level 2 + */ +public class EventException extends RuntimeException { + public EventException(short code, String message) { + super(message); + this.code = code; + } + public short code; + // EventExceptionCode + /** + * If the Event's type was not specified by initializing the + * event before the method was called. Specification of the Event's type + * as null or an empty string will also trigger this + * exception. + */ + public static final short UNSPECIFIED_EVENT_TYPE_ERR = 0; + +} diff --git a/java/external/src/org/w3c/dom/events/EventListener.java b/java/external/src/org/w3c/dom/events/EventListener.java new file mode 100644 index 0000000..52e60cb --- /dev/null +++ b/java/external/src/org/w3c/dom/events/EventListener.java @@ -0,0 +1,41 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +/** + * The EventListener interface is the primary method for + * handling events. Users implement the EventListener interface + * and register their listener on an EventTarget using the + * AddEventListener method. The users should also remove their + * EventListener from its EventTarget after they + * have completed using the listener. + *

When a Node is copied using the cloneNode + * method the EventListeners attached to the source + * Node are not attached to the copied Node. If + * the user wishes the same EventListeners to be added to the + * newly created copy the user must add them manually. + *

See also the Document Object Model (DOM) Level 2 Events Specification. + * @since DOM Level 2 + */ +public interface EventListener { + /** + * This method is called whenever an event occurs of the type for which + * the EventListener interface was registered. + * @param evt The Event contains contextual information + * about the event. It also contains the stopPropagation + * and preventDefault methods which are used in + * determining the event's flow and default action. + */ + public void handleEvent(Event evt); + +} diff --git a/java/external/src/org/w3c/dom/events/EventTarget.java b/java/external/src/org/w3c/dom/events/EventTarget.java new file mode 100644 index 0000000..65e6286 --- /dev/null +++ b/java/external/src/org/w3c/dom/events/EventTarget.java @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +/** + * The EventTarget interface is implemented by all + * Nodes in an implementation which supports the DOM Event + * Model. Therefore, this interface can be obtained by using + * binding-specific casting methods on an instance of the Node + * interface. The interface allows registration and removal of + * EventListeners on an EventTarget and dispatch + * of events to that EventTarget. + *

See also the Document Object Model (DOM) Level 2 Events Specification. + * @since DOM Level 2 + */ +public interface EventTarget { + /** + * This method allows the registration of event listeners on the event + * target. If an EventListener is added to an + * EventTarget while it is processing an event, it will not + * be triggered by the current actions but may be triggered during a + * later stage of event flow, such as the bubbling phase. + *
If multiple identical EventListeners are registered + * on the same EventTarget with the same parameters the + * duplicate instances are discarded. They do not cause the + * EventListener to be called twice and since they are + * discarded they do not need to be removed with the + * removeEventListener method. + * @param typeThe event type for which the user is registering + * @param listenerThe listener parameter takes an interface + * implemented by the user which contains the methods to be called + * when the event occurs. + * @param useCaptureIf true, useCapture indicates that the + * user wishes to initiate capture. After initiating capture, all + * events of the specified type will be dispatched to the registered + * EventListener before being dispatched to any + * EventTargets beneath them in the tree. Events which + * are bubbling upward through the tree will not trigger an + * EventListener designated to use capture. + */ + public void addEventListener(String type, + EventListener listener, + boolean useCapture); + + /** + * This method allows the removal of event listeners from the event + * target. If an EventListener is removed from an + * EventTarget while it is processing an event, it will not + * be triggered by the current actions. EventListeners can + * never be invoked after being removed. + *
Calling removeEventListener with arguments which do + * not identify any currently registered EventListener on + * the EventTarget has no effect. + * @param typeSpecifies the event type of the EventListener + * being removed. + * @param listenerThe EventListener parameter indicates the + * EventListener to be removed. + * @param useCaptureSpecifies whether the EventListener + * being removed was registered as a capturing listener or not. If a + * listener was registered twice, one with capture and one without, + * each must be removed separately. Removal of a capturing listener + * does not affect a non-capturing version of the same listener, and + * vice versa. + */ + public void removeEventListener(String type, + EventListener listener, + boolean useCapture); + + /** + * This method allows the dispatch of events into the implementations + * event model. Events dispatched in this manner will have the same + * capturing and bubbling behavior as events dispatched directly by the + * implementation. The target of the event is the + * EventTarget on which dispatchEvent is + * called. + * @param evtSpecifies the event type, behavior, and contextual + * information to be used in processing the event. + * @return The return value of dispatchEvent indicates + * whether any of the listeners which handled the event called + * preventDefault. If preventDefault was + * called the value is false, else the value is true. + * @exception EventException + * UNSPECIFIED_EVENT_TYPE_ERR: Raised if the Event's type + * was not specified by initializing the event before + * dispatchEvent was called. Specification of the + * Event's type as null or an empty string + * will also trigger this exception. + */ + public boolean dispatchEvent(Event evt) + throws EventException; + +} diff --git a/java/external/src/org/w3c/dom/events/MouseEvent.java b/java/external/src/org/w3c/dom/events/MouseEvent.java new file mode 100644 index 0000000..8df616e --- /dev/null +++ b/java/external/src/org/w3c/dom/events/MouseEvent.java @@ -0,0 +1,152 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +import org.w3c.dom.views.AbstractView; + +/** + * The MouseEvent interface provides specific contextual + * information associated with Mouse events. + *

The detail attribute inherited from UIEvent + * indicates the number of times a mouse button has been pressed and + * released over the same screen location during a user action. The + * attribute value is 1 when the user begins this action and increments by 1 + * for each full sequence of pressing and releasing. If the user moves the + * mouse between the mousedown and mouseup the value will be set to 0, + * indicating that no click is occurring. + *

In the case of nested elements mouse events are always targeted at the + * most deeply nested element. Ancestors of the targeted element may use + * bubbling to obtain notification of mouse events which occur within its + * descendent elements. + *

See also the Document Object Model (DOM) Level 2 Events Specification. + * @since DOM Level 2 + */ +public interface MouseEvent extends UIEvent { + /** + * The horizontal coordinate at which the event occurred relative to the + * origin of the screen coordinate system. + */ + public int getScreenX(); + + /** + * The vertical coordinate at which the event occurred relative to the + * origin of the screen coordinate system. + */ + public int getScreenY(); + + /** + * The horizontal coordinate at which the event occurred relative to the + * DOM implementation's client area. + */ + public int getClientX(); + + /** + * The vertical coordinate at which the event occurred relative to the DOM + * implementation's client area. + */ + public int getClientY(); + + /** + * Used to indicate whether the 'ctrl' key was depressed during the firing + * of the event. + */ + public boolean getCtrlKey(); + + /** + * Used to indicate whether the 'shift' key was depressed during the + * firing of the event. + */ + public boolean getShiftKey(); + + /** + * Used to indicate whether the 'alt' key was depressed during the firing + * of the event. On some platforms this key may map to an alternative + * key name. + */ + public boolean getAltKey(); + + /** + * Used to indicate whether the 'meta' key was depressed during the firing + * of the event. On some platforms this key may map to an alternative + * key name. + */ + public boolean getMetaKey(); + + /** + * During mouse events caused by the depression or release of a mouse + * button, button is used to indicate which mouse button + * changed state. The values for button range from zero to + * indicate the left button of the mouse, one to indicate the middle + * button if present, and two to indicate the right button. For mice + * configured for left handed use in which the button actions are + * reversed the values are instead read from right to left. + */ + public short getButton(); + + /** + * Used to identify a secondary EventTarget related to a UI + * event. Currently this attribute is used with the mouseover event to + * indicate the EventTarget which the pointing device + * exited and with the mouseout event to indicate the + * EventTarget which the pointing device entered. + */ + public EventTarget getRelatedTarget(); + + /** + * The initMouseEvent method is used to initialize the value + * of a MouseEvent created through the + * DocumentEvent interface. This method may only be called + * before the MouseEvent has been dispatched via the + * dispatchEvent method, though it may be called multiple + * times during that phase if necessary. If called multiple times, the + * final invocation takes precedence. + * @param typeArgSpecifies the event type. + * @param canBubbleArgSpecifies whether or not the event can bubble. + * @param cancelableArgSpecifies whether or not the event's default + * action can be prevented. + * @param viewArgSpecifies the Event's + * AbstractView. + * @param detailArgSpecifies the Event's mouse click count. + * @param screenXArgSpecifies the Event's screen x coordinate + * @param screenYArgSpecifies the Event's screen y coordinate + * @param clientXArgSpecifies the Event's client x coordinate + * @param clientYArgSpecifies the Event's client y coordinate + * @param ctrlKeyArgSpecifies whether or not control key was depressed + * during the Event. + * @param altKeyArgSpecifies whether or not alt key was depressed during + * the Event. + * @param shiftKeyArgSpecifies whether or not shift key was depressed + * during the Event. + * @param metaKeyArgSpecifies whether or not meta key was depressed + * during the Event. + * @param buttonArgSpecifies the Event's mouse button. + * @param relatedTargetArgSpecifies the Event's related + * EventTarget. + */ + public void initMouseEvent(String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + AbstractView viewArg, + int detailArg, + int screenXArg, + int screenYArg, + int clientXArg, + int clientYArg, + boolean ctrlKeyArg, + boolean altKeyArg, + boolean shiftKeyArg, + boolean metaKeyArg, + short buttonArg, + EventTarget relatedTargetArg); + +} diff --git a/java/external/src/org/w3c/dom/events/MutationEvent.java b/java/external/src/org/w3c/dom/events/MutationEvent.java new file mode 100644 index 0000000..8b80aac --- /dev/null +++ b/java/external/src/org/w3c/dom/events/MutationEvent.java @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +import org.w3c.dom.Node; + +/** + * The MutationEvent interface provides specific contextual + * information associated with Mutation events. + *

See also the Document Object Model (DOM) Level 2 Events Specification. + * @since DOM Level 2 + */ +public interface MutationEvent extends Event { + // attrChangeType + /** + * The Attr was modified in place. + */ + public static final short MODIFICATION = 1; + /** + * The Attr was just added. + */ + public static final short ADDITION = 2; + /** + * The Attr was just removed. + */ + public static final short REMOVAL = 3; + + /** + * relatedNode is used to identify a secondary node related + * to a mutation event. For example, if a mutation event is dispatched + * to a node indicating that its parent has changed, the + * relatedNode is the changed parent. If an event is + * instead dispatched to a subtree indicating a node was changed within + * it, the relatedNode is the changed node. In the case of + * the DOMAttrModified event it indicates the Attr node + * which was modified, added, or removed. + */ + public Node getRelatedNode(); + + /** + * prevValue indicates the previous value of the + * Attr node in DOMAttrModified events, and of the + * CharacterData node in DOMCharDataModified events. + */ + public String getPrevValue(); + + /** + * newValue indicates the new value of the Attr + * node in DOMAttrModified events, and of the CharacterData + * node in DOMCharDataModified events. + */ + public String getNewValue(); + + /** + * attrName indicates the name of the changed + * Attr node in a DOMAttrModified event. + */ + public String getAttrName(); + + /** + * attrChange indicates the type of change which triggered + * the DOMAttrModified event. The values can be MODIFICATION + * , ADDITION, or REMOVAL. + */ + public short getAttrChange(); + + /** + * The initMutationEvent method is used to initialize the + * value of a MutationEvent created through the + * DocumentEvent interface. This method may only be called + * before the MutationEvent has been dispatched via the + * dispatchEvent method, though it may be called multiple + * times during that phase if necessary. If called multiple times, the + * final invocation takes precedence. + * @param typeArgSpecifies the event type. + * @param canBubbleArgSpecifies whether or not the event can bubble. + * @param cancelableArgSpecifies whether or not the event's default + * action can be prevented. + * @param relatedNodeArgSpecifies the Event's related Node. + * @param prevValueArgSpecifies the Event's + * prevValue attribute. This value may be null. + * @param newValueArgSpecifies the Event's + * newValue attribute. This value may be null. + * @param attrNameArgSpecifies the Event's + * attrName attribute. This value may be null. + * @param attrChangeArgSpecifies the Event's + * attrChange attribute + */ + public void initMutationEvent(String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + Node relatedNodeArg, + String prevValueArg, + String newValueArg, + String attrNameArg, + short attrChangeArg); + +} diff --git a/java/external/src/org/w3c/dom/events/UIEvent.java b/java/external/src/org/w3c/dom/events/UIEvent.java new file mode 100644 index 0000000..27d17b6 --- /dev/null +++ b/java/external/src/org/w3c/dom/events/UIEvent.java @@ -0,0 +1,58 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.events; + +import org.w3c.dom.views.AbstractView; + +/** + * The UIEvent interface provides specific contextual information + * associated with User Interface events. + *

See also the Document Object Model (DOM) Level 2 Events Specification. + * @since DOM Level 2 + */ +public interface UIEvent extends Event { + /** + * The view attribute identifies the AbstractView + * from which the event was generated. + */ + public AbstractView getView(); + + /** + * Specifies some detail information about the Event, + * depending on the type of event. + */ + public int getDetail(); + + /** + * The initUIEvent method is used to initialize the value of + * a UIEvent created through the DocumentEvent + * interface. This method may only be called before the + * UIEvent has been dispatched via the + * dispatchEvent method, though it may be called multiple + * times during that phase if necessary. If called multiple times, the + * final invocation takes precedence. + * @param typeArgSpecifies the event type. + * @param canBubbleArgSpecifies whether or not the event can bubble. + * @param cancelableArgSpecifies whether or not the event's default + * action can be prevented. + * @param viewArgSpecifies the Event's + * AbstractView. + * @param detailArgSpecifies the Event's detail. + */ + public void initUIEvent(String typeArg, + boolean canBubbleArg, + boolean cancelableArg, + AbstractView viewArg, + int detailArg); + +} diff --git a/java/external/src/org/w3c/dom/ranges/DocumentRange.java b/java/external/src/org/w3c/dom/ranges/DocumentRange.java new file mode 100644 index 0000000..6b52267 --- /dev/null +++ b/java/external/src/org/w3c/dom/ranges/DocumentRange.java @@ -0,0 +1,33 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.ranges; + +/** + *

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification. + * @since DOM Level 2 + */ +public interface DocumentRange { + /** + * This interface can be obtained from the object implementing the + * Document interface using binding-specific casting + * methods. + * @return The initial state of the Range returned from this method is + * such that both of its boundary-points are positioned at the + * beginning of the corresponding Document, before any content. The + * Range returned can only be used to select content associated with + * this Document, or with DocumentFragments and Attrs for which this + * Document is the ownerDocument. + */ + public Range createRange(); + +} diff --git a/java/external/src/org/w3c/dom/ranges/Range.java b/java/external/src/org/w3c/dom/ranges/Range.java new file mode 100644 index 0000000..7743abe --- /dev/null +++ b/java/external/src/org/w3c/dom/ranges/Range.java @@ -0,0 +1,399 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.ranges; + +import org.w3c.dom.Node; +import org.w3c.dom.DocumentFragment; +import org.w3c.dom.DOMException; + +/** + *

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification. + * @since DOM Level 2 + */ +public interface Range { + /** + * Node within which the Range begins + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public Node getStartContainer() + throws DOMException; + + /** + * Offset within the starting node of the Range. + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public int getStartOffset() + throws DOMException; + + /** + * Node within which the Range ends + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public Node getEndContainer() + throws DOMException; + + /** + * Offset within the ending node of the Range. + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public int getEndOffset() + throws DOMException; + + /** + * TRUE if the Range is collapsed + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public boolean getCollapsed() + throws DOMException; + + /** + * The deepest common ancestor container of the Range's two + * boundary-points. + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public Node getCommonAncestorContainer() + throws DOMException; + + /** + * Sets the attributes describing the start of the Range. + * @param refNodeThe refNode value. This parameter must be + * different from null. + * @param offsetThe startOffset value. + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor + * of refNode is an Entity, Notation, or DocumentType + * node. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if offset is negative or greater + * than the number of child units in refNode. Child units + * are 16-bit units if refNode is a type of CharacterData + * node (e.g., a Text or Comment node) or a ProcessingInstruction + * node. Child units are Nodes in all other cases. + *
INVALID_STATE_ERR: Raised if detach() has already + * been invoked on this object. + */ + public void setStart(Node refNode, + int offset) + throws RangeException, DOMException; + + /** + * Sets the attributes describing the end of a Range. + * @param refNodeThe refNode value. This parameter must be + * different from null. + * @param offsetThe endOffset value. + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor + * of refNode is an Entity, Notation, or DocumentType + * node. + * @exception DOMException + * INDEX_SIZE_ERR: Raised if offset is negative or greater + * than the number of child units in refNode. Child units + * are 16-bit units if refNode is a type of CharacterData + * node (e.g., a Text or Comment node) or a ProcessingInstruction + * node. Child units are Nodes in all other cases. + *
INVALID_STATE_ERR: Raised if detach() has already + * been invoked on this object. + */ + public void setEnd(Node refNode, + int offset) + throws RangeException, DOMException; + + /** + * Sets the start position to be before a node + * @param refNodeRange starts before refNode + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if the root container of + * refNode is not an Attr, Document, or DocumentFragment + * node or if refNode is a Document, DocumentFragment, + * Attr, Entity, or Notation node. + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public void setStartBefore(Node refNode) + throws RangeException, DOMException; + + /** + * Sets the start position to be after a node + * @param refNodeRange starts after refNode + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if the root container of + * refNode is not an Attr, Document, or DocumentFragment + * node or if refNode is a Document, DocumentFragment, + * Attr, Entity, or Notation node. + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public void setStartAfter(Node refNode) + throws RangeException, DOMException; + + /** + * Sets the end position to be before a node. + * @param refNodeRange ends before refNode + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if the root container of + * refNode is not an Attr, Document, or DocumentFragment + * node or if refNode is a Document, DocumentFragment, + * Attr, Entity, or Notation node. + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public void setEndBefore(Node refNode) + throws RangeException, DOMException; + + /** + * Sets the end of a Range to be after a node + * @param refNodeRange ends after refNode. + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if the root container of + * refNode is not an Attr, Document or DocumentFragment + * node or if refNode is a Document, DocumentFragment, + * Attr, Entity, or Notation node. + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public void setEndAfter(Node refNode) + throws RangeException, DOMException; + + /** + * Collapse a Range onto one of its boundary-points + * @param toStartIf TRUE, collapses the Range onto its start; if FALSE, + * collapses it onto its end. + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public void collapse(boolean toStart) + throws DOMException; + + /** + * Select a node and its contents + * @param refNodeThe node to select. + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if an ancestor of refNode + * is an Entity, Notation or DocumentType node or if + * refNode is a Document, DocumentFragment, Attr, Entity, + * or Notation node. + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public void selectNode(Node refNode) + throws RangeException, DOMException; + + /** + * Select the contents within a node + * @param refNodeNode to select from + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor + * of refNode is an Entity, Notation or DocumentType node. + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public void selectNodeContents(Node refNode) + throws RangeException, DOMException; + + // CompareHow + /** + * Compare start boundary-point of sourceRange to start + * boundary-point of Range on which compareBoundaryPoints + * is invoked. + */ + public static final short START_TO_START = 0; + /** + * Compare start boundary-point of sourceRange to end + * boundary-point of Range on which compareBoundaryPoints + * is invoked. + */ + public static final short START_TO_END = 1; + /** + * Compare end boundary-point of sourceRange to end + * boundary-point of Range on which compareBoundaryPoints + * is invoked. + */ + public static final short END_TO_END = 2; + /** + * Compare end boundary-point of sourceRange to start + * boundary-point of Range on which compareBoundaryPoints + * is invoked. + */ + public static final short END_TO_START = 3; + + /** + * Compare the boundary-points of two Ranges in a document. + * @param howA code representing the type of comparison, as defined above. + * @param sourceRangeThe Range on which this current + * Range is compared to. + * @return -1, 0 or 1 depending on whether the corresponding + * boundary-point of the Range is respectively before, equal to, or + * after the corresponding boundary-point of sourceRange. + * @exception DOMException + * WRONG_DOCUMENT_ERR: Raised if the two Ranges are not in the same + * Document or DocumentFragment. + *
INVALID_STATE_ERR: Raised if detach() has already + * been invoked on this object. + */ + public short compareBoundaryPoints(short how, + Range sourceRange) + throws DOMException; + + /** + * Removes the contents of a Range from the containing document or + * document fragment without returning a reference to the removed + * content. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of + * the Range is read-only or any of the nodes that contain any of the + * content of the Range are read-only. + *
INVALID_STATE_ERR: Raised if detach() has already + * been invoked on this object. + */ + public void deleteContents() + throws DOMException; + + /** + * Moves the contents of a Range from the containing document or document + * fragment to a new DocumentFragment. + * @return A DocumentFragment containing the extracted contents. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of + * the Range is read-only or any of the nodes which contain any of the + * content of the Range are read-only. + *
HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be + * extracted into the new DocumentFragment. + *
INVALID_STATE_ERR: Raised if detach() has already + * been invoked on this object. + */ + public DocumentFragment extractContents() + throws DOMException; + + /** + * Duplicates the contents of a Range + * @return A DocumentFragment that contains content equivalent to this + * Range. + * @exception DOMException + * HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be + * extracted into the new DocumentFragment. + *
INVALID_STATE_ERR: Raised if detach() has already + * been invoked on this object. + */ + public DocumentFragment cloneContents() + throws DOMException; + + /** + * Inserts a node into the Document or DocumentFragment at the start of + * the Range. If the container is a Text node, this will be split at the + * start of the Range (as if the Text node's splitText method was + * performed at the insertion point) and the insertion will occur + * between the two resulting Text nodes. Adjacent Text nodes will not be + * automatically merged. If the node to be inserted is a + * DocumentFragment node, the children will be inserted rather than the + * DocumentFragment node itself. + * @param newNodeThe node to insert at the start of the Range + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of the + * start of the Range is read-only. + *
WRONG_DOCUMENT_ERR: Raised if newNode and the + * container of the start of the Range were not created from the same + * document. + *
HIERARCHY_REQUEST_ERR: Raised if the container of the start of + * the Range is of a type that does not allow children of the type of + * newNode or if newNode is an ancestor of + * the container. + *
INVALID_STATE_ERR: Raised if detach() has already + * been invoked on this object. + * @exception RangeException + * INVALID_NODE_TYPE_ERR: Raised if newNode is an Attr, + * Entity, Notation, or Document node. + */ + public void insertNode(Node newNode) + throws DOMException, RangeException; + + /** + * Reparents the contents of the Range to the given node and inserts the + * node at the position of the start of the Range. + * @param newParentThe node to surround the contents with. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of + * either boundary-point of the Range is read-only. + *
WRONG_DOCUMENT_ERR: Raised if newParent and the + * container of the start of the Range were not created from the same + * document. + *
HIERARCHY_REQUEST_ERR: Raised if the container of the start of + * the Range is of a type that does not allow children of the type of + * newParent or if newParent is an ancestor + * of the container or if node would end up with a child + * node of a type not allowed by the type of node. + *
INVALID_STATE_ERR: Raised if detach() has already + * been invoked on this object. + * @exception RangeException + * BAD_BOUNDARYPOINTS_ERR: Raised if the Range partially selects a + * non-text node. + *
INVALID_NODE_TYPE_ERR: Raised if node is an Attr, + * Entity, DocumentType, Notation, Document, or DocumentFragment node. + */ + public void surroundContents(Node newParent) + throws DOMException, RangeException; + + /** + * Produces a new Range whose boundary-points are equal to the + * boundary-points of the Range. + * @return The duplicated Range. + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public Range cloneRange() + throws DOMException; + + /** + * Returns the contents of a Range as a string. This string contains only + * the data characters, not any markup. + * @return The contents of the Range. + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public String toString() + throws DOMException; + + /** + * Called to indicate that the Range is no longer in use and that the + * implementation may relinquish any resources associated with this + * Range. Subsequent calls to any methods or attribute getters on this + * Range will result in a DOMException being thrown with an + * error code of INVALID_STATE_ERR. + * @exception DOMException + * INVALID_STATE_ERR: Raised if detach() has already been + * invoked on this object. + */ + public void detach() + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/ranges/RangeException.java b/java/external/src/org/w3c/dom/ranges/RangeException.java new file mode 100644 index 0000000..551008e --- /dev/null +++ b/java/external/src/org/w3c/dom/ranges/RangeException.java @@ -0,0 +1,39 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.ranges; + +/** + * Range operations may throw a RangeException as specified in + * their method descriptions. + *

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification. + * @since DOM Level 2 + */ +public class RangeException extends RuntimeException { + public RangeException(short code, String message) { + super(message); + this.code = code; + } + public short code; + // RangeExceptionCode + /** + * If the boundary-points of a Range do not meet specific requirements. + */ + public static final short BAD_BOUNDARYPOINTS_ERR = 1; + /** + * If the container of an boundary-point of a Range is being set to either + * a node of an invalid type or a node with an ancestor of an invalid + * type. + */ + public static final short INVALID_NODE_TYPE_ERR = 2; + +} diff --git a/java/external/src/org/w3c/dom/stylesheets/DocumentStyle.java b/java/external/src/org/w3c/dom/stylesheets/DocumentStyle.java new file mode 100644 index 0000000..2270505 --- /dev/null +++ b/java/external/src/org/w3c/dom/stylesheets/DocumentStyle.java @@ -0,0 +1,34 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.stylesheets; + +/** + * The DocumentStyle interface provides a mechanism by which the + * style sheets embedded in a document can be retrieved. The expectation is + * that an instance of the DocumentStyle interface can be + * obtained by using binding-specific casting methods on an instance of the + * Document interface. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface DocumentStyle { + /** + * A list containing all the style sheets explicitly linked into or + * embedded in a document. For HTML documents, this includes external + * style sheets, included via the HTML LINK element, and inline STYLE + * elements. In XML, this includes external style sheets, included via + * style sheet processing instructions (see ). + */ + public StyleSheetList getStyleSheets(); + +} diff --git a/java/external/src/org/w3c/dom/stylesheets/LinkStyle.java b/java/external/src/org/w3c/dom/stylesheets/LinkStyle.java new file mode 100644 index 0000000..481bd19 --- /dev/null +++ b/java/external/src/org/w3c/dom/stylesheets/LinkStyle.java @@ -0,0 +1,31 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.stylesheets; + +/** + * The LinkStyle interface provides a mechanism by which a style + * sheet can be retrieved from the node responsible for linking it into a + * document. An instance of the LinkStyle interface can be + * obtained using binding-specific casting methods on an instance of a + * linking node (HTMLLinkElement, HTMLStyleElement + * or ProcessingInstruction in DOM Level 2). + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface LinkStyle { + /** + * The style sheet. + */ + public StyleSheet getSheet(); + +} diff --git a/java/external/src/org/w3c/dom/stylesheets/MediaList.java b/java/external/src/org/w3c/dom/stylesheets/MediaList.java new file mode 100644 index 0000000..92c4660 --- /dev/null +++ b/java/external/src/org/w3c/dom/stylesheets/MediaList.java @@ -0,0 +1,81 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.stylesheets; + +import org.w3c.dom.DOMException; + +/** + * The MediaList interface provides the abstraction of an + * ordered collection of media, without defining or constraining how this + * collection is implemented. An empty list is the same as a list that + * contains the medium "all". + *

The items in the MediaList are accessible via an integral + * index, starting from 0. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface MediaList { + /** + * The parsable textual representation of the media list. This is a + * comma-separated list of media. + * @exception DOMException + * SYNTAX_ERR: Raised if the specified string value has a syntax error + * and is unparsable. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this media list is + * readonly. + */ + public String getMediaText(); + public void setMediaText(String mediaText) + throws DOMException; + + /** + * The number of media in the list. The range of valid media is + * 0 to length-1 inclusive. + */ + public int getLength(); + + /** + * Returns the indexth in the list. If index is + * greater than or equal to the number of media in the list, this + * returns null. + * @param index Index into the collection. + * @return The medium at the indexth position in the + * MediaList, or null if that is not a valid + * index. + */ + public String item(int index); + + /** + * Deletes the medium indicated by oldMedium from the list. + * @param oldMediumThe medium to delete in the media list. + * @exception DOMException + * NO_MODIFICATION_ALLOWED_ERR: Raised if this list is readonly. + *
NOT_FOUND_ERR: Raised if oldMedium is not in the + * list. + */ + public void deleteMedium(String oldMedium) + throws DOMException; + + /** + * Adds the medium newMedium to the end of the list. If the + * newMedium is already used, it is first removed. + * @param newMediumThe new medium to add. + * @exception DOMException + * INVALID_CHARACTER_ERR: If the medium contains characters that are + * invalid in the underlying style language. + *
NO_MODIFICATION_ALLOWED_ERR: Raised if this list is readonly. + */ + public void appendMedium(String newMedium) + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/stylesheets/StyleSheet.java b/java/external/src/org/w3c/dom/stylesheets/StyleSheet.java new file mode 100644 index 0000000..94ccc18 --- /dev/null +++ b/java/external/src/org/w3c/dom/stylesheets/StyleSheet.java @@ -0,0 +1,95 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.stylesheets; + +import org.w3c.dom.Node; + +/** + * The StyleSheet interface is the abstract base interface for + * any type of style sheet. It represents a single style sheet associated + * with a structured document. In HTML, the StyleSheet interface represents + * either an external style sheet, included via the HTML LINK element, or + * an inline STYLE element. In XML, this interface represents an external + * style sheet, included via a style sheet processing instruction. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface StyleSheet { + /** + * This specifies the style sheet language for this style sheet. The + * style sheet language is specified as a content type (e.g. + * "text/css"). The content type is often specified in the + * ownerNode. Also see the type attribute definition for + * the LINK element in HTML 4.0, and the type + * pseudo-attribute for the XML style sheet processing instruction. + */ + public String getType(); + + /** + * false if the style sheet is applied to the document. + * true if it is not. Modifying this attribute may cause a + * new resolution of style for the document. A stylesheet only applies + * if both an appropriate medium definition is present and the disabled + * attribute is false. So, if the media doesn't apply to the current + * user agent, the disabled attribute is ignored. + */ + public boolean getDisabled(); + public void setDisabled(boolean disabled); + + /** + * The node that associates this style sheet with the document. For HTML, + * this may be the corresponding LINK or STYLE + * element. For XML, it may be the linking processing instruction. For + * style sheets that are included by other style sheets, the value of + * this attribute is null. + */ + public Node getOwnerNode(); + + /** + * For style sheet languages that support the concept of style sheet + * inclusion, this attribute represents the including style sheet, if + * one exists. If the style sheet is a top-level style sheet, or the + * style sheet language does not support inclusion, the value of this + * attribute is null. + */ + public StyleSheet getParentStyleSheet(); + + /** + * If the style sheet is a linked style sheet, the value of its attribute + * is its location. For inline style sheets, the value of this attribute + * is null. See the href attribute definition for the + * LINK element in HTML 4.0, and the href pseudo-attribute + * for the XML style sheet processing instruction. + */ + public String getHref(); + + /** + * The advisory title. The title is often specified in the + * ownerNode. See the title attribute definition for the + * LINK element in HTML 4.0, and the title pseudo-attribute + * for the XML style sheet processing instruction. + */ + public String getTitle(); + + /** + * The intended destination media for style information. The media is + * often specified in the ownerNode. If no media has been + * specified, the MediaList will be empty. See the media + * attribute definition for the LINK element in HTML 4.0, + * and the media pseudo-attribute for the XML style sheet processing + * instruction . Modifying the media list may cause a change to the + * attribute disabled. + */ + public MediaList getMedia(); + +} diff --git a/java/external/src/org/w3c/dom/stylesheets/StyleSheetList.java b/java/external/src/org/w3c/dom/stylesheets/StyleSheetList.java new file mode 100644 index 0000000..76c0c59 --- /dev/null +++ b/java/external/src/org/w3c/dom/stylesheets/StyleSheetList.java @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.stylesheets; + +/** + * The StyleSheetList interface provides the abstraction of an + * ordered collection of style sheets. + *

The items in the StyleSheetList are accessible via an + * integral index, starting from 0. + *

See also the Document Object Model (DOM) Level 2 Style Specification. + * @since DOM Level 2 + */ +public interface StyleSheetList { + /** + * The number of StyleSheets in the list. The range of valid + * child stylesheet indices is 0 to length-1 + * inclusive. + */ + public int getLength(); + + /** + * Used to retrieve a style sheet by ordinal index. If index is greater + * than or equal to the number of style sheets in the list, this returns + * null. + * @param indexIndex into the collection + * @return The style sheet at the index position in the + * StyleSheetList, or null if that is not a + * valid index. + */ + public StyleSheet item(int index); + +} diff --git a/java/external/src/org/w3c/dom/traversal/DocumentTraversal.java b/java/external/src/org/w3c/dom/traversal/DocumentTraversal.java new file mode 100644 index 0000000..0acd5f4 --- /dev/null +++ b/java/external/src/org/w3c/dom/traversal/DocumentTraversal.java @@ -0,0 +1,90 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.traversal; + +import org.w3c.dom.Node; +import org.w3c.dom.DOMException; + +/** + * DocumentTraversal contains methods that create iterators and + * tree-walkers to traverse a node and its children in document order (depth + * first, pre-order traversal, which is equivalent to the order in which the + * start tags occur in the text representation of the document). In DOMs + * which support the Traversal feature, DocumentTraversal will + * be implemented by the same objects that implement the Document interface. + *

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification. + * @since DOM Level 2 + */ +public interface DocumentTraversal { + /** + * Create a new NodeIterator over the subtree rooted at the + * specified node. + * @param rootThe node which will be iterated together with its children. + * The iterator is initially positioned just before this node. The + * whatToShow flags and the filter, if any, are not + * considered when setting this position. The root must not be + * null. + * @param whatToShowThis flag specifies which node types may appear in + * the logical view of the tree presented by the iterator. See the + * description of NodeFilter for the set of possible + * SHOW_ values.These flags can be combined using + * OR. + * @param filterThe NodeFilter to be used with this + * TreeWalker, or null to indicate no filter. + * @param entityReferenceExpansionThe value of this flag determines + * whether entity reference nodes are expanded. + * @return The newly created NodeIterator. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if the specified root is + * null. + */ + public NodeIterator createNodeIterator(Node root, + int whatToShow, + NodeFilter filter, + boolean entityReferenceExpansion) + throws DOMException; + + /** + * Create a new TreeWalker over the subtree rooted at the + * specified node. + * @param rootThe node which will serve as the root for the + * TreeWalker. The whatToShow flags and the + * NodeFilter are not considered when setting this value; + * any node type will be accepted as the root. The + * currentNode of the TreeWalker is + * initialized to this node, whether or not it is visible. The + * root functions as a stopping point for traversal + * methods that look upward in the document structure, such as + * parentNode and nextNode. The root must + * not be null. + * @param whatToShowThis flag specifies which node types may appear in + * the logical view of the tree presented by the tree-walker. See the + * description of NodeFilter for the set of possible + * SHOW_ values.These flags can be combined using OR. + * @param filterThe NodeFilter to be used with this + * TreeWalker, or null to indicate no filter. + * @param entityReferenceExpansionIf this flag is false, the contents of + * EntityReference nodes are not presented in the logical + * view. + * @return The newly created TreeWalker. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if the specified root is + * null. + */ + public TreeWalker createTreeWalker(Node root, + int whatToShow, + NodeFilter filter, + boolean entityReferenceExpansion) + throws DOMException; + +} diff --git a/java/external/src/org/w3c/dom/traversal/NodeFilter.java b/java/external/src/org/w3c/dom/traversal/NodeFilter.java new file mode 100644 index 0000000..d8eaae6 --- /dev/null +++ b/java/external/src/org/w3c/dom/traversal/NodeFilter.java @@ -0,0 +1,142 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.traversal; + +import org.w3c.dom.Node; + +/** + * Filters are objects that know how to "filter out" nodes. If a + * NodeIterator or TreeWalker is given a + * NodeFilter, it applies the filter before it returns the next + * node. If the filter says to accept the node, the traversal logic returns + * it; otherwise, traversal looks for the next node and pretends that the + * node that was rejected was not there. + *

The DOM does not provide any filters. NodeFilter is just an + * interface that users can implement to provide their own filters. + *

NodeFilters do not need to know how to traverse from node + * to node, nor do they need to know anything about the data structure that + * is being traversed. This makes it very easy to write filters, since the + * only thing they have to know how to do is evaluate a single node. One + * filter may be used with a number of different kinds of traversals, + * encouraging code reuse. + *

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification. + * @since DOM Level 2 + */ +public interface NodeFilter { + // Constants returned by acceptNode + /** + * Accept the node. Navigation methods defined for + * NodeIterator or TreeWalker will return this + * node. + */ + public static final short FILTER_ACCEPT = 1; + /** + * Reject the node. Navigation methods defined for + * NodeIterator or TreeWalker will not return + * this node. For TreeWalker, the children of this node + * will also be rejected. NodeIterators treat this as a + * synonym for FILTER_SKIP. + */ + public static final short FILTER_REJECT = 2; + /** + * Skip this single node. Navigation methods defined for + * NodeIterator or TreeWalker will not return + * this node. For both NodeIterator and + * TreeWalker, the children of this node will still be + * considered. + */ + public static final short FILTER_SKIP = 3; + + // Constants for whatToShow + /** + * Show all Nodes. + */ + public static final int SHOW_ALL = 0xFFFFFFFF; + /** + * Show Element nodes. + */ + public static final int SHOW_ELEMENT = 0x00000001; + /** + * Show Attr nodes. This is meaningful only when creating an + * iterator or tree-walker with an attribute node as its + * root; in this case, it means that the attribute node + * will appear in the first position of the iteration or traversal. + * Since attributes are never children of other nodes, they do not + * appear when traversing over the document tree. + */ + public static final int SHOW_ATTRIBUTE = 0x00000002; + /** + * Show Text nodes. + */ + public static final int SHOW_TEXT = 0x00000004; + /** + * Show CDATASection nodes. + */ + public static final int SHOW_CDATA_SECTION = 0x00000008; + /** + * Show EntityReference nodes. + */ + public static final int SHOW_ENTITY_REFERENCE = 0x00000010; + /** + * Show Entity nodes. This is meaningful only when creating + * an iterator or tree-walker with an Entity node as its + * root; in this case, it means that the Entity + * node will appear in the first position of the traversal. Since + * entities are not part of the document tree, they do not appear when + * traversing over the document tree. + */ + public static final int SHOW_ENTITY = 0x00000020; + /** + * Show ProcessingInstruction nodes. + */ + public static final int SHOW_PROCESSING_INSTRUCTION = 0x00000040; + /** + * Show Comment nodes. + */ + public static final int SHOW_COMMENT = 0x00000080; + /** + * Show Document nodes. + */ + public static final int SHOW_DOCUMENT = 0x00000100; + /** + * Show DocumentType nodes. + */ + public static final int SHOW_DOCUMENT_TYPE = 0x00000200; + /** + * Show DocumentFragment nodes. + */ + public static final int SHOW_DOCUMENT_FRAGMENT = 0x00000400; + /** + * Show Notation nodes. This is meaningful only when creating + * an iterator or tree-walker with a Notation node as its + * root; in this case, it means that the + * Notation node will appear in the first position of the + * traversal. Since notations are not part of the document tree, they do + * not appear when traversing over the document tree. + */ + public static final int SHOW_NOTATION = 0x00000800; + + /** + * Test whether a specified node is visible in the logical view of a + * TreeWalker or NodeIterator. This function + * will be called by the implementation of TreeWalker and + * NodeIterator; it is not normally called directly from + * user code. (Though you could do so if you wanted to use the same + * filter to guide your own application logic.) + * @param nThe node to check to see if it passes the filter or not. + * @return a constant to determine whether the node is accepted, + * rejected, or skipped, as defined above. + */ + public short acceptNode(Node n); + +} diff --git a/java/external/src/org/w3c/dom/traversal/NodeIterator.java b/java/external/src/org/w3c/dom/traversal/NodeIterator.java new file mode 100644 index 0000000..1035faf --- /dev/null +++ b/java/external/src/org/w3c/dom/traversal/NodeIterator.java @@ -0,0 +1,108 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.traversal; + +import org.w3c.dom.Node; +import org.w3c.dom.DOMException; + +/** + * Iterators are used to step through a set of nodes, e.g. the + * set of nodes in a NodeList, the document subtree governed by + * a particular Node, the results of a query, or any other set + * of nodes. The set of nodes to be iterated is determined by the + * implementation of the NodeIterator. DOM Level 2 specifies a + * single NodeIterator implementation for document-order + * traversal of a document subtree. Instances of these iterators are created + * by calling DocumentTraversal + * .createNodeIterator(). + *

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification. + * @since DOM Level 2 + */ +public interface NodeIterator { + /** + * The root node of the NodeIterator, as specified when it + * was created. + */ + public Node getRoot(); + + /** + * This attribute determines which node types are presented via the + * iterator. The available set of constants is defined in the + * NodeFilter interface. Nodes not accepted by + * whatToShow will be skipped, but their children may still + * be considered. Note that this skip takes precedence over the filter, + * if any. + */ + public int getWhatToShow(); + + /** + * The NodeFilter used to screen nodes. + */ + public NodeFilter getFilter(); + + /** + * The value of this flag determines whether the children of entity + * reference nodes are visible to the iterator. If false, they and + * their descendants will be rejected. Note that this rejection takes + * precedence over whatToShow and the filter. Also note + * that this is currently the only situation where + * NodeIterators may reject a complete subtree rather than + * skipping individual nodes. + *
+ *
To produce a view of the document that has entity references + * expanded and does not expose the entity reference node itself, use + * the whatToShow flags to hide the entity reference node + * and set expandEntityReferences to true when creating the + * iterator. To produce a view of the document that has entity reference + * nodes but no entity expansion, use the whatToShow flags + * to show the entity reference node and set + * expandEntityReferences to false. + */ + public boolean getExpandEntityReferences(); + + /** + * Returns the next node in the set and advances the position of the + * iterator in the set. After a NodeIterator is created, + * the first call to nextNode() returns the first node in + * the set. + * @return The next Node in the set being iterated over, or + * null if there are no more members in that set. + * @exception DOMException + * INVALID_STATE_ERR: Raised if this method is called after the + * detach method was invoked. + */ + public Node nextNode() + throws DOMException; + + /** + * Returns the previous node in the set and moves the position of the + * NodeIterator backwards in the set. + * @return The previous Node in the set being iterated over, + * or null if there are no more members in that set. + * @exception DOMException + * INVALID_STATE_ERR: Raised if this method is called after the + * detach method was invoked. + */ + public Node previousNode() + throws DOMException; + + /** + * Detaches the NodeIterator from the set which it iterated + * over, releasing any computational resources and placing the iterator + * in the INVALID state. After detach has been invoked, + * calls to nextNode or previousNode will + * raise the exception INVALID_STATE_ERR. + */ + public void detach(); + +} diff --git a/java/external/src/org/w3c/dom/traversal/TreeWalker.java b/java/external/src/org/w3c/dom/traversal/TreeWalker.java new file mode 100644 index 0000000..b109e8d --- /dev/null +++ b/java/external/src/org/w3c/dom/traversal/TreeWalker.java @@ -0,0 +1,167 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.traversal; + +import org.w3c.dom.Node; +import org.w3c.dom.DOMException; + +/** + * TreeWalker objects are used to navigate a document tree or + * subtree using the view of the document defined by their + * whatToShow flags and filter (if any). Any function which + * performs navigation using a TreeWalker will automatically + * support any view defined by a TreeWalker. + *

Omitting nodes from the logical view of a subtree can result in a + * structure that is substantially different from the same subtree in the + * complete, unfiltered document. Nodes that are siblings in the + * TreeWalker view may be children of different, widely + * separated nodes in the original view. For instance, consider a + * NodeFilter that skips all nodes except for Text nodes and + * the root node of a document. In the logical view that results, all text + * nodes will be siblings and appear as direct children of the root node, no + * matter how deeply nested the structure of the original document. + *

See also the Document Object Model (DOM) Level 2 Traversal and Range Specification. + * @since DOM Level 2 + */ +public interface TreeWalker { + /** + * The root node of the TreeWalker, as specified + * when it was created. + */ + public Node getRoot(); + + /** + * This attribute determines which node types are presented via the + * TreeWalker. The available set of constants is defined in + * the NodeFilter interface. Nodes not accepted by + * whatToShow will be skipped, but their children may still + * be considered. Note that this skip takes precedence over the filter, + * if any. + */ + public int getWhatToShow(); + + /** + * The filter used to screen nodes. + */ + public NodeFilter getFilter(); + + /** + * The value of this flag determines whether the children of entity + * reference nodes are visible to the TreeWalker. If false, + * they and their descendants will be rejected. Note that this + * rejection takes precedence over whatToShow and the + * filter, if any. + *
To produce a view of the document that has entity references + * expanded and does not expose the entity reference node itself, use + * the whatToShow flags to hide the entity reference node + * and set expandEntityReferences to true when creating the + * TreeWalker. To produce a view of the document that has + * entity reference nodes but no entity expansion, use the + * whatToShow flags to show the entity reference node and + * set expandEntityReferences to false. + */ + public boolean getExpandEntityReferences(); + + /** + * The node at which the TreeWalker is currently positioned. + *
Alterations to the DOM tree may cause the current node to no longer + * be accepted by the TreeWalker's associated filter. + * currentNode may also be explicitly set to any node, + * whether or not it is within the subtree specified by the + * root node or would be accepted by the filter and + * whatToShow flags. Further traversal occurs relative to + * currentNode even if it is not part of the current view, + * by applying the filters in the requested direction; if no traversal + * is possible, currentNode is not changed. + * @exception DOMException + * NOT_SUPPORTED_ERR: Raised if an attempt is made to set + * currentNode to null. + */ + public Node getCurrentNode(); + public void setCurrentNode(Node currentNode) + throws DOMException; + + /** + * Moves to and returns the closest visible ancestor node of the current + * node. If the search for parentNode attempts to step + * upward from the TreeWalker's root node, or + * if it fails to find a visible ancestor node, this method retains the + * current position and returns null. + * @return The new parent node, or null if the current node + * has no parent in the TreeWalker's logical view. + */ + public Node parentNode(); + + /** + * Moves the TreeWalker to the first visible child of the + * current node, and returns the new node. If the current node has no + * visible children, returns null, and retains the current + * node. + * @return The new node, or null if the current node has no + * visible children in the TreeWalker's logical view. + */ + public Node firstChild(); + + /** + * Moves the TreeWalker to the last visible child of the + * current node, and returns the new node. If the current node has no + * visible children, returns null, and retains the current + * node. + * @return The new node, or null if the current node has no + * children in the TreeWalker's logical view. + */ + public Node lastChild(); + + /** + * Moves the TreeWalker to the previous sibling of the + * current node, and returns the new node. If the current node has no + * visible previous sibling, returns null, and retains the + * current node. + * @return The new node, or null if the current node has no + * previous sibling. in the TreeWalker's logical view. + */ + public Node previousSibling(); + + /** + * Moves the TreeWalker to the next sibling of the current + * node, and returns the new node. If the current node has no visible + * next sibling, returns null, and retains the current node. + * @return The new node, or null if the current node has no + * next sibling. in the TreeWalker's logical view. + */ + public Node nextSibling(); + + /** + * Moves the TreeWalker to the previous visible node in + * document order relative to the current node, and returns the new + * node. If the current node has no previous node, or if the search for + * previousNode attempts to step upward from the + * TreeWalker's root node, returns + * null, and retains the current node. + * @return The new node, or null if the current node has no + * previous node in the TreeWalker's logical view. + */ + public Node previousNode(); + + /** + * Moves the TreeWalker to the next visible node in document + * order relative to the current node, and returns the new node. If the + * current node has no next node, or if the search for nextNode attempts + * to step upward from the TreeWalker's root + * node, returns null, and retains the current node. + * @return The new node, or null if the current node has no + * next node in the TreeWalker's logical view. + */ + public Node nextNode(); + +} diff --git a/java/external/src/org/w3c/dom/views/AbstractView.java b/java/external/src/org/w3c/dom/views/AbstractView.java new file mode 100644 index 0000000..97e8f0e --- /dev/null +++ b/java/external/src/org/w3c/dom/views/AbstractView.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.views; + +/** + * A base interface that all views shall derive from. + *

See also the Document Object Model (DOM) Level 2 Views Specification. + * @since DOM Level 2 + */ +public interface AbstractView { + /** + * The source DocumentView of which this is an + * AbstractView. + */ + public DocumentView getDocument(); + +} diff --git a/java/external/src/org/w3c/dom/views/DocumentView.java b/java/external/src/org/w3c/dom/views/DocumentView.java new file mode 100644 index 0000000..2cb9eeb --- /dev/null +++ b/java/external/src/org/w3c/dom/views/DocumentView.java @@ -0,0 +1,30 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +package org.w3c.dom.views; + +/** + * The DocumentView interface is implemented by + * Document objects in DOM implementations supporting DOM + * Views. It provides an attribute to retrieve the default view of a + * document. + *

See also the Document Object Model (DOM) Level 2 Views Specification. + * @since DOM Level 2 + */ +public interface DocumentView { + /** + * The default AbstractView for this Document, + * or null if none available. + */ + public AbstractView getDefaultView(); + +} diff --git a/java/external/xdocs/dom/core/COPYRIGHT.html b/java/external/xdocs/dom/core/COPYRIGHT.html new file mode 100644 index 0000000..26049b7 --- /dev/null +++ b/java/external/xdocs/dom/core/COPYRIGHT.html @@ -0,0 +1,100 @@ + + + + + W3C IPR SOFTWARE NOTICE + + +

+ W3C IPR SOFTWARE NOTICE +

+

+ Copyright © 2000 World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. +

+

+ The DOM bindings are published under the W3C Software Copyright Notice + and License. The software license requires "Notice of any changes or + modifications to the W3C files, including the date changes were made." + Consequently, modified versions of the DOM bindings must document that + they do not conform to the W3C standard; in the case of the IDL binding, + the pragma prefix can no longer be 'w3c.org'; in the case of the Java + binding, the package names can no longer be in the 'org.w3c' package. +

+

+ Note: The original version of the W3C Software Copyright Notice + and License could be found at http://www.w3.org/Consortium/Legal/copyright-software-19980720 +

+

+ Copyright © 1994-2000 World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. http://www.w3.org/Consortium/Legal/ +

+

+ This W3C work (including software, documents, or other related items) is + being provided by the copyright holders under the following license. By + obtaining, using and/or copying this work, you (the licensee) agree that + you have read, understood, and will comply with the following terms and + conditions: +

+

+ Permission to use, copy, and modify this software and its documentation, + with or without modification,  for any purpose and without fee or + royalty is hereby granted, provided that you include the following on ALL + copies of the software and documentation or portions thereof, including + modifications, that you make: +

+
    +
  1. + The full text of this NOTICE in a location viewable to users of the + redistributed or derivative work. +
  2. +
  3. + Any pre-existing intellectual property disclaimers, notices, or terms + and conditions. If none exist, a short notice of the following form + (hypertext is preferred, text is permitted) should be used within the + body of any redistributed or derivative code: "Copyright © + [$date-of-software] World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. http://www.w3.org/Consortium/Legal/" +
  4. +
  5. + Notice of any changes or modifications to the W3C files, including the + date changes were made. (We recommend you provide URIs to the location + from which the code is derived.) +
  6. +
+

+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT + HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR + DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, + TRADEMARKS OR OTHER RIGHTS. +

+

+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR + CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR + DOCUMENTATION. +

+

+ The name and trademarks of copyright holders may NOT be used in + advertising or publicity pertaining to the software without specific, + written prior permission. Title to copyright in this software and any + associated documentation will at all times remain with copyright + holders. +

+ + diff --git a/java/external/xdocs/dom/core/Overview.html b/java/external/xdocs/dom/core/Overview.html new file mode 100644 index 0000000..a051c14 --- /dev/null +++ b/java/external/xdocs/dom/core/Overview.html @@ -0,0 +1,223 @@ + + + + +Document Object Model (DOM) Level 2 Core +Specification + + + + + + + + + +
+

+ +

Document Object Model (DOM) Level 2 Core +Specification

+ +

Version 1.0

+ + +

W3C Recommendation 13 November, +2000

+ +
+
This version:
+ +
http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113
+ ( +PostScript file , +PDF file , +plain text , +ZIP file)
+ +
Latest version:
+ +
http://www.w3.org/TR/DOM-Level-2-Core
+ +
Previous version:
+ +
http://www.w3.org/TR/2000/PR-DOM-Level-2-Core-20000927
+
+ +
+
Editors:
+ +
Arnaud Le Hors, W3C team contact until October 1999, then +IBM
+ +
Philippe Le Hégaret, W3C, team contact (from November +1999)
+ +
Lauren Wood, SoftQuad Software Inc., WG Chair
+ +
Gavin Nicol, Inso EPS (for DOM Level 1)
+ +
Jonathan Robie, Texcel Research and Software AG (for DOM +Level 1)
+ +
Mike Champion, ArborText and Software AG (for DOM Level 1 +from November 20, 1997)
+ +
Steve Byrne, JavaSoft (for DOM Level 1 until November 19, +1997)
+
+ + +
+ +
+

Abstract

+ +
+

This specification defines the Document Object Model Level 2 +Core, a platform- and language-neutral interface that allows +programs and scripts to dynamically access and update the content +and structure of documents. The Document Object Model Level 2 Core +builds on the Document Object Model Level 1 Core.

+ +

The DOM Level 2 Core is made of a set of core interfaces to +create and manipulate the structure and contents of a document. The +Core also contains specialized interfaces dedicated to XML.

+
+ +

Status of this document

+ +
+

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 W3C.

+ +

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.

+ +

This document has been produced as part of the W3C DOM Activity. +The authors of this document are the DOM Working Group members. +Different modules of the Document Object Model have different +editors.

+ +

Please send general comments about this document to the public +mailing list www-dom@w3.org. An +archive +is available at http://lists.w3.org/Archives/Public/www-dom/.

+ +

The English version of this specification is the only normative +version. Information about translations +of this document is available at +http://www.w3.org/2000/11/DOM-Level-2-translations.

+ +

The list +of known errors in this document is available at +http://www.w3.org/2000/11/DOM-Level-2-errata

+ +

A list of current W3C +Recommendations and other technical documents can be found at +http://www.w3.org/TR.

+
+ +

Table +of contents

+ + + + + + + + + + + diff --git a/java/external/xdocs/dom/core/W3C-REC.css b/java/external/xdocs/dom/core/W3C-REC.css new file mode 100644 index 0000000..43eea27 --- /dev/null +++ b/java/external/xdocs/dom/core/W3C-REC.css @@ -0,0 +1,94 @@ +/* This is an SSI script. Policy: + (1) Use CVS + (2) send e-mail to w3t-comm@w3.org if you edit this +*/ +/* Style for a "Recommendation" */ + +/* + This is an SSI script. Policy: + (1) Use CVS + (2) send e-mail to w3t-comm@w3.org if you edit this + + Acknowledgments: + + - 'background-color' doesn't work on Mac IE 3, but 'background' + does (Susan Lesch ) + + - 'smaller' leads to illegible text in both Mac IE and Mac NS, + 'small' is better: works in Mac NS, but is always 12pt in Mac IE + 3 (Susan Lesch ) + + $Id$ +*/ + +body { + margin: 2em 1em 2em 70px; + font-family: sans-serif; + color: black; + background: white; + background-position: top left; + background-attachment: fixed; + background-repeat: no-repeat; +} + +th, td { /* ns 4 */ + font-family: sans-serif; +} + +h1, h2, h3, h4, h5, h6 { text-align: left } +h1, h2, h3 { color: #005A9C } +h1 { font: 170% sans-serif } +h2 { font: 140% sans-serif } +h3 { font: 120% sans-serif } +h4 { font: bold 100% sans-serif } +h5 { font: italic 100% sans-serif } +h6 { font: small-caps 100% sans-serif } + +.hide { display: none } + +div.head { margin-bottom: 1em } +div.head h1 { margin-top: 2em; clear: both } +div.head table { margin-left: 2em; margin-top: 2em } +div.head img { color: white; border: none } /* remove border from top image */ + +p.copyright { font-size: small } +p.copyright small { font-size: small } + +@media screen { /* hide from IE3 */ +a:hover { background: #ffa } +} + +pre { margin-left: 2em } +/* +p { + margin-top: 0.6em; + margin-bottom: 0.6em; +} +*/ +dt, dd { margin-top: 0; margin-bottom: 0 } /* opera 3.50 */ +dt { font-weight: bold } + +pre, code { font-family: monospace } /* navigator 4 requires this */ + +ul.toc { + list-style: disc; /* Mac NS has problem with 'none' */ + list-style: none; +} + +@media aural { + h1, h2, h3 { stress: 20; richness: 90 } + .hide { speak: none } + p.copyright { volume: x-soft; speech-rate: x-fast } + dt { pause-before: 20% } + pre { speak-punctuation: code } +} + +/* Things (icons) that should only show up in projection mode */ +.projection { display: none } +@media projection { .projection { display: inline } } + + +body { + background-image: url(http://www.w3.org/StyleSheets/TR/logo-REC); +} + diff --git a/java/external/xdocs/dom/core/acknowledgements.html b/java/external/xdocs/dom/core/acknowledgements.html new file mode 100644 index 0000000..a7b24ae --- /dev/null +++ b/java/external/xdocs/dom/core/acknowledgements.html @@ -0,0 +1,101 @@ + + + + +Acknowledgements + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix F: +Acknowledgements

+ +

Many people contributed to this specification, including members +of the DOM Working Group and the DOM Interest Group. We especially +thank the following:

+ +

Lauren Wood (SoftQuad Software Inc., chair), Andrew +Watson (Object Management Group), Andy Heninger (IBM), Arnaud Le +Hors (W3C and IBM), Ben Chang (Oracle), Bill Smith (Sun), Bill Shea +(Merrill Lynch), Bob Sutor (IBM), Chris Lovett (Microsoft), Chris +Wilson (Microsoft), David Brownell (Sun), David Singer (IBM), Don +Park (invited), Eric Vasilik (Microsoft), Gavin Nicol (INSO), Ian +Jacobs (W3C), James Clark (invited), James Davidson (Sun), Jared +Sorensen (Novell), Joe Kesselman (IBM), Joe Lapp (webMethods), Joe +Marini (Macromedia), Johnny Stenback (Netscape), Jonathan Marsh +(Microsoft), Jonathan Robie (Texcel Research and Software AG), Kim +Adamson-Sharpe (SoftQuad Software Inc.), Laurence Cable (Sun), Mark +Davis (IBM), Mark Scardina (Oracle), Martin Dürst (W3C), Mick +Goulish (Software AG), Mike Champion (Arbortext and Software AG), +Miles Sabin (Cromwell Media), Patti Lutsky (Arbortext), Paul Grosso +(Arbortext), Peter Sharpe (SoftQuad Software Inc.), Phil Karlton +(Netscape), Philippe Le Hégaret (W3C, W3C team +contact), Ramesh Lekshmynarayanan (Merrill Lynch), Ray Whitmer +(iMall, Excite@Home and Netscape), Rich Rollman (Microsoft), Rick +Gessner (Netscape), Scott Isaacs (Microsoft), Sharon Adler (INSO), +Steve Byrne (JavaSoft), Tim Bray (invited), Tom Pixley (Netscape), +Vidur Apparao (Netscape), Vinod Anupam (Lucent).

+ +

Thanks to all those who have helped to improve this +specification by sending suggestions and corrections.

+ +
+ +

F.1: Production Systems

+ +

This specification was written in XML. The HTML, OMG IDL, Java +and ECMA Script bindings were all produced automatically.

+ +

Thanks to Joe English, author of cost, which was used as +the basis for producing DOM Level 1. Thanks also to Gavin Nicol, +who wrote the scripts which run on top of cost. Arnaud Le Hors and +Philippe Le Hégaret maintained the scripts.

+ +

For DOM Level 2, we used Xerces as the basis DOM +implementation and wish to thank the authors. Philippe Le +Hégaret and Arnaud Le Hors wrote the +Java programs which are the DOM application.

+ +

Thanks also to Jan Kärrman, author of html2ps, which we +use in creating the PostScript version of the specification.

+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/core/changes.html b/java/external/xdocs/dom/core/changes.html new file mode 100644 index 0000000..192edc1 --- /dev/null +++ b/java/external/xdocs/dom/core/changes.html @@ -0,0 +1,193 @@ + + + + +Changes + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix A: Changes

+ +
+
Editors
+ +
Arnaud Le Hors, IBM
+ +
Philippe Le Hégaret, W3C
+
+ +
+ +

A.1: Changes between +DOM Level 1 Core and DOM Level 2 Core

+ +
+
OMG IDL
+ +
The DOM Level 2 specifications are now using Corba 2.3.1 +instead of Corba 2.2.
+ +
Type DOMString
+ +
The definition of DOMString in IDL is now +a valuetype.
+
+ +
+ +

A.1.1: Changes to DOM +Level 1 Core interfaces and exceptions

+ +
+
Interface Attr
+ +
The Attr +interface has one new attribute: ownerElement.
+ +
Interface Document
+ +
The Document +interface has five new methods: importNode, +createElementNS, createAttributeNS, +getElementsByTagNameNS and +getElementById.
+ +
Interface NamedNodeMap
+ +
The NamedNodeMap +interface has three new methods: getNamedItemNS, +setNamedItemNS, removeNamedItemNS.
+ +
Interface Node
+ +
The Node +interface has two new methods: isSupported and +hasAttributes.
+normalize, previously in the Element interface, +has been moved in the Node +interface.
+The Node +interface has three new attributes: namespaceURI, +prefix and localName.
+The ownerDocument attribute was specified to be +null when the node is a Document. It now is +also null when the node is a DocumentType which +is not used with any Document yet.
+ +
Interface DocumentType
+ +
The DocumentType +interface has three attributes: publicId, +systemId and internalSubset.
+ +
Interface DOMImplementation
+ +
The DOMImplementation +interface has two new methods: createDocumentType and +createDocument.
+ +
Interface Element
+ +
The Element +interface has eight new methods: getAttributeNS, +setAttributeNS, removeAttributeNS, +getAttributeNodeNS, setAttributeNodeNS, +getElementsByTagNameNS, hasAttribute and +hasAttributeNS.
+The method normalize is now inherited from the Node interface +where it was moved.
+ +
Exception DOMException
+ +
The DOMException has five +new exception codes: INVALID_STATE_ERR, +SYNTAX_ERR, INVALID_MODIFICATION_ERR, +NAMESPACE_ERR and +INVALID_ACCESS_ERR.
+
+
+ + +
+ +

A.1.2: New features

+ +
+ +

A.1.2.1: New +types

+ +
+
DOMTimeStamp
+ +
The DOMTimeStamp type +was added to the Core module.
+
+
+ +
+ +
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/core/copyright-notice.html b/java/external/xdocs/dom/core/copyright-notice.html new file mode 100644 index 0000000..2fe7047 --- /dev/null +++ b/java/external/xdocs/dom/core/copyright-notice.html @@ -0,0 +1,229 @@ + + + + +Copyright Notice + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Copyright Notice

+ +

Copyright © 2000 World Wide +Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

This document is published under the W3C Document +Copyright Notice and License. The bindings within this document +are published under the W3C Software +Copyright Notice and License. The software license requires +"Notice of any changes or modifications to the W3C files, including +the date changes were made." Consequently, modified versions of the +DOM bindings must document that they do not conform to the W3C +standard; in the case of the IDL definitions, the pragma prefix can +no longer be 'w3c.org'; in the case of the Java Language binding, +the package names can no longer be in the 'org.w3c' package.

+ +
+ +
+ + +

Note: This section is a copy of the W3C Document Notice +and License and could be found at +http://www.w3.org/Consortium/Legal/copyright-documents-19990405.

+ +

Copyright © 1994-2000 World +Wide Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

http://www.w3.org/Consortium/Legal/

+ +

Public documents on the W3C site are provided by the copyright +holders under the following license. The software or Document Type +Definitions (DTDs) associated with W3C specifications are governed +by the Software +Notice. By using and/or copying this document, or the W3C +document from which this statement is linked, you (the licensee) +agree that you have read, understood, and will comply with the +following terms and conditions:

+ +

Permission to use, copy, and distribute the contents of this +document, or the W3C document from which this statement is linked, +in any medium for any purpose and without fee or royalty is hereby +granted, provided that you include the following on ALL +copies of the document, or portions thereof, that you use:

+ +
    +
  1. A link or URL to the original W3C document.
  2. + +
  3. The pre-existing copyright notice of the original author, or if +it doesn't exist, a notice of the form: "Copyright © +[$date-of-document] World Wide Web +Consortium, (Massachusetts +Institute of Technology, Institut National de Recherche en +Informatique et en Automatique, Keio University). All Rights +Reserved. http://www.w3.org/Consortium/Legal/" (Hypertext is +preferred, but a textual representation is permitted.)
  4. + +
  5. If it exists, the STATUS of the W3C document.
  6. +
+ +

When space permits, inclusion of the full text of this +NOTICE should be provided. We request that authorship +attribution be provided in any software, documents, or other items +or products that you create pursuant to the implementation of the +contents of this document, or any portion thereof.

+ +

No right to create modifications or derivatives of W3C documents +is granted pursuant to this license. However, if additional +requirements (documented in the Copyright +FAQ) are satisfied, the right to create modifications or +derivatives is sometimes granted by the W3C to individuals +complying with those requirements.

+ +

THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO +REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT +NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS +OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE +IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY +PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

+ +

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, +SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE +DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS +THEREOF.

+ +

The name and trademarks of copyright holders may NOT be used in +advertising or publicity pertaining to this document or its +contents without specific, written prior permission. Title to +copyright in this document will at all times remain with copyright +holders.

+
+ + +
+ +
+ + +

Note: This section is a copy of the W3C Software +Copyright Notice and License and could be found at +http://www.w3.org/Consortium/Legal/copyright-software-19980720

+ +

Copyright © 1994-2000 World +Wide Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

http://www.w3.org/Consortium/Legal/

+ +

This W3C work (including software, documents, or other related +items) is being provided by the copyright holders under the +following license. By obtaining, using and/or copying this work, +you (the licensee) agree that you have read, understood, and will +comply with the following terms and conditions:

+ +

Permission to use, copy, and modify this software and its +documentation, with or without modification, for any purpose and +without fee or royalty is hereby granted, provided that you include +the following on ALL copies of the software and documentation or +portions thereof, including modifications, that you make:

+ +
    +
  1. The full text of this NOTICE in a location viewable to users of +the redistributed or derivative work.
  2. + +
  3. Any pre-existing intellectual property disclaimers. If none +exist, then a notice of the following form: "Copyright © +[$date-of-software] World Wide Web +Consortium, (Massachusetts +Institute of Technology, Institut National de Recherche en +Informatique et en Automatique, Keio University). All Rights +Reserved. http://www.w3.org/Consortium/Legal/."
  4. + +
  5. Notice of any changes or modifications to the W3C files, +including the date changes were made. (We recommend you provide +URIs to the location from which the code is derived.)
  6. +
+ +

THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND +COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE +USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD +PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

+ +

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, +SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE +SOFTWARE OR DOCUMENTATION.

+ +

The name and trademarks of copyright holders may NOT be used in +advertising or publicity pertaining to the software without +specific, written prior permission. Title to copyright in this +software and any associated documentation will at all times remain +with copyright holders.

+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/core/core.html b/java/external/xdocs/dom/core/core.html new file mode 100644 index 0000000..7e5bad1 --- /dev/null +++ b/java/external/xdocs/dom/core/core.html @@ -0,0 +1,6816 @@ + + + + +Document Object Model Core + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

1. Document Object Model Core

+ +
+
Editors
+ +
Arnaud Le Hors, IBM
+ +
Gavin Nicol, Inso EPS (for DOM Level 1)
+ +
Lauren Wood, SoftQuad, Inc. (for DOM Level 1)
+ +
Mike Champion, ArborText (for DOM Level 1 from November 20, +1997)
+ +
Steve Byrne, JavaSoft (for DOM Level 1 until November 19, +1997)
+
+ + + +
+ +

1.1. Overview of the DOM +Core Interfaces

+ +

This section defines a set of objects and interfaces for +accessing and manipulating document objects. The functionality +specified in this section (the Core functionality) is +sufficient to allow software developers and web script authors to +access and manipulate parsed HTML and XML content inside conforming +products. The DOM Core API also allows creation and population of a +Document object +using only DOM API calls; loading a Document and saving it +persistently is left to the product that implements the DOM +API.

+ +
+ +

1.1.1. The DOM Structure +Model

+ +

The DOM presents documents as a hierarchy of Node objects that +also implement other, more specialized interfaces. Some types of +nodes may have child +nodes of various types, and others are leaf nodes that cannot have +anything below them in the document structure. For XML and HTML, +the node types, and which node types they may have as children, are +as follows:

+ + + +

The DOM also specifies a NodeList interface +to handle ordered lists of Nodes, such as the +children of a Node, or the elements returned by +the getElementsByTagName method of the Element interface, +and also a NamedNodeMap +interface to handle unordered sets of nodes referenced by their +name attribute, such as the attributes of an Element. NodeList and NamedNodeMap +objects in the DOM are live; that is, changes to the +underlying document structure are reflected in all relevant NodeList and NamedNodeMap +objects. For example, if a DOM user gets a NodeList object +containing the children of an Element, then +subsequently adds more children to that element (or removes +children, or modifies them), those changes are automatically +reflected in the NodeList, without +further action on the user's part. Likewise, changes to a Node in the tree +are reflected in all references to that Node in NodeList and NamedNodeMap +objects.

+ +

Finally, the interfaces Text, Comment, and CDATASection all +inherit from the CharacterData +interface.

+
+ + +
+ +

1.1.2. Memory Management

+ +

Most of the APIs defined by this specification are +interfaces rather than classes. That means that an +implementation need only expose methods with the defined names and +specified operation, not implement classes that correspond directly +to the interfaces. This allows the DOM APIs to be implemented as a +thin veneer on top of legacy applications with their own data +structures, or on top of newer applications with different class +hierarchies. This also means that ordinary constructors (in the +Java or C++ sense) cannot be used to create DOM objects, since the +underlying objects to be constructed may have little relationship +to the DOM interfaces. The conventional solution to this in +object-oriented design is to define factory methods that +create instances of objects that implement the various interfaces. +Objects implementing some interface "X" are created by a +"createX()" method on the Document interface; +this is because all DOM objects live in the context of a specific +Document.

+ +

The DOM Level 2 API does not define a standard way to +create DOMImplementation +objects; DOM implementations must provide some proprietary way of +bootstrapping these DOM interfaces, and then all other objects can +be built from there.

+ +

The Core DOM APIs are designed to be compatible with a wide +range of languages, including both general-user scripting languages +and the more challenging languages used mostly by professional +programmers. Thus, the DOM APIs need to operate across a variety of +memory management philosophies, from language bindings that do not +expose memory management to the user at all, through those (notably +Java) that provide explicit constructors but provide an automatic +garbage collection mechanism to automatically reclaim unused +memory, to those (especially C/C++) that generally require the +programmer to explicitly allocate object memory, track where it is +used, and explicitly free it for re-use. To ensure a consistent API +across these platforms, the DOM does not address memory management +issues at all, but instead leaves these for the implementation. +Neither of the explicit language bindings defined by the DOM API +(for ECMAScript +and Java) require any memory management methods, but DOM bindings +for other languages (especially C or C++) may require such support. +These extensions will be the responsibility of those adapting the +DOM API to a specific language, not the DOM Working Group.

+
+ + +
+ +

1.1.3. Naming Conventions

+ +

While it would be nice to have attribute and method names that +are short, informative, internally consistent, and familiar to +users of similar APIs, the names also should not clash with the +names in legacy APIs supported by DOM implementations. Furthermore, +both OMG IDL and ECMAScript have significant +limitations in their ability to disambiguate names from different +namespaces that make it difficult to avoid naming conflicts with +short, familiar names. So, DOM names tend to be long and +descriptive in order to be unique across all environments.

+ +

The Working Group has also attempted to be internally consistent +in its use of various terms, even though these may not be common +distinctions in other APIs. For example, the DOM API uses the +method name "remove" when the method changes the structural model, +and the method name "delete" when the method gets rid of something +inside the structure model. The thing that is deleted is not +returned. The thing that is removed may be returned, when it makes +sense to return it.

+
+ + +
+ +

1.1.4. Inheritance vs. +Flattened Views of the API

+ +

The DOM Core APIs +present two somewhat different sets of interfaces to an XML/HTML +document: one presenting an "object oriented" approach with a +hierarchy of inheritance, and a +"simplified" view that allows all manipulation to be done via the +Node interface +without requiring casts (in Java and other C-like languages) or +query interface calls in COM environments. These +operations are fairly expensive in Java and COM, and the DOM may be +used in performance-critical environments, so we allow significant +functionality using just the Node interface. +Because many other users will find the inheritance +hierarchy easier to understand than the "everything is a Node" approach to +the DOM, we also support the full higher-level interfaces for those +who prefer a more object-oriented API.

+ +

In practice, this means that there is a certain amount of +redundancy in the API. +The Working Group considers the "inheritance" +approach the primary view of the API, and the full set of +functionality on Node to be "extra" +functionality that users may employ, but that does not eliminate +the need for methods on other interfaces that an object-oriented +analysis would dictate. (Of course, when the O-O analysis yields an +attribute or method that is identical to one on the Node +interface, we don't specify a completely redundant one.) Thus, even +though there is a generic nodeName attribute on the Node +interface, there is still a tagName attribute on the +Element +interface; these two attributes must contain the same value, but +the it is worthwhile to support both, given the different +constituencies the DOM API must satisfy.

+
+ + +
+ +

1.1.5. The DOMString type

+ +

To ensure interoperability, the DOM specifies the following:

+ +
    +
  • +
    +
    Type Definition DOMString
    + +
    +

    A DOMString is a +sequence of 16-bit +units.

    + +
    +

    +IDL Definition
    + +
    +
    +
    +valuetype DOMString sequence<unsigned short>;
    +
    +
    + +
    +
    +
    +
    +
    +
  • + +
  • Applications must encode DOMString using UTF-16 +(defined in [Unicode] and Amendment 1 of [ISO/IEC +10646]).
    +The UTF-16 encoding was chosen because of its widespread industry +practice. Note that for both HTML and XML, the document character +set (and therefore the notation of numeric character references) is +based on UCS [ISO-10646]. A single numeric character reference in a +source document may therefore in some cases correspond to two +16-bit units in a DOMString (a high +surrogate and a low surrogate). + +

    Note: Even though the DOM defines the name of the string +type to be DOMString, bindings may +use different names. For example for Java, DOMString is bound to +the String type because it also uses UTF-16 as its +encoding.

    +
  • +
+ +

Note: As of August 2000, the OMG IDL specification ([OMGIDL]) included +a wstring type. However, that definition did not meet +the interoperability criteria of the DOM API since it relied on +negotiation to decide the width and encoding of a character.

+
+ + +
+ +

1.1.6. The DOMTimeStamp +type

+ +

To ensure interoperability, the DOM specifies the following:

+ +
    +
  • +
    +
    Type Definition DOMTimeStamp
    + +
    +

    A DOMTimeStamp +represents a number of milliseconds.

    + +
    +

    +IDL Definition
    + +
    +
    +
    +typedef unsigned long long DOMTimeStamp;
    +
    +
    + +
    +
    +
    +
    +
    +
  • + +
  • +

    Note: Even though the DOM uses the type DOMTimeStamp, +bindings may use different types. For example for Java, DOMTimeStamp is +bound to the long type. In ECMAScript, +TimeStamp is bound to the Date type +because the range of the integer type is too +small.

    +
  • +
+
+ + +
+ +

1.1.7. String comparisons in +the DOM

+ +

The DOM has many interfaces that imply string matching. HTML +processors generally assume an uppercase (less often, lowercase) +normalization of names for such things as elements, while XML is +explicitly case sensitive. For the purposes of the DOM, string +matching is performed purely by binary comparison of +the 16-bit +units of the DOMString. In addition, +the DOM assumes that any case normalizations take place in the +processor, before the DOM structures are built.

+ +

Note: Besides case folding, there are additional +normalizations that can be applied to text. The W3C I18N Working +Group is in the process of defining exactly which normalizations +are necessary, and where they should be applied. The W3C I18N +Working Group expects to require early normalization, which means +that data read into the DOM is assumed to already be normalized. +The DOM and applications built on top of it in this case only have +to assure that text remains normalized when being changed. For +further details, please see [Charmod].

+
+ + +
+ +

1.1.8. XML +Namespaces

+ +

The DOM Level 2 supports XML namespaces [Namespaces] by augmenting +several interfaces of the DOM Level 1 Core to allow creating and +manipulating elements and +attributes associated to a namespace.

+ +

As far as the DOM is concerned, special attributes used for +declaring XML +namespaces are still exposed and can be manipulated just +like any other attribute. However, nodes are permanently bound to +namespace URIs +as they get created. Consequently, moving a node within a document, +using the DOM, in no case results in a change of its namespace +prefix or namespace URI. Similarly, creating a node with a +namespace prefix and namespace URI, or changing the namespace +prefix of a node, does not result in any addition, removal, or +modification of any special attributes for declaring the +appropriate XML namespaces. Namespace validation is not enforced; +the DOM application is responsible. In particular, since the +mapping between prefixes and namespace URIs is not enforced, in +general, the resulting document cannot be serialized naively. For +example, applications may have to declare every namespace in use +when serializing a document.

+ +

DOM Level 2 doesn't perform any URI normalization or +canonicalization. The URIs given to the DOM are assumed to be valid +(e.g., characters such as whitespaces are properly escaped), and no +lexical checking is performed. Absolute URI references are treated +as strings and compared +literally. How relative namespace URI references are +treated is undefined. To ensure interoperability only absolute +namespace URI references (i.e., URI references beginning with a +scheme name and a colon) should be used. Note that because the DOM +does no lexical checking, the empty string will be treated as a +real namespace URI in DOM Level 2 methods. Applications must use +the value null as the namespaceURI parameter for +methods if they wish to have no namespace.

+ +

Note: In the DOM, all namespace declaration attributes +are by definition bound to the namespace URI: "http://www.w3.org/2000/xmlns/". +These are the attributes whose namespace +prefix or qualified name +is "xmlns". Although, at the time of writing, this is not part of +the XML Namespaces specification [Namespaces], it is planned to +be incorporated in a future revision.

+ +

In a document with no namespaces, the child list of an EntityReference node +is always the same as that of the corresponding Entity. This is not +true in a document where an entity contains unbound namespace +prefixes. In such a case, the descendants of the +corresponding EntityReference nodes +may be bound to different namespace URIs, +depending on where the entity references are. Also, because, in the +DOM, nodes always remain bound to the same namespace URI, moving +such EntityReference nodes +can lead to documents that cannot be serialized. This is also true +when the DOM Level 1 method createEntityReference of +the Document +interface is used to create entity references that correspond to +such entities, since the descendants of the +returned EntityReference are +unbound. The DOM Level 2 does not support any mechanism to resolve +namespace prefixes. For all of these reasons, use of such entities +and entity references should be avoided or used with extreme care. +A future Level of the DOM may include some additional support for +handling these.

+ +

The new methods, such as createElementNS and +createAttributeNS of the Document interface, +are meant to be used by namespace aware applications. Simple +applications that do not use namespaces can use the DOM Level 1 +methods, such as createElement and +createAttribute. Elements and attributes created in +this way do not have any namespace prefix, namespace URI, or local +name.

+ +

Note: DOM Level 1 methods are namespace ignorant. +Therefore, while it is safe to use these methods when not dealing +with namespaces, using them and the new ones at the same time +should be avoided. DOM Level 1 methods solely identify attribute +nodes by their nodeName. On the contrary, the DOM +Level 2 methods related to namespaces, identify attribute nodes by +their namespaceURI and localName. Because +of this fundamental difference, mixing both sets of methods can +lead to unpredictable results. In particular, using +setAttributeNS, an element may have two +attributes (or more) that have the same nodeName, but +different namespaceURIs. Calling +getAttribute with that nodeName could +then return any of those attributes. The result depends on the +implementation. Similarly, using setAttributeNode, one +can set two attributes (or more) that have different +nodeNames but the same prefix and +namespaceURI. In this case +getAttributeNodeNS will return either attribute, in an +implementation dependent manner. The only guarantee in such cases +is that all methods that access a named item by its +nodeName will access the same item, and all methods +which access a node by its URI and local name will access the same +node. For instance, setAttribute and +setAttributeNS affect the node that +getAttribute and getAttributeNS, +respectively, return.

+
+ +
+ + +
+ +

1.2. Fundamental +Interfaces

+ +

The interfaces within this section are considered +fundamental, and must be fully implemented by all +conforming implementations of the DOM, including all HTML DOM +implementations [DOM Level 2 HTML], unless +otherwise specified.

+ +

A DOM application may use the hasFeature(feature, +version) method of the DOMImplementation +interface with parameter values "Core" and "2.0" (respectively) to +determine whether or not this module is supported by the +implementation. Any implementation that conforms to DOM Level 2 or +a DOM Level 2 module must conform to the Core module. Please refer +to additional information about +conformance in this specification.

+ +
+
Exception DOMException
+ +
+

DOM operations only raise exceptions in "exceptional" +circumstances, i.e., when an operation is impossible to perform +(either for logical reasons, because data is lost, or because the +implementation has become unstable). In general, DOM methods return +specific error values in ordinary processing situations, such as +out-of-bound errors when using NodeList.

+ +

Implementations should raise other exceptions under other +circumstances. For example, implementations should raise an +implementation-dependent exception if a null argument +is passed.

+ +

Some languages and object systems do not support the concept of +exceptions. For such systems, error conditions may be indicated +using native error reporting mechanisms. For some bindings, for +example, methods may return error codes similar to those listed in +the corresponding method descriptions.

+ +
+

+IDL Definition
+ +
+
+
+exception DOMException {
+  unsigned short   code;
+};
+// ExceptionCode
+const unsigned short      INDEX_SIZE_ERR                 = 1;
+const unsigned short      DOMSTRING_SIZE_ERR             = 2;
+const unsigned short      HIERARCHY_REQUEST_ERR          = 3;
+const unsigned short      WRONG_DOCUMENT_ERR             = 4;
+const unsigned short      INVALID_CHARACTER_ERR          = 5;
+const unsigned short      NO_DATA_ALLOWED_ERR            = 6;
+const unsigned short      NO_MODIFICATION_ALLOWED_ERR    = 7;
+const unsigned short      NOT_FOUND_ERR                  = 8;
+const unsigned short      NOT_SUPPORTED_ERR              = 9;
+const unsigned short      INUSE_ATTRIBUTE_ERR            = 10;
+// Introduced in DOM Level 2:
+const unsigned short      INVALID_STATE_ERR              = 11;
+// Introduced in DOM Level 2:
+const unsigned short      SYNTAX_ERR                     = 12;
+// Introduced in DOM Level 2:
+const unsigned short      INVALID_MODIFICATION_ERR       = 13;
+// Introduced in DOM Level 2:
+const unsigned short      NAMESPACE_ERR                  = 14;
+// Introduced in DOM Level 2:
+const unsigned short      INVALID_ACCESS_ERR             = 15;
+
+
+ +
+
+ +
Definition group ExceptionCode
+ +
+

An integer indicating the type of error generated.

+ +

Note: Other numeric codes are reserved for W3C for +possible future use.

+ +
+
Defined Constants
+ +
+
+
DOMSTRING_SIZE_ERR
+ +
If the specified range of text does not fit into a +DOMString
+ +
HIERARCHY_REQUEST_ERR
+ +
If any node is inserted somewhere it doesn't belong
+ +
INDEX_SIZE_ERR
+ +
If index or size is negative, or greater than the allowed +value
+ +
INUSE_ATTRIBUTE_ERR
+ +
If an attempt is made to add an attribute that is already in +use elsewhere
+ +
INVALID_ACCESS_ERR, +introduced in DOM Level 2.
+ +
If a parameter or an operation is not supported by the +underlying object.
+ +
INVALID_CHARACTER_ERR
+ +
If an invalid or illegal character is specified, such as in a +name. See production +2 in the XML specification for the definition of a legal +character, and production +5 for the definition of a legal name character.
+ +
INVALID_MODIFICATION_ERR, +introduced in DOM Level 2.
+ +
If an attempt is made to modify the type of the underlying +object.
+ +
INVALID_STATE_ERR, +introduced in DOM Level 2.
+ +
If an attempt is made to use an object that is not, or is no +longer, usable.
+ +
NAMESPACE_ERR, introduced in +DOM Level 2.
+ +
If an attempt is made to create or change an object in a way +which is incorrect with regard to namespaces.
+ +
NOT_FOUND_ERR
+ +
If an attempt is made to reference a node in a context where it +does not exist
+ +
NOT_SUPPORTED_ERR
+ +
If the implementation does not support the requested type of +object or operation.
+ +
NO_DATA_ALLOWED_ERR
+ +
If data is specified for a node which does not support +data
+ +
NO_MODIFICATION_ALLOWED_ERR
+ +
If an attempt is made to modify an object where modifications +are not allowed
+ +
SYNTAX_ERR, introduced in DOM Level 2.
+ +
If an invalid or illegal string is specified.
+ +
WRONG_DOCUMENT_ERR
+ +
If a node is used in a different document than the one that +created it (that doesn't support it)
+
+
+
+
+
+
+ +
Interface DOMImplementation
+ +
+

The DOMImplementation interface provides a number +of methods for performing operations that are independent of any +particular instance of the document object model.

+ +
+

+IDL Definition
+ +
+
+
+interface DOMImplementation {
+  boolean            hasFeature(in DOMString feature, 
+                                in DOMString version);
+  // Introduced in DOM Level 2:
+  DocumentType       createDocumentType(in DOMString qualifiedName, 
+                                        in DOMString publicId, 
+                                        in DOMString systemId)
+                                        raises(DOMException);
+  // Introduced in DOM Level 2:
+  Document           createDocument(in DOMString namespaceURI, 
+                                    in DOMString qualifiedName, 
+                                    in DocumentType doctype)
+                                        raises(DOMException);
+};
+
+
+ +
+
+ +
Methods
+ +
+
+
createDocument +introduced in DOM Level 2
+ +
+
Creates an XML Document object of the +specified type with its document element. HTML-only DOM +implementations do not need to implement this method. + +
Parameters + +
+
+
namespaceURI of type DOMString
+ +
The namespace +URI of the document element to create.
+
+ +
qualifiedName of type DOMString
+ +
The qualified +name of the document element to be created.
+
+ +
doctype of type DocumentType
+ +
The type of document to be created or null.
+When doctype is not null, its Node.ownerDocument +attribute is set to the document being created.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Document

+
+

A new Document object.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_CHARACTER_ERR: Raised if the specified qualified name +contains an illegal character.

+ +

NAMESPACE_ERR: Raised if the qualifiedName is +malformed, if the qualifiedName has a prefix and the +namespaceURI is null, or if the +qualifiedName has a prefix that is "xml" and the +namespaceURI is different from "http://www.w3.org/XML/1998/namespace" +[Namespaces].

+ +

WRONG_DOCUMENT_ERR: Raised if doctype has already +been used with a different document or was created from a different +implementation.

+
+
+
+ + +
+ + +
+ +
createDocumentType +introduced in DOM Level 2
+ +
+
Creates an empty DocumentType node. +Entity declarations and notations are not made available. Entity +reference expansions and default attribute additions do not occur. +It is expected that a future version of the DOM will provide a way +for populating a DocumentType.
+HTML-only DOM implementations do not need to implement this method. + + +
Parameters + +
+
+
qualifiedName of type DOMString
+ +
The qualified +name of the document type to be created.
+
+ +
publicId of type DOMString
+ +
The external subset public identifier.
+
+ +
systemId of type DOMString
+ +
The external subset system identifier.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

DocumentType

+
+

A new DocumentType node +with Node.ownerDocument +set to null.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_CHARACTER_ERR: Raised if the specified qualified name +contains an illegal character.

+ +

NAMESPACE_ERR: Raised if the qualifiedName is +malformed.

+
+
+
+ + +
+ + +
+ +
hasFeature
+ +
+
Test if the DOM implementation implements a +specific feature. + +
Parameters + +
+
+
feature of type DOMString
+ +
The name of the feature to test (case-insensitive). The values +used by DOM features are defined throughout the DOM Level 2 +specifications and listed in the Conformance section. +The name must be an XML +name. To avoid possible conflicts, as a convention, names +referring to features defined outside the DOM specification should +be made unique by reversing the name of the Internet domain name of +the person (or the organization that the person belongs to) who +defines the feature, component by component, and using this as a +prefix. For instance, the W3C SVG Working Group defines the feature +"org.w3c.dom.svg".
+
+ +
version of type DOMString
+ +
This is the version number of the feature to test. In Level 2, +the string can be either "2.0" or "1.0". If the version is not +specified, supporting any version of the feature causes the method +to return true.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

boolean

+
+

true if the feature is implemented in the specified +version, false otherwise.

+
+
+
+ + +
No Exceptions
+
+ + +
+
+
+
+
+ +
Interface DocumentFragment
+ +
+

DocumentFragment is a "lightweight" or "minimal" Document object. It is +very common to want to be able to extract a portion of a document's +tree or to create a new fragment of a document. Imagine +implementing a user command like cut or rearranging a document by +moving fragments around. It is desirable to have an object which +can hold such fragments and it is quite natural to use a Node for +this purpose. While it is true that a Document object could +fulfill this role, a Document object can +potentially be a heavyweight object, depending on the underlying +implementation. What is really needed for this is a very +lightweight object. DocumentFragment is such an +object.

+ +

Furthermore, various operations -- such as inserting nodes as +children of another Node -- may take +DocumentFragment objects as arguments; this results in +all the child nodes of the DocumentFragment being +moved to the child list of this node.

+ +

The children of a DocumentFragment node are zero or +more nodes representing the tops of any sub-trees defining the +structure of the document. DocumentFragment nodes do +not need to be well-formed XML +documents (although they do need to follow the rules +imposed upon well-formed XML parsed entities, which can have +multiple top nodes). For example, a DocumentFragment +might have only one child and that child node could be a Text node. Such a +structure model represents neither an HTML document nor a +well-formed XML document.

+ +

When a DocumentFragment is inserted into a Document (or indeed +any other Node +that may take children) the children of the +DocumentFragment and not the +DocumentFragment itself are inserted into the Node. This makes +the DocumentFragment very useful when the user wishes +to create nodes that are siblings; the +DocumentFragment acts as the parent of these nodes so +that the user can use the standard methods from the Node +interface, such as insertBefore and +appendChild.

+ +
+

+IDL Definition
+ +
+
+
+interface DocumentFragment : Node {
+};
+
+
+ +
+
+
+
+ +
Interface Document
+ +
+

The Document interface represents the entire HTML +or XML document. Conceptually, it is the root of the document +tree, and provides the primary access to the document's data.

+ +

Since elements, text nodes, comments, processing instructions, +etc. cannot exist outside the context of a Document, +the Document interface also contains the factory +methods needed to create these objects. The Node objects +created have a ownerDocument attribute which +associates them with the Document within whose context +they were created.

+ +
+

+IDL Definition
+ +
+
+
+interface Document : Node {
+  readonly attribute DocumentType     doctype;
+  readonly attribute DOMImplementation  implementation;
+  readonly attribute Element          documentElement;
+  Element            createElement(in DOMString tagName)
+                                        raises(DOMException);
+  DocumentFragment   createDocumentFragment();
+  Text               createTextNode(in DOMString data);
+  Comment            createComment(in DOMString data);
+  CDATASection       createCDATASection(in DOMString data)
+                                        raises(DOMException);
+  ProcessingInstruction createProcessingInstruction(in DOMString target, 
+                                                    in DOMString data)
+                                        raises(DOMException);
+  Attr               createAttribute(in DOMString name)
+                                        raises(DOMException);
+  EntityReference    createEntityReference(in DOMString name)
+                                        raises(DOMException);
+  NodeList           getElementsByTagName(in DOMString tagname);
+  // Introduced in DOM Level 2:
+  Node               importNode(in Node importedNode, 
+                                in boolean deep)
+                                        raises(DOMException);
+  // Introduced in DOM Level 2:
+  Element            createElementNS(in DOMString namespaceURI, 
+                                     in DOMString qualifiedName)
+                                        raises(DOMException);
+  // Introduced in DOM Level 2:
+  Attr               createAttributeNS(in DOMString namespaceURI, 
+                                       in DOMString qualifiedName)
+                                        raises(DOMException);
+  // Introduced in DOM Level 2:
+  NodeList           getElementsByTagNameNS(in DOMString namespaceURI, 
+                                            in DOMString localName);
+  // Introduced in DOM Level 2:
+  Element            getElementById(in DOMString elementId);
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
doctype of type DocumentType, +readonly
+ +
The Document Type Declaration (see DocumentType) +associated with this document. For HTML documents as well as XML +documents without a document type declaration this returns +null. The DOM Level 2 does not support editing the +Document Type Declaration. docType cannot be altered +in any way, including through the use of methods inherited from the +Node interface, +such as insertNode or removeNode.
+
+ +
documentElement of type Element, +readonly
+ +
This is a convenience +attribute that allows direct access to the child node that is the +root element of the document. For HTML documents, this is the +element with the tagName "HTML".
+
+ +
implementation of type DOMImplementation, +readonly
+ +
The DOMImplementation +object that handles this document. A DOM application may use +objects from multiple implementations.
+
+
+
+ +
Methods
+ +
+
+
createAttribute
+ +
+
Creates an Attr of the given +name. Note that the Attr instance can +then be set on an Element using the +setAttributeNode method.
+To create an attribute with a qualified name and namespace URI, use +the createAttributeNS method. + +
Parameters + +
+
+
name of type DOMString
+ +
The name of the attribute.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Attr

+
+

A new Attr object with the +nodeName attribute set to name, and +localName, prefix, and +namespaceURI set to null. The value of +the attribute is the empty string.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_CHARACTER_ERR: Raised if the specified name contains an +illegal character.

+
+
+
+ + +
+ + +
+ +
createAttributeNS introduced in DOM Level 2
+ +
+
Creates an attribute of the given qualified +name and namespace URI. HTML-only DOM implementations do not need +to implement this method. + +
Parameters + +
+
+
namespaceURI of type DOMString
+ +
The namespace +URI of the attribute to create.
+
+ +
qualifiedName of type DOMString
+ +
The qualified +name of the attribute to instantiate.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Attr

+
+

A new Attr object with the +following attributes:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeValue
Node.nodeNamequalifiedName
Node.namespaceURI +namespaceURI
Node.prefixprefix, extracted from +qualifiedName, or null if there is no +prefix
Node.localNamelocal name, +extracted from qualifiedName
Attr.name +qualifiedName
Node.nodeValuethe empty string
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_CHARACTER_ERR: Raised if the specified qualified name +contains an illegal character.

+ +

NAMESPACE_ERR: Raised if the qualifiedName is +malformed, if the qualifiedName has a prefix and the +namespaceURI is null, if the +qualifiedName has a prefix that is "xml" and the +namespaceURI is different from "http://www.w3.org/XML/1998/namespace", +or if the qualifiedName is "xmlns" and the +namespaceURI is different from "http://www.w3.org/2000/xmlns/".

+
+
+
+ + +
+ + +
+ +
createCDATASection
+ +
+
Creates a CDATASection node +whose value is the specified string. + +
Parameters + +
+
+
data of type DOMString
+ +
The data for the CDATASection +contents.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

CDATASection

+
+

The new CDATASection +object.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NOT_SUPPORTED_ERR: Raised if this document is an HTML +document.

+
+
+
+ + +
+ + +
+ +
createComment
+ +
+
Creates a Comment node given +the specified string. + +
Parameters + +
+
+
data of type DOMString
+ +
The data for the node.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Comment

+
+

The new Comment object.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
createDocumentFragment
+ +
+
Creates an empty DocumentFragment +object. + +
Return Value + +
+ + + + + +
+

DocumentFragment

+
+

A new DocumentFragment.

+
+
+
+ + +
No Parameters
+ +
No Exceptions
+
+ + +
+ +
createElement
+ +
+
Creates an element of the type specified. Note +that the instance returned implements the Element interface, +so attributes can be specified directly on the returned +object.
+In addition, if there are known attributes with default values, Attr nodes +representing them are automatically created and attached to the +element.
+To create an element with a qualified name and namespace URI, use +the createElementNS method. + +
Parameters + +
+
+
tagName of type DOMString
+ +
The name of the element type to instantiate. For XML, this is +case-sensitive. For HTML, the tagName parameter may be +provided in any case, but it must be mapped to the canonical +uppercase form by the DOM implementation.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Element

+
+

A new Element object with +the nodeName attribute set to tagName, +and localName, prefix, and +namespaceURI set to null.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_CHARACTER_ERR: Raised if the specified name contains an +illegal character.

+
+
+
+ + +
+ + +
+ +
createElementNS introduced in DOM Level 2
+ +
+
Creates an element of the given qualified name +and namespace URI. HTML-only DOM implementations do not need to +implement this method. + +
Parameters + +
+
+
namespaceURI of type DOMString
+ +
The namespace +URI of the element to create.
+
+ +
qualifiedName of type DOMString
+ +
The qualified +name of the element type to instantiate.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Element

+
+

A new Element object with +the following attributes:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AttributeValue
Node.nodeName +qualifiedName
Node.namespaceURI +namespaceURI
Node.prefixprefix, extracted from +qualifiedName, or null if there is no +prefix
Node.localNamelocal name, +extracted from qualifiedName
Element.tagName +qualifiedName
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_CHARACTER_ERR: Raised if the specified qualified name +contains an illegal character.

+ +

NAMESPACE_ERR: Raised if the qualifiedName is +malformed, if the qualifiedName has a prefix and the +namespaceURI is null, or if the +qualifiedName has a prefix that is "xml" and the +namespaceURI is different from "http://www.w3.org/XML/1998/namespace" +[Namespaces].

+
+
+
+ + +
+ + +
+ +
createEntityReference
+ +
+
Creates an EntityReference +object. In addition, if the referenced entity is known, the child +list of the EntityReference node +is made the same as that of the corresponding Entity node. + +

Note: If any descendant of the Entity node has an +unbound namespace +prefix, the corresponding descendant of the created EntityReference node +is also unbound; (its namespaceURI is +null). The DOM Level 2 does not support any mechanism +to resolve namespace prefixes.

+ +
Parameters + +
+
+
name of type DOMString
+ +
The name of the entity to reference.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

EntityReference

+
+

The new EntityReference +object.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_CHARACTER_ERR: Raised if the specified name contains an +illegal character.

+ +

NOT_SUPPORTED_ERR: Raised if this document is an HTML +document.

+
+
+
+ + +
+ + +
+ +
createProcessingInstruction
+ +
+
Creates a ProcessingInstruction +node given the specified name and data strings. + +
Parameters + +
+
+
target of type DOMString
+ +
The target part of the processing instruction.
+
+ +
data of type DOMString
+ +
The data for the node.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

ProcessingInstruction

+
+

The new ProcessingInstruction +object.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_CHARACTER_ERR: Raised if the specified target contains +an illegal character.

+ +

NOT_SUPPORTED_ERR: Raised if this document is an HTML +document.

+
+
+
+ + +
+ + +
+ +
createTextNode
+ +
+
Creates a Text node given the +specified string. + +
Parameters + +
+
+
data of type DOMString
+ +
The data for the node.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Text

+
+

The new Text object.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
getElementById introduced in DOM Level 2
+ +
+
Returns the Element whose +ID is given by elementId. If no such +element exists, returns null. Behavior is not defined +if more than one element has this ID. + +

Note: The DOM implementation must have information that +says which attributes are of type ID. Attributes with the name "ID" +are not of type ID unless so defined. Implementations that do not +know whether attributes are of type ID or not are expected to +return null.

+ +
Parameters + +
+
+
elementId of type DOMString
+ +
The unique id value for an element.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Element

+
+

The matching element.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
getElementsByTagName
+ +
+
Returns a NodeList of all the +Elements with a +given tag name in the order in which they are encountered in a +preorder traversal of the Document tree. + +
Parameters + +
+
+
tagname of type DOMString
+ +
The name of the tag to match on. The special value "*" matches +all tags.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

NodeList

+
+

A new NodeList object +containing all the matched Elements.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
getElementsByTagNameNS introduced +in DOM Level 2
+ +
+
Returns a NodeList of all the +Elements with a +given local name +and namespace URI in the order in which they are encountered in a +preorder traversal of the Document tree. + +
Parameters + +
+
+
namespaceURI of type DOMString
+ +
The namespace +URI of the elements to match on. The special value "*" +matches all namespaces.
+
+ +
localName of type DOMString
+ +
The local +name of the elements to match on. The special value "*" +matches all local names.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

NodeList

+
+

A new NodeList object +containing all the matched Elements.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
importNode introduced in +DOM Level 2
+ +
+
Imports a node from another document to this +document. The returned node has no parent; (parentNode +is null). The source node is not altered or removed +from the original document; this method creates a new copy of the +source node.
+For all nodes, importing a node creates a node object owned by the +importing document, with attribute values identical to the source +node's nodeName and nodeType, plus the +attributes related to namespaces (prefix, +localName, and namespaceURI). As in the +cloneNode operation on a Node, the source +node is not altered.
+Additional information is copied as appropriate to the +nodeType, attempting to mirror the behavior expected +if a fragment of XML or HTML source was copied from one document to +another, recognizing that the two documents may have different DTDs +in the XML case. The following list describes the specifics for +each type of node. + +
+
ATTRIBUTE_NODE
+ +
The ownerElement attribute is set to +null and the specified flag is set to +true on the generated Attr. The descendants of the +source Attr are recursively +imported and the resulting nodes reassembled to form the +corresponding subtree.
+Note that the deep parameter has no effect on Attr nodes; they +always carry their children with them when imported.
+ +
DOCUMENT_FRAGMENT_NODE
+ +
If the deep option was set to true, +the descendants +of the source element are recursively imported and the resulting +nodes reassembled to form the corresponding subtree. Otherwise, +this simply generates an empty DocumentFragment.
+ +
DOCUMENT_NODE
+ +
Document nodes cannot be imported.
+ +
DOCUMENT_TYPE_NODE
+ +
DocumentType +nodes cannot be imported.
+ +
ELEMENT_NODE
+ +
Specified attribute nodes of the source element are +imported, and the generated Attr nodes are +attached to the generated Element. Default +attributes are not copied, though if the document being +imported into defines default attributes for this element name, +those are assigned. If the importNode +deep parameter was set to true, the descendants of the +source element are recursively imported and the resulting nodes +reassembled to form the corresponding subtree.
+ +
ENTITY_NODE
+ +
Entity nodes +can be imported, however in the current release of the DOM the DocumentType is +readonly. Ability to add these imported nodes to a DocumentType will be +considered for addition to a future release of the DOM.
+On import, the publicId, systemId, and +notationName attributes are copied. If a +deep import is requested, the descendants of the +the source Entity +are recursively imported and the resulting nodes reassembled to +form the corresponding subtree.
+ +
ENTITY_REFERENCE_NODE
+ +
Only the EntityReference +itself is copied, even if a deep import is requested, +since the source and destination documents might have defined the +entity differently. If the document being imported into provides a +definition for this entity name, its value is assigned.
+ +
NOTATION_NODE
+ +
Notation nodes +can be imported, however in the current release of the DOM the DocumentType is +readonly. Ability to add these imported nodes to a DocumentType will be +considered for addition to a future release of the DOM.
+On import, the publicId and systemId +attributes are copied.
+Note that the deep parameter has no effect on Notation nodes since +they never have any children.
+ +
PROCESSING_INSTRUCTION_NODE
+ +
The imported node copies its target and +data values from those of the source node.
+ +
TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE
+ +
These three types of nodes inheriting from CharacterData copy +their data and length attributes from +those of the source node.
+
+ +
Parameters + +
+
+
importedNode of type Node
+ +
The node to import.
+
+ +
deep of type +boolean
+ +
If true, recursively import the subtree under the +specified node; if false, import only the node itself, +as explained above. This has no effect on Attr, EntityReference, and +Notation +nodes.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Node

+
+

The imported node that belongs to this +Document.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NOT_SUPPORTED_ERR: Raised if the type of node being imported is +not supported.

+
+
+
+ + +
+ + +
+
+
+
+
+ +
Interface Node
+ +
+

The Node interface is the primary datatype for the +entire Document Object Model. It represents a single node in the +document tree. While all objects implementing the Node +interface expose methods for dealing with children, not all objects +implementing the Node interface may have children. For +example, Text +nodes may not have children, and adding children to such nodes +results in a DOMException being +raised.

+ +

The attributes nodeName, nodeValue and +attributes are included as a mechanism to get at node +information without casting down to the specific derived interface. +In cases where there is no obvious mapping of these attributes for +a specific nodeType (e.g., nodeValue for +an Element or +attributes for a Comment), this +returns null. Note that the specialized interfaces may +contain additional and more convenient mechanisms to get and set +the relevant information.

+ +
+

+IDL Definition
+ +
+
+
+interface Node {
+
+  // NodeType
+  const unsigned short      ELEMENT_NODE                   = 1;
+  const unsigned short      ATTRIBUTE_NODE                 = 2;
+  const unsigned short      TEXT_NODE                      = 3;
+  const unsigned short      CDATA_SECTION_NODE             = 4;
+  const unsigned short      ENTITY_REFERENCE_NODE          = 5;
+  const unsigned short      ENTITY_NODE                    = 6;
+  const unsigned short      PROCESSING_INSTRUCTION_NODE    = 7;
+  const unsigned short      COMMENT_NODE                   = 8;
+  const unsigned short      DOCUMENT_NODE                  = 9;
+  const unsigned short      DOCUMENT_TYPE_NODE             = 10;
+  const unsigned short      DOCUMENT_FRAGMENT_NODE         = 11;
+  const unsigned short      NOTATION_NODE                  = 12;
+
+  readonly attribute DOMString        nodeName;
+           attribute DOMString        nodeValue;
+                                        // raises(DOMException) on setting
+                                        // raises(DOMException) on retrieval
+
+  readonly attribute unsigned short   nodeType;
+  readonly attribute Node             parentNode;
+  readonly attribute NodeList         childNodes;
+  readonly attribute Node             firstChild;
+  readonly attribute Node             lastChild;
+  readonly attribute Node             previousSibling;
+  readonly attribute Node             nextSibling;
+  readonly attribute NamedNodeMap     attributes;
+  // Modified in DOM Level 2:
+  readonly attribute Document         ownerDocument;
+  Node               insertBefore(in Node newChild, 
+                                  in Node refChild)
+                                        raises(DOMException);
+  Node               replaceChild(in Node newChild, 
+                                  in Node oldChild)
+                                        raises(DOMException);
+  Node               removeChild(in Node oldChild)
+                                        raises(DOMException);
+  Node               appendChild(in Node newChild)
+                                        raises(DOMException);
+  boolean            hasChildNodes();
+  Node               cloneNode(in boolean deep);
+  // Modified in DOM Level 2:
+  void               normalize();
+  // Introduced in DOM Level 2:
+  boolean            isSupported(in DOMString feature, 
+                                 in DOMString version);
+  // Introduced in DOM Level 2:
+  readonly attribute DOMString        namespaceURI;
+  // Introduced in DOM Level 2:
+           attribute DOMString        prefix;
+                                        // raises(DOMException) on setting
+
+  // Introduced in DOM Level 2:
+  readonly attribute DOMString        localName;
+  // Introduced in DOM Level 2:
+  boolean            hasAttributes();
+};
+
+
+ +
+
+ +
Definition group NodeType
+ +
+

An integer indicating which type of node this is.

+ +

Note: Numeric codes up to 200 are reserved to W3C for +possible future use.

+ +
+
Defined Constants
+ +
+
+
ATTRIBUTE_NODE
+ +
The node is an Attr.
+ +
CDATA_SECTION_NODE
+ +
The node is a CDATASection.
+ +
COMMENT_NODE
+ +
The node is a Comment.
+ +
DOCUMENT_FRAGMENT_NODE
+ +
The node is a DocumentFragment.
+ +
DOCUMENT_NODE
+ +
The node is a Document.
+ +
DOCUMENT_TYPE_NODE
+ +
The node is a DocumentType.
+ +
ELEMENT_NODE
+ +
The node is an Element.
+ +
ENTITY_NODE
+ +
The node is an Entity.
+ +
ENTITY_REFERENCE_NODE
+ +
The node is an EntityReference.
+ +
NOTATION_NODE
+ +
The node is a Notation.
+ +
PROCESSING_INSTRUCTION_NODE
+ +
The node is a ProcessingInstruction.
+ +
TEXT_NODE
+ +
The node is a Text node.
+
+
+
+
+ +
+

The values of nodeName, nodeValue, and +attributes vary according to the node type as +follows:

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
InterfacenodeNamenodeValueattributes
Attrname of attributevalue of attributenull
CDATASection#cdata-sectioncontent of the CDATA +Sectionnull
Comment#commentcontent of the +commentnull
Document#documentnullnull
DocumentFragment#document-fragmentnullnull
DocumentTypedocument type namenullnull
Elementtag namenullNamedNodeMap
Entityentity namenullnull
EntityReferencename of entity +referencednullnull
Notationnotation namenullnull
ProcessingInstructiontargetentire content excluding +the targetnull
Text#textcontent of the text +nodenull
+
+ +
Attributes
+ +
+
+
attributes of type NamedNodeMap, +readonly
+ +
A NamedNodeMap +containing the attributes of this node (if it is an Element) or +null otherwise.
+
+ +
childNodes of type NodeList, +readonly
+ +
A NodeList +that contains all children of this node. If there are no children, +this is a NodeList containing +no nodes.
+
+ +
firstChild of type Node, readonly
+ +
The first child of this node. If there is no such node, this +returns null.
+
+ +
lastChild of type Node, readonly
+ +
The last child of this node. If there is no such node, this +returns null.
+
+ +
localName of type DOMString, readonly, +introduced in DOM Level 2
+ +
Returns the local part of the qualified name +of this node.
+For nodes of any type other than ELEMENT_NODE and +ATTRIBUTE_NODE and nodes created with a DOM Level 1 +method, such as createElement from the Document interface, +this is always null.
+
+ +
namespaceURI of type DOMString, readonly, +introduced in DOM Level 2
+ +
The namespace +URI of this node, or null if it is +unspecified.
+This is not a computed value that is the result of a namespace +lookup based on an examination of the namespace declarations in +scope. It is merely the namespace URI given at creation time.
+For nodes of any type other than ELEMENT_NODE and +ATTRIBUTE_NODE and nodes created with a DOM Level 1 +method, such as createElement from the Document interface, +this is always null. + +

Note: Per the Namespaces in XML Specification +[Namespaces] an attribute does +not inherit its namespace from the element it is attached to. If an +attribute is not explicitly given a namespace, it simply has no +namespace.

+
+ +
nextSibling of type Node, readonly
+ +
The node immediately following this node. If there is no such +node, this returns null.
+
+ +
nodeName of type DOMString, +readonly
+ +
The name of this node, depending on its type; see the table +above.
+
+ +
nodeType of type unsigned +short, readonly
+ +
A code representing the type of the underlying object, as +defined above.
+
+ +
nodeValue of type DOMString
+ +
The value of this node, depending on its type; see the table +above. When it is defined to be null, setting it has +no effect.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised when the node is +readonly.

+
+
+
+ + +
Exceptions on retrieval + +
+ + + + + +
+

DOMException

+
+

DOMSTRING_SIZE_ERR: Raised when it would return more characters +than fit in a DOMString variable on +the implementation platform.

+
+
+
+ + +
+ +
ownerDocument of type Document, readonly, +modified in DOM Level 2
+ +
The Document +object associated with this node. This is also the Document object used +to create new nodes. When this node is a Document or a DocumentType which +is not used with any Document yet, this is +null.
+
+ +
parentNode of type Node, readonly
+ +
The parent of +this node. All nodes, except Attr, Document, DocumentFragment, Entity, and Notation may have a +parent. However, if a node has just been created and not yet added +to the tree, or if it has been removed from the tree, this is +null.
+
+ +
prefix of type DOMString, introduced +in DOM Level 2
+ +
The namespace +prefix of this node, or null if it is +unspecified.
+Note that setting this attribute, when permitted, changes the +nodeName attribute, which holds the qualified name, +as well as the tagName and name +attributes of the Element and Attr interfaces, +when applicable.
+Note also that changing the prefix of an attribute that is known to +have a default value, does not make a new attribute with the +default value and the original prefix appear, since the +namespaceURI and localName do not +change.
+For nodes of any type other than ELEMENT_NODE and +ATTRIBUTE_NODE and nodes created with a DOM Level 1 +method, such as createElement from the Document interface, +this is always null.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

INVALID_CHARACTER_ERR: Raised if the specified prefix contains +an illegal character.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+ +

NAMESPACE_ERR: Raised if the specified prefix is +malformed, if the namespaceURI of this node is +null, if the specified prefix is "xml" and the +namespaceURI of this node is different from "http://www.w3.org/XML/1998/namespace", +if this node is an attribute and the specified prefix is "xmlns" +and the namespaceURI of this node is different from +"http://www.w3.org/2000/xmlns/", +or if this node is an attribute and the qualifiedName +of this node is "xmlns" [Namespaces].

+
+
+
+ + +
+ +
previousSibling of type Node, readonly
+ +
The node immediately preceding this node. If there is no such +node, this returns null.
+
+
+
+ +
Methods
+ +
+
+
appendChild
+ +
+
Adds the node newChild to the end +of the list of children of this node. If the newChild +is already in the tree, it is first removed. + +
Parameters + +
+
+
newChild of type Node
+ +
The node to add.
+If it is a DocumentFragment +object, the entire contents of the document fragment are moved into +the child list of this node
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Node

+
+

The node added.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

HIERARCHY_REQUEST_ERR: Raised if this node is of a type that +does not allow children of the type of the newChild +node, or if the node to append is one of this node's ancestors.

+ +

WRONG_DOCUMENT_ERR: Raised if newChild was created +from a different document than the one that created this node.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+
+
+
+ + +
+ + +
+ +
cloneNode
+ +
+
Returns a duplicate of this node, i.e., serves +as a generic copy constructor for nodes. The duplicate node has no +parent; (parentNode is null.).
+Cloning an Element copies all +attributes and their values, including those generated by the XML +processor to represent defaulted attributes, but this method does +not copy any text it contains unless it is a deep clone, since the +text is contained in a child Text node. Cloning +an Attribute directly, as opposed to be cloned as part +of an Element cloning +operation, returns a specified attribute (specified is +true). Cloning any other type of node simply returns a +copy of this node.
+Note that cloning an immutable subtree results in a mutable copy, +but the children of an EntityReference clone +are readonly. +In addition, clones of unspecified Attr nodes are +specified. And, cloning Document, DocumentType, Entity, and Notation nodes is +implementation dependent. + +
Parameters + +
+
+
deep of type +boolean
+ +
If true, recursively clone the subtree under the +specified node; if false, clone only the node itself +(and its attributes, if it is an Element).
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Node

+
+

The duplicate node.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
hasAttributes introduced in DOM Level 2
+ +
+
Returns whether this node (if it is an element) +has any attributes. + +
Return Value + +
+ + + + + +
+

boolean

+
+

true if this node has any attributes, +false otherwise.

+
+
+
+ + +
No Parameters
+ +
No Exceptions
+
+ + +
+ +
hasChildNodes
+ +
+
Returns whether this node has any children. + +
Return Value + +
+ + + + + +
+

boolean

+
+

true if this node has any children, +false otherwise.

+
+
+
+ + +
No Parameters
+ +
No Exceptions
+
+ + +
+ +
insertBefore
+ +
+
Inserts the node newChild before +the existing child node refChild. If +refChild is null, insert +newChild at the end of the list of children.
+If newChild is a DocumentFragment +object, all of its children are inserted, in the same order, before +refChild. If the newChild is already in +the tree, it is first removed. + +
Parameters + +
+
+
newChild of type Node
+ +
The node to insert.
+
+ +
refChild of type Node
+ +
The reference node, i.e., the node before which the new node +must be inserted.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Node

+
+

The node being inserted.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

HIERARCHY_REQUEST_ERR: Raised if this node is of a type that +does not allow children of the type of the newChild +node, or if the node to insert is one of this node's ancestors.

+ +

WRONG_DOCUMENT_ERR: Raised if newChild was created +from a different document than the one that created this node.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or +if the parent of the node being inserted is readonly.

+ +

NOT_FOUND_ERR: Raised if refChild is not a child of +this node.

+
+
+
+ + +
+ + +
+ +
isSupported introduced +in DOM Level 2
+ +
+
Tests whether the DOM implementation implements +a specific feature and that feature is supported by this node. + +
Parameters + +
+
+
feature of type DOMString
+ +
The name of the feature to test. This is the same name which +can be passed to the method hasFeature on DOMImplementation.
+
+ +
version of type DOMString
+ +
This is the version number of the feature to test. In Level 2, +version 1, this is the string "2.0". If the version is not +specified, supporting any version of the feature will cause the +method to return true.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

boolean

+
+

Returns true if the specified feature is supported +on this node, false otherwise.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
normalize modified in DOM Level 2
+ +
+
Puts all Text nodes in the +full depth of the sub-tree underneath this Node, +including attribute nodes, into a "normal" form where only +structure (e.g., elements, comments, processing instructions, CDATA +sections, and entity references) separates Text nodes, i.e., +there are neither adjacent Text nodes nor +empty Text 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 [XPointer] lookups) that depend +on a particular document tree structure are to be used. + +

Note: In cases where the document contains CDATASections, the +normalize operation alone may not be sufficient, since XPointers do +not differentiate between Text nodes and CDATASection +nodes.

+ +
No Parameters
+ +
No Return Value
+ +
No Exceptions
+
+ + +
+ +
removeChild
+ +
+
Removes the child node indicated by +oldChild from the list of children, and returns it. + +
Parameters + +
+
+
oldChild of type Node
+ +
The node being removed.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Node

+
+

The node removed.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+ +

NOT_FOUND_ERR: Raised if oldChild is not a child of +this node.

+
+
+
+ + +
+ + +
+ +
replaceChild
+ +
+
Replaces the child node oldChild +with newChild in the list of children, and returns the +oldChild node.
+If newChild is a DocumentFragment +object, oldChild is replaced by all of the DocumentFragment +children, which are inserted in the same order. If the +newChild is already in the tree, it is first removed. + +
Parameters + +
+
+
newChild of type Node
+ +
The new node to put in the child list.
+
+ +
oldChild of type Node
+ +
The node being replaced in the list.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Node

+
+

The node replaced.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

HIERARCHY_REQUEST_ERR: Raised if this node is of a type that +does not allow children of the type of the newChild +node, or if the node to put in is one of this node's ancestors.

+ +

WRONG_DOCUMENT_ERR: Raised if newChild was created +from a different document than the one that created this node.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the parent +of the new node is readonly.

+ +

NOT_FOUND_ERR: Raised if oldChild is not a child of +this node.

+
+
+
+ + +
+ + +
+
+
+
+
+ +
Interface NodeList
+ +
+

The NodeList interface provides the abstraction of +an ordered collection of nodes, without defining or constraining +how this collection is implemented. NodeList objects +in the DOM are live.

+ +

The items in the NodeList are accessible via an +integral index, starting from 0.

+ +
+

+IDL Definition
+ +
+
+
+interface NodeList {
+  Node               item(in unsigned long index);
+  readonly attribute unsigned long    length;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
length of type unsigned +long, readonly
+ +
The number of nodes in the list. The range of valid child node +indices is 0 to length-1 inclusive.
+
+
+
+ +
Methods
+ +
+
+
item
+ +
+
Returns the indexth item in the +collection. If index is greater than or equal to the +number of nodes in the list, this returns null. + +
Parameters + +
+
+
index of type +unsigned long
+ +
Index into the collection.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Node

+
+

The node at the indexth position in the +NodeList, or null if that is not a valid +index.

+
+
+
+ + +
No Exceptions
+
+ + +
+
+
+
+
+ +
Interface NamedNodeMap
+ +
+

Objects implementing the NamedNodeMap interface are +used to represent collections of nodes that can be accessed by +name. Note that NamedNodeMap does not inherit from NodeList; +NamedNodeMaps are not maintained in any particular +order. Objects contained in an object implementing +NamedNodeMap may also be accessed by an ordinal index, +but this is simply to allow convenient enumeration of the contents +of a NamedNodeMap, and does not imply that the DOM +specifies an order to these Nodes.

+ +

NamedNodeMap objects in the DOM are live.

+ +
+

+IDL Definition
+ +
+
+
+interface NamedNodeMap {
+  Node               getNamedItem(in DOMString name);
+  Node               setNamedItem(in Node arg)
+                                        raises(DOMException);
+  Node               removeNamedItem(in DOMString name)
+                                        raises(DOMException);
+  Node               item(in unsigned long index);
+  readonly attribute unsigned long    length;
+  // Introduced in DOM Level 2:
+  Node               getNamedItemNS(in DOMString namespaceURI, 
+                                    in DOMString localName);
+  // Introduced in DOM Level 2:
+  Node               setNamedItemNS(in Node arg)
+                                        raises(DOMException);
+  // Introduced in DOM Level 2:
+  Node               removeNamedItemNS(in DOMString namespaceURI, 
+                                       in DOMString localName)
+                                        raises(DOMException);
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
length of type unsigned +long, readonly
+ +
The number of nodes in this map. The range of valid child node +indices is 0 to length-1 inclusive.
+
+
+
+ +
Methods
+ +
+
+
getNamedItem
+ +
+
Retrieves a node specified by name. + +
Parameters + +
+
+
name of type DOMString
+ +
The nodeName of a node to retrieve.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Node

+
+

A Node (of any type) +with the specified nodeName, or null if +it does not identify any node in this map.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
getNamedItemNS introduced in DOM Level 2
+ +
+
Retrieves a node specified by local name and +namespace URI. HTML-only DOM implementations do not need to +implement this method. + +
Parameters + +
+
+
namespaceURI of type DOMString
+ +
The namespace +URI of the node to retrieve.
+
+ +
localName of type DOMString
+ +
The local +name of the node to retrieve.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Node

+
+

A Node (of any type) +with the specified local name and namespace URI, or +null if they do not identify any node in this map.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
item
+ +
+
Returns the indexth item in the +map. If index is greater than or equal to the number +of nodes in this map, this returns null. + +
Parameters + +
+
+
index of type +unsigned long
+ +
Index into this map.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Node

+
+

The node at the indexth position in the map, or +null if that is not a valid index.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
removeNamedItem
+ +
+
Removes a node specified by name. When this map +contains the attributes attached to an element, if the removed +attribute is known to have a default value, an attribute +immediately appears containing the default value as well as the +corresponding namespace URI, local name, and prefix when +applicable. + +
Parameters + +
+
+
name of type DOMString
+ +
The nodeName of the node to remove.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Node

+
+

The node removed from this map if a node with such a name +exists.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NOT_FOUND_ERR: Raised if there is no node named +name in this map.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.

+
+
+
+ + +
+ + +
+ +
removeNamedItemNS introduced +in DOM Level 2
+ +
+
Removes a node specified by local name and +namespace URI. A removed attribute may be known to have a default +value when this map contains the attributes attached to an element, +as returned by the attributes attribute of the Node interface. If +so, an attribute immediately appears containing the default value +as well as the corresponding namespace URI, local name, and prefix +when applicable.
+HTML-only DOM implementations do not need to implement this method. + + +
Parameters + +
+
+
namespaceURI of type DOMString
+ +
The namespace +URI of the node to remove.
+
+ +
localName of type DOMString
+ +
The local +name of the node to remove.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Node

+
+

The node removed from this map if a node with such a local name +and namespace URI exists.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NOT_FOUND_ERR: Raised if there is no node with the specified +namespaceURI and localName in this +map.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.

+
+
+
+ + +
+ + +
+ +
setNamedItem
+ +
+
Adds a node using its nodeName +attribute. If a node with that name is already present in this map, +it is replaced by the new one.
+As the nodeName attribute is used to derive the name +which the node must be stored under, multiple nodes of certain +types (those that have a "special" string value) cannot be stored +as the names would clash. This is seen as preferable to allowing +nodes to be aliased. + +
Parameters + +
+
+
arg of type Node
+ +
A node to store in this map. The node will later be accessible +using the value of its nodeName attribute.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Node

+
+

If the new Node replaces an +existing node the replaced Node is returned, +otherwise null is returned.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

WRONG_DOCUMENT_ERR: Raised if arg was created from +a different document than the one that created this map.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.

+ +

INUSE_ATTRIBUTE_ERR: Raised if arg is an Attr that is already +an attribute of another Element object. The +DOM user must explicitly clone Attr nodes to re-use +them in other elements.

+
+
+
+ + +
+ + +
+ +
setNamedItemNS introduced in DOM Level 2
+ +
+
Adds a node using its namespaceURI +and localName. If a node with that namespace URI and +that local name is already present in this map, it is replaced by +the new one.
+HTML-only DOM implementations do not need to implement this method. + + +
Parameters + +
+
+
arg of type Node
+ +
A node to store in this map. The node will later be accessible +using the value of its namespaceURI and +localName attributes.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Node

+
+

If the new Node replaces an +existing node the replaced Node is returned, +otherwise null is returned.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

WRONG_DOCUMENT_ERR: Raised if arg was created from +a different document than the one that created this map.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.

+ +

INUSE_ATTRIBUTE_ERR: Raised if arg is an Attr that is already +an attribute of another Element object. The +DOM user must explicitly clone Attr nodes to re-use +them in other elements.

+
+
+
+ + +
+ + +
+
+
+
+
+ +
Interface CharacterData
+ +
+

The CharacterData interface extends Node with a set +of attributes and methods for accessing character data in the DOM. +For clarity this set is defined here rather than on each object +that uses these attributes and methods. No DOM objects correspond +directly to CharacterData, though Text and others do +inherit the interface from it. All offsets in this +interface start from 0.

+ +

As explained in the DOMString interface, +text strings in the DOM are represented in UTF-16, i.e. as a +sequence of 16-bit units. In the following, the term 16-bit units is +used whenever necessary to indicate that indexing on CharacterData +is done in 16-bit units.

+ +
+

+IDL Definition
+ +
+
+
+interface CharacterData : Node {
+           attribute DOMString        data;
+                                        // raises(DOMException) on setting
+                                        // raises(DOMException) on retrieval
+
+  readonly attribute unsigned long    length;
+  DOMString          substringData(in unsigned long offset, 
+                                   in unsigned long count)
+                                        raises(DOMException);
+  void               appendData(in DOMString arg)
+                                        raises(DOMException);
+  void               insertData(in unsigned long offset, 
+                                in DOMString arg)
+                                        raises(DOMException);
+  void               deleteData(in unsigned long offset, 
+                                in unsigned long count)
+                                        raises(DOMException);
+  void               replaceData(in unsigned long offset, 
+                                 in unsigned long count, 
+                                 in DOMString arg)
+                                        raises(DOMException);
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
data of type DOMString
+ +
The character data of the node that implements this interface. +The DOM implementation may not put arbitrary limits on the amount +of data that may be stored in a CharacterData node. +However, implementation limits may mean that the entirety of a +node's data may not fit into a single DOMString. In such +cases, the user may call substringData to retrieve the +data in appropriately sized pieces.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised when the node is +readonly.

+
+
+
+ + +
Exceptions on retrieval + +
+ + + + + +
+

DOMException

+
+

DOMSTRING_SIZE_ERR: Raised when it would return more characters +than fit in a DOMString variable on +the implementation platform.

+
+
+
+ + +
+ +
length of type unsigned +long, readonly
+ +
The number of 16-bit +units that are available through data and the +substringData method below. This may have the value +zero, i.e., CharacterData nodes may be empty.
+
+
+
+ +
Methods
+ +
+
+
appendData
+ +
+
Append the string to the end of the character +data of the node. Upon success, data provides access +to the concatenation of data and the DOMString specified. + +
Parameters + +
+
+
arg of type DOMString
+ +
The DOMString to +append.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
deleteData
+ +
+
Remove a range of 16-bit units from +the node. Upon success, data and length +reflect the change. + +
Parameters + +
+
+
offset of type +unsigned long
+ +
The offset from which to start removing.
+
+ +
count of type +unsigned long
+ +
The number of 16-bit units to delete. If the sum of +offset and count exceeds +length then all 16-bit units from offset +to the end of the data are deleted.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INDEX_SIZE_ERR: Raised if the specified offset is +negative or greater than the number of 16-bit units in +data, or if the specified count is +negative.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
insertData
+ +
+
Insert a string at the specified 16-bit unit +offset. + +
Parameters + +
+
+
offset of type +unsigned long
+ +
The character offset at which to insert.
+
+ +
arg of type DOMString
+ +
The DOMString to +insert.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INDEX_SIZE_ERR: Raised if the specified offset is +negative or greater than the number of 16-bit units in +data.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
replaceData
+ +
+
Replace the characters starting at the +specified 16-bit +unit offset with the specified string. + +
Parameters + +
+
+
offset of type +unsigned long
+ +
The offset from which to start replacing.
+
+ +
count of type +unsigned long
+ +
The number of 16-bit units to replace. If the sum of +offset and count exceeds +length, then all 16-bit units to the end of the data +are replaced; (i.e., the effect is the same as a +remove method call with the same range, followed by an +append method invocation).
+
+ +
arg of type DOMString
+ +
The DOMString with which +the range must be replaced.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INDEX_SIZE_ERR: Raised if the specified offset is +negative or greater than the number of 16-bit units in +data, or if the specified count is +negative.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
substringData
+ +
+
Extracts a range of data from the node. + +
Parameters + +
+
+
offset of type +unsigned long
+ +
Start offset of substring to extract.
+
+ +
count of type +unsigned long
+ +
The number of 16-bit units to extract.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

DOMString

+
+

The specified substring. If the sum of offset and +count exceeds the length, then all 16-bit +units to the end of the data are returned.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INDEX_SIZE_ERR: Raised if the specified offset is +negative or greater than the number of 16-bit units in +data, or if the specified count is +negative.

+ +

DOMSTRING_SIZE_ERR: Raised if the specified range of text does +not fit into a DOMString.

+
+
+
+ + +
+ + +
+
+
+
+
+ +
Interface Attr
+ +
+

The Attr interface represents an attribute in an Element object. +Typically the allowable values for the attribute are defined in a +document type definition.

+ +

Attr objects inherit the Node interface, but +since they are not actually child nodes of the element they +describe, the DOM does not consider them part of the document tree. +Thus, the Node attributes +parentNode, previousSibling, and +nextSibling have a null value for +Attr objects. The DOM takes the view that attributes +are properties of elements rather than having a separate identity +from the elements they are associated with; this should make it +more efficient to implement such features as default attributes +associated with all elements of a given type. Furthermore, +Attr nodes may not be immediate children of a DocumentFragment. +However, they can be associated with Element nodes +contained within a DocumentFragment. In +short, users and implementors of the DOM need to be aware that +Attr nodes have some things in common with other +objects inheriting the Node interface, but +they also are quite distinct.

+ +

The attribute's effective value is determined as follows: if +this attribute has been explicitly assigned any value, that value +is the attribute's effective value; otherwise, if there is a +declaration for this attribute, and that declaration includes a +default value, then that default value is the attribute's effective +value; otherwise, the attribute does not exist on this element in +the structure model until it has been explicitly added. Note that +the nodeValue attribute on the Attr +instance can also be used to retrieve the string version of the +attribute's value(s).

+ +

In XML, where the value of an attribute can contain entity +references, the child nodes of the Attr node may be +either Text or +EntityReference +nodes (when these are in use; see the description of EntityReference for +discussion). Because the DOM Core is not aware of attribute types, +it treats all attribute values as simple strings, even if the DTD +or schema declares them as having tokenized types.

+ +
+

+IDL Definition
+ +
+
+
+interface Attr : Node {
+  readonly attribute DOMString        name;
+  readonly attribute boolean          specified;
+           attribute DOMString        value;
+                                        // raises(DOMException) on setting
+
+  // Introduced in DOM Level 2:
+  readonly attribute Element          ownerElement;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
name of type DOMString, +readonly
+ +
Returns the name of this attribute.
+
+ +
ownerElement of type Element, readonly, +introduced in DOM Level 2
+ +
The Element +node this attribute is attached to or null if this +attribute is not in use.
+
+ +
specified of type +boolean, readonly
+ +
If this attribute was explicitly given a value in the original +document, this is true; otherwise, it is +false. Note that the implementation is in charge of +this attribute, not the user. If the user changes the value of the +attribute (even if it ends up having the same value as the default +value) then the specified flag is automatically +flipped to true. To re-specify the attribute as the +default value from the DTD, the user must delete the attribute. The +implementation will then make a new attribute available with +specified set to false and the default +value (if one exists).
+In summary: + +
    +
  • If the attribute has an assigned value in the document then +specified is true, and the value is the +assigned value.
  • + +
  • If the attribute has no assigned value in the document and has +a default value in the DTD, then specified is +false, and the value is the default value in the +DTD.
  • + +
  • If the attribute has no assigned value in the document and has +a value of #IMPLIED in the DTD, then the attribute does not appear +in the structure model of the document.
  • + +
  • If the ownerElement attribute is null +(i.e. because it was just created or was set to null +by the various removal and cloning operations) +specified is true.
  • +
+ +
+
+ +
value of type DOMString
+ +
On retrieval, the value of the attribute is returned as a +string. Character and general entity references are replaced with +their values. See also the method getAttribute on the +Element +interface.
+On setting, this creates a Text node with the +unparsed contents of the string. I.e. any characters that an XML +processor would recognize as markup are instead treated as literal +text. See also the method setAttribute on the Element +interface.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised when the node is +readonly.

+
+
+
+ + +
+
+
+
+
+ +
Interface Element
+ +
+

The Element interface represents an element in an HTML or +XML document. Elements may have attributes associated with them; +since the Element interface inherits from Node, the generic +Node interface +attribute attributes may be used to retrieve the set +of all attributes for an element. There are methods on the +Element interface to retrieve either an Attr object by name +or an attribute value by name. In XML, where an attribute value may +contain entity references, an Attr object should +be retrieved to examine the possibly fairly complex sub-tree +representing the attribute value. On the other hand, in HTML, where +all attributes have simple string values, methods to directly +access an attribute value can safely be used as a convenience.

+ +

Note: In DOM Level 2, the method normalize +is inherited from the Node interface +where it was moved.

+ +
+

+IDL Definition
+ +
+
+
+interface Element : Node {
+  readonly attribute DOMString        tagName;
+  DOMString          getAttribute(in DOMString name);
+  void               setAttribute(in DOMString name, 
+                                  in DOMString value)
+                                        raises(DOMException);
+  void               removeAttribute(in DOMString name)
+                                        raises(DOMException);
+  Attr               getAttributeNode(in DOMString name);
+  Attr               setAttributeNode(in Attr newAttr)
+                                        raises(DOMException);
+  Attr               removeAttributeNode(in Attr oldAttr)
+                                        raises(DOMException);
+  NodeList           getElementsByTagName(in DOMString name);
+  // Introduced in DOM Level 2:
+  DOMString          getAttributeNS(in DOMString namespaceURI, 
+                                    in DOMString localName);
+  // Introduced in DOM Level 2:
+  void               setAttributeNS(in DOMString namespaceURI, 
+                                    in DOMString qualifiedName, 
+                                    in DOMString value)
+                                        raises(DOMException);
+  // Introduced in DOM Level 2:
+  void               removeAttributeNS(in DOMString namespaceURI, 
+                                       in DOMString localName)
+                                        raises(DOMException);
+  // Introduced in DOM Level 2:
+  Attr               getAttributeNodeNS(in DOMString namespaceURI, 
+                                        in DOMString localName);
+  // Introduced in DOM Level 2:
+  Attr               setAttributeNodeNS(in Attr newAttr)
+                                        raises(DOMException);
+  // Introduced in DOM Level 2:
+  NodeList           getElementsByTagNameNS(in DOMString namespaceURI, 
+                                            in DOMString localName);
+  // Introduced in DOM Level 2:
+  boolean            hasAttribute(in DOMString name);
+  // Introduced in DOM Level 2:
+  boolean            hasAttributeNS(in DOMString namespaceURI, 
+                                    in DOMString localName);
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
tagName of type DOMString, +readonly
+ +
The name of the element. For example, in: + +
+
+<elementExample id="demo"> 
+        ... 
+</elementExample> ,
+
+
+ +tagName has the value "elementExample". +Note that this is case-preserving in XML, as are all of the +operations of the DOM. The HTML DOM returns the +tagName of an HTML element in the canonical uppercase +form, regardless of the case in the source HTML document.
+
+
+
+ +
Methods
+ +
+
+
getAttribute
+ +
+
Retrieves an attribute value by name. + +
Parameters + +
+
+
name of type DOMString
+ +
The name of the attribute to retrieve.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

DOMString

+
+

The Attr value +as a string, or the empty string if that attribute does not have a +specified or default value.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
getAttributeNS introduced in DOM Level 2
+ +
+
Retrieves an attribute value by local name and +namespace URI. HTML-only DOM implementations do not need to +implement this method. + +
Parameters + +
+
+
namespaceURI of type DOMString
+ +
The namespace +URI of the attribute to retrieve.
+
+ +
localName of type DOMString
+ +
The local +name of the attribute to retrieve.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

DOMString

+
+

The Attr value +as a string, or the empty string if that attribute does not have a +specified or default value.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
getAttributeNode
+ +
+
Retrieves an attribute node by name.
+To retrieve an attribute node by qualified name and namespace URI, +use the getAttributeNodeNS method. + +
Parameters + +
+
+
name of type DOMString
+ +
The name (nodeName) of the attribute to +retrieve.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Attr

+
+

The Attr node with the +specified name (nodeName) or null if +there is no such attribute.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
getAttributeNodeNS introduced in +DOM Level 2
+ +
+
Retrieves an Attr node by local +name and namespace URI. HTML-only DOM implementations do not need +to implement this method. + +
Parameters + +
+
+
namespaceURI of type DOMString
+ +
The namespace +URI of the attribute to retrieve.
+
+ +
localName of type DOMString
+ +
The local +name of the attribute to retrieve.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Attr

+
+

The Attr node with the +specified attribute local name and namespace URI or +null if there is no such attribute.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
getElementsByTagName
+ +
+
Returns a NodeList of all descendant +Elements with a given tag name, in the order in which +they are encountered in a preorder traversal of this +Element tree. + +
Parameters + +
+
+
name of type DOMString
+ +
The name of the tag to match on. The special value "*" matches +all tags.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

NodeList

+
+

A list of matching Element nodes.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
getElementsByTagNameNS introduced in +DOM Level 2
+ +
+
Returns a NodeList of all the +descendant +Elements with a given local name and namespace URI in +the order in which they are encountered in a preorder traversal of +this Element tree.
+HTML-only DOM implementations do not need to implement this method. + + +
Parameters + +
+
+
namespaceURI of type DOMString
+ +
The namespace +URI of the elements to match on. The special value "*" +matches all namespaces.
+
+ +
localName of type DOMString
+ +
The local +name of the elements to match on. The special value "*" +matches all local names.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

NodeList

+
+

A new NodeList object +containing all the matched Elements.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
hasAttribute introduced in DOM Level 2
+ +
+
Returns true when an attribute +with a given name is specified on this element or has a default +value, false otherwise. + +
Parameters + +
+
+
name of type DOMString
+ +
The name of the attribute to look for.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

boolean

+
+

true if an attribute with the given name is +specified on this element or has a default value, +false otherwise.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
hasAttributeNS introduced in DOM Level 2
+ +
+
Returns true when an attribute +with a given local name and namespace URI is specified on this +element or has a default value, false otherwise. +HTML-only DOM implementations do not need to implement this method. + + +
Parameters + +
+
+
namespaceURI of type DOMString
+ +
The namespace +URI of the attribute to look for.
+
+ +
localName of type DOMString
+ +
The local +name of the attribute to look for.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

boolean

+
+

true if an attribute with the given local name and +namespace URI is specified or has a default value on this element, +false otherwise.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
removeAttribute
+ +
+
Removes an attribute by name. If the removed +attribute is known to have a default value, an attribute +immediately appears containing the default value as well as the +corresponding namespace URI, local name, and prefix when +applicable.
+To remove an attribute by local name and namespace URI, use the +removeAttributeNS method. + +
Parameters + +
+
+
name of type DOMString
+ +
The name of the attribute to remove.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
removeAttributeNS introduced in DOM Level 2
+ +
+
Removes an attribute by local name and +namespace URI. If the removed attribute has a default value it is +immediately replaced. The replacing attribute has the same +namespace URI and local name, as well as the original prefix.
+HTML-only DOM implementations do not need to implement this method. + + +
Parameters + +
+
+
namespaceURI of type DOMString
+ +
The namespace +URI of the attribute to remove.
+
+ +
localName of type DOMString
+ +
The local +name of the attribute to remove.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
removeAttributeNode
+ +
+
Removes the specified attribute node. If the +removed Attr has +a default value it is immediately replaced. The replacing attribute +has the same namespace URI and local name, as well as the original +prefix, when applicable. + +
Parameters + +
+
+
oldAttr of type Attr
+ +
The Attr node to remove +from the attribute list.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Attr

+
+

The Attr node that was +removed.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+ +

NOT_FOUND_ERR: Raised if oldAttr is not an +attribute of the element.

+
+
+
+ + +
+ + +
+ +
setAttribute
+ +
+
Adds a new attribute. If an attribute with that +name is already present in the element, its value is changed to be +that of the value parameter. This value is a simple string; it is +not parsed as it is being set. So any markup (such as syntax to be +recognized as an entity reference) is treated as literal text, and +needs to be appropriately escaped by the implementation when it is +written out. In order to assign an attribute value that contains +entity references, the user must create an Attr node plus any +Text and EntityReference +nodes, build the appropriate subtree, and use +setAttributeNode to assign it as the value of an +attribute.
+To set an attribute with a qualified name and namespace URI, use +the setAttributeNS method. + +
Parameters + +
+
+
name of type DOMString
+ +
The name of the attribute to create or alter.
+
+ +
value of type DOMString
+ +
Value to set in string form.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_CHARACTER_ERR: Raised if the specified name contains an +illegal character.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
setAttributeNS introduced in DOM Level 2
+ +
+
Adds a new attribute. If an attribute with the +same local name and namespace URI is already present on the +element, its prefix is changed to be the prefix part of the +qualifiedName, and its value is changed to be the +value parameter. This value is a simple string; it is +not parsed as it is being set. So any markup (such as syntax to be +recognized as an entity reference) is treated as literal text, and +needs to be appropriately escaped by the implementation when it is +written out. In order to assign an attribute value that contains +entity references, the user must create an Attr node plus any +Text and EntityReference +nodes, build the appropriate subtree, and use +setAttributeNodeNS or setAttributeNode to +assign it as the value of an attribute.
+HTML-only DOM implementations do not need to implement this method. + + +
Parameters + +
+
+
namespaceURI of type DOMString
+ +
The namespace +URI of the attribute to create or alter.
+
+ +
qualifiedName of type DOMString
+ +
The qualified +name of the attribute to create or alter.
+
+ +
value of type DOMString
+ +
The value to set in string form.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_CHARACTER_ERR: Raised if the specified qualified name +contains an illegal character.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+ +

NAMESPACE_ERR: Raised if the qualifiedName is +malformed, if the qualifiedName has a prefix and the +namespaceURI is null, if the +qualifiedName has a prefix that is "xml" and the +namespaceURI is different from "http://www.w3.org/XML/1998/namespace", +or if the qualifiedName is "xmlns" and the +namespaceURI is different from "http://www.w3.org/2000/xmlns/".

+
+
+
+ + +
No Return Value
+
+ + +
+ +
setAttributeNode
+ +
+
Adds a new attribute node. If an attribute with +that name (nodeName) is already present in the +element, it is replaced by the new one.
+To add a new attribute node with a qualified name and namespace +URI, use the setAttributeNodeNS method. + +
Parameters + +
+
+
newAttr of type Attr
+ +
The Attr node to add to +the attribute list.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Attr

+
+

If the newAttr attribute replaces an existing +attribute, the replaced Attr node is +returned, otherwise null is returned.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

WRONG_DOCUMENT_ERR: Raised if newAttr was created +from a different document than the one that created the +element.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+ +

INUSE_ATTRIBUTE_ERR: Raised if newAttr is already +an attribute of another Element object. The DOM user +must explicitly clone Attr nodes to re-use +them in other elements.

+
+
+
+ + +
+ + +
+ +
setAttributeNodeNS introduced in +DOM Level 2
+ +
+
Adds a new attribute. If an attribute with that +local name and that namespace URI is already present in the +element, it is replaced by the new one.
+HTML-only DOM implementations do not need to implement this method. + + +
Parameters + +
+
+
newAttr of type Attr
+ +
The Attr node to add to +the attribute list.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Attr

+
+

If the newAttr attribute replaces an existing +attribute with the same local name and namespace URI, +the replaced Attr node is +returned, otherwise null is returned.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

WRONG_DOCUMENT_ERR: Raised if newAttr was created +from a different document than the one that created the +element.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+ +

INUSE_ATTRIBUTE_ERR: Raised if newAttr is already +an attribute of another Element object. The DOM user +must explicitly clone Attr nodes to re-use +them in other elements.

+
+
+
+ + +
+ + +
+
+
+
+
+ +
Interface Text
+ +
+

The Text interface inherits from CharacterData and +represents the textual content (termed character +data in XML) of an Element or Attr. If there is no +markup inside an element's content, the text is contained in a +single object implementing the Text interface that is +the only child of the element. If there is markup, it is parsed +into the information +items (elements, comments, etc.) and Text +nodes that form the list of children of the element.

+ +

When a document is first made available via the DOM, there is +only one Text node for each block of text. Users may +create adjacent Text nodes that represent the contents +of a given element without any intervening markup, but should be +aware that there is no way to represent the separations between +these nodes in XML or HTML, so they will not (in general) persist +between DOM editing sessions. The normalize() method +on Node merges +any such adjacent Text objects into a single node for +each block of text.

+ +
+

+IDL Definition
+ +
+
+
+interface Text : CharacterData {
+  Text               splitText(in unsigned long offset)
+                                        raises(DOMException);
+};
+
+
+ +
+
+ +
Methods
+ +
+
+
splitText
+ +
+
Breaks this node into two nodes at the +specified offset, keeping both in the tree as siblings. After being +split, this node will contain all the content up to the +offset point. A new node of the same type, which +contains all the content at and after the offset +point, is returned. If the original node had a parent node, the new +node is inserted as the next sibling of the +original node. When the offset is equal to the length +of this node, the new node has no data. + +
Parameters + +
+
+
offset of type +unsigned long
+ +
The 16-bit +unit offset at which to split, starting from +0.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Text

+
+

The new node, of the same type as this node.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INDEX_SIZE_ERR: Raised if the specified offset is negative or +greater than the number of 16-bit units in data.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is +readonly.

+
+
+
+ + +
+ + +
+
+
+
+
+ +
Interface Comment
+ +
+

This interface inherits from CharacterData and +represents the content of a comment, i.e., all the characters +between the starting '<!--' and ending +'-->'. Note that this is the definition of a +comment in XML, and, in practice, HTML, although some HTML tools +may implement the full SGML comment structure.

+ +
+

+IDL Definition
+ +
+
+
+interface Comment : CharacterData {
+};
+
+
+ +
+
+
+
+
+
+ + +
+ +

1.3. Extended Interfaces

+ +

The interfaces defined here form part of the DOM Core +specification, but objects that expose these interfaces will never +be encountered in a DOM implementation that deals only with HTML. +As such, HTML-only DOM implementations [DOM Level 2 HTML] do not +need to have objects that implement these interfaces.

+ +

The interfaces found within this section are not mandatory. A +DOM application may use the hasFeature(feature, +version) method of the DOMImplementation +interface with parameter values "XML" and "2.0" (respectively) to +determine whether or not this module is supported by the +implementation. In order to fully support this module, an +implementation must also support the "Core" feature defined in Fundamental Interfaces. Please +refer to additional information about Conformance in this +specification.

+ +
+
Interface CDATASection
+ +
+

CDATA sections are used to escape blocks of text containing +characters that would otherwise be regarded as markup. The only +delimiter that is recognized in a CDATA section is the "]]>" +string that ends the CDATA section. CDATA sections cannot be +nested. Their primary purpose is for including material such as XML +fragments, without needing to escape all the delimiters.

+ +

The DOMString +attribute of the Text node holds the +text that is contained by the CDATA section. Note that this +may contain characters that need to be escaped outside of +CDATA sections and that, depending on the character encoding +("charset") chosen for serialization, it may be impossible to write +out some characters as part of a CDATA section.

+ +

The CDATASection interface inherits from the CharacterData +interface through the Text interface. +Adjacent CDATASection nodes are not merged by use of +the normalize method of the Node interface.

+ +

Note: Because no markup is recognized within a +CDATASection, character numeric references cannot be +used as an escape mechanism when serializing. Therefore, action +needs to be taken when serializing a CDATASection with +a character encoding where some of the contained characters cannot +be represented. Failure to do so would not produce well-formed +XML.
+One potential solution in the serialization process is to end the +CDATA section before the character, output the character using a +character reference or entity reference, and open a new CDATA +section for any further characters in the text node. Note, however, +that some code conversion libraries at the time of writing do not +return an error or exception when a character is missing from the +encoding, making the task of ensuring that data is not corrupted on +serialization more difficult.

+ +
+

+IDL Definition
+ +
+
+
+interface CDATASection : Text {
+};
+
+
+ +
+
+
+
+ +
Interface DocumentType
+ +
+

Each Document +has a doctype attribute whose value is either +null or a DocumentType object. The +DocumentType interface in the DOM Core provides an +interface to the list of entities that are defined for the +document, and little else because the effect of namespaces and the +various XML schema efforts on DTD representation are not clearly +understood as of this writing.

+ +

The DOM Level 2 doesn't support editing +DocumentType nodes.

+ +
+

+IDL Definition
+ +
+
+
+interface DocumentType : Node {
+  readonly attribute DOMString        name;
+  readonly attribute NamedNodeMap     entities;
+  readonly attribute NamedNodeMap     notations;
+  // Introduced in DOM Level 2:
+  readonly attribute DOMString        publicId;
+  // Introduced in DOM Level 2:
+  readonly attribute DOMString        systemId;
+  // Introduced in DOM Level 2:
+  readonly attribute DOMString        internalSubset;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
entities of type NamedNodeMap, +readonly
+ +
A NamedNodeMap +containing the general entities, both external and internal, +declared in the DTD. Parameter entities are not contained. +Duplicates are discarded. For example in: + +
+
+<!DOCTYPE ex SYSTEM "ex.dtd" [
+  <!ENTITY foo "foo">
+  <!ENTITY bar "bar">
+  <!ENTITY bar "bar2">
+  <!ENTITY % baz "baz">
+]>
+<ex/>
+
+
+ +the interface provides access to foo and the first +declaration of bar but not the second declaration of +bar or baz. Every node in this map also +implements the Entity +interface.
+The DOM Level 2 does not support editing entities, therefore +entities cannot be altered in any way.
+
+ +
internalSubset of +type DOMString, +readonly, introduced in DOM Level 2
+ +
The internal subset as a string. + +

Note: The actual content returned depends on how much +information is available to the implementation. This may vary +depending on various parameters, including the XML processor used +to build the document.

+
+ +
name of type DOMString, +readonly
+ +
The name of DTD; i.e., the name immediately following the +DOCTYPE keyword.
+
+ +
notations of type NamedNodeMap, +readonly
+ +
A NamedNodeMap +containing the notations declared in the DTD. Duplicates are +discarded. Every node in this map also implements the Notation +interface.
+The DOM Level 2 does not support editing notations, therefore +notations cannot be altered in any way.
+
+ +
publicId of type DOMString, readonly, +introduced in DOM Level 2
+ +
The public identifier of the external subset.
+
+ +
systemId of type DOMString, readonly, +introduced in DOM Level 2
+ +
The system identifier of the external subset.
+
+
+
+
+
+ +
Interface Notation
+ +
+

This interface represents a notation declared in the DTD. A +notation either declares, by name, the format of an unparsed entity +(see section +4.7 of the XML 1.0 specification [XML]), or is used for formal +declaration of processing instruction targets (see section +2.6 of the XML 1.0 specification [XML]). The nodeName +attribute inherited from Node is set to the +declared name of the notation.

+ +

The DOM Level 1 does not support editing Notation +nodes; they are therefore readonly.

+ +

A Notation node does not have any parent.

+ +
+

+IDL Definition
+ +
+
+
+interface Notation : Node {
+  readonly attribute DOMString        publicId;
+  readonly attribute DOMString        systemId;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
publicId of type DOMString, +readonly
+ +
The public identifier of this notation. If the public +identifier was not specified, this is null.
+
+ +
systemId of type DOMString, +readonly
+ +
The system identifier of this notation. If the system +identifier was not specified, this is null.
+
+
+
+
+
+ +
Interface Entity
+ +
+

This interface represents an entity, either parsed or unparsed, +in an XML document. Note that this models the entity itself +not the entity declaration. Entity +declaration modeling has been left for a later Level of the DOM +specification.

+ +

The nodeName attribute that is inherited from Node contains the +name of the entity.

+ +

An XML processor may choose to completely expand entities before +the structure model is passed to the DOM; in this case there will +be no EntityReference nodes +in the document tree.

+ +

XML does not mandate that a non-validating XML processor read +and process entity declarations made in the external subset or +declared in external parameter entities. This means that parsed +entities declared in the external subset need not be expanded by +some classes of applications, and that the replacement value of the +entity may not be available. When the replacement value is +available, the corresponding Entity node's child list +represents the structure of that replacement text. Otherwise, the +child list is empty.

+ +

The DOM Level 2 does not support editing Entity +nodes; if a user wants to make changes to the contents of an +Entity, every related EntityReference node +has to be replaced in the structure model by a clone of the +Entity's contents, and then the desired changes must +be made to each of those clones instead. Entity nodes +and all their descendants are readonly.

+ +

An Entity node does not have any parent.

+ +

Note: If the entity contains an unbound namespace +prefix, the namespaceURI of the corresponding +node in the Entity node subtree is null. +The same is true for EntityReference nodes +that refer to this entity, when they are created using the +createEntityReference method of the Document interface. +The DOM Level 2 does not support any mechanism to resolve namespace +prefixes.

+ +
+

+IDL Definition
+ +
+
+
+interface Entity : Node {
+  readonly attribute DOMString        publicId;
+  readonly attribute DOMString        systemId;
+  readonly attribute DOMString        notationName;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
notationName of type DOMString, +readonly
+ +
For unparsed entities, the name of the notation for the entity. +For parsed entities, this is null.
+
+ +
publicId of type DOMString, +readonly
+ +
The public identifier associated with the entity, if specified. +If the public identifier was not specified, this is +null.
+
+ +
systemId of type DOMString, +readonly
+ +
The system identifier associated with the entity, if specified. +If the system identifier was not specified, this is +null.
+
+
+
+
+
+ +
Interface EntityReference
+ +
+

EntityReference objects may be inserted into the +structure model when an entity reference is in the source document, +or when the user wishes to insert an entity reference. Note that +character references and references to predefined entities are +considered to be expanded by the HTML or XML processor so that +characters are represented by their Unicode equivalent rather than +by an entity reference. Moreover, the XML processor may completely +expand references to entities while building the structure model, +instead of providing EntityReference objects. If it +does provide such objects, then for a given +EntityReference node, it may be that there is no Entity node +representing the referenced entity. If such an Entity exists, then +the subtree of the EntityReference node is in general +a copy of the Entity node subtree. +However, this may not be true when an entity contains an unbound namespace +prefix. In such a case, because the namespace prefix +resolution depends on where the entity reference is, the descendants of the +EntityReference node may be bound to different namespace +URIs.

+ +

As for Entity +nodes, EntityReference nodes and all their descendants are readonly.

+ +
+

+IDL Definition
+ +
+
+
+interface EntityReference : Node {
+};
+
+
+ +
+
+
+
+ +
Interface ProcessingInstruction
+ +
+

The ProcessingInstruction interface represents a +"processing instruction", used in XML as a way to keep +processor-specific information in the text of the document.

+ +
+

+IDL Definition
+ +
+
+
+interface ProcessingInstruction : Node {
+  readonly attribute DOMString        target;
+           attribute DOMString        data;
+                                        // raises(DOMException) on setting
+
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
data of type DOMString
+ +
The content of this processing instruction. This is from the +first non white space character after the target to the character +immediately preceding the ?>.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised when the node is +readonly.

+
+
+
+ + +
+ +
target of type DOMString, +readonly
+ +
The target of this processing instruction. XML defines this as +being the first token +following the markup that begins the processing instruction.
+
+
+
+
+
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/core/def-index.html b/java/external/xdocs/dom/core/def-index.html new file mode 100644 index 0000000..8f47614 --- /dev/null +++ b/java/external/xdocs/dom/core/def-index.html @@ -0,0 +1,973 @@ + + + + +Index + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Index

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
16-bit +unit 1, 2, 3, 4, 5, 6, 7, 8, 9
 
ancestor 1, 2, 3, 4API 1, 2, 3, 4, 5, 6appendChild
appendDataAttrATTRIBUTE_NODE
attributes
 
CDATA_SECTION_NODECDATASectionCharacterData
Charmod 1, 2child 1, 2, 3childNodes
client application 1, 2cloneNodeCOM 1, 2, 3, 4
CommentCOMMENT_NODEconvenience 1, 2, 3
CORBA 1, 2createAttributecreateAttributeNS
createCDATASectioncreateCommentcreateDocument
createDocumentFragmentcreateDocumentTypecreateElement
createElementNScreateEntityReferencecreateProcessingInstruction
createTextNode
 
data 1, 2data model 1, 2deleteData
descendant 1, 2, +3, 4, 5, 6, 7doctypeDocument
DOCUMENT_FRAGMENT_NODEDOCUMENT_NODEDOCUMENT_TYPE_NODE
documentElementDocumentFragmentDocumentType
DOM Level 1 1, 2DOM Level 2 CSS 1, +2DOM Level 2 Events 1, +2
DOM Level 2 HTML 1, +2, 3, 4DOM Level 2 Range 1, +2DOM Level 2 Style +Sheets 1, 2
DOM Level 2 Traversal +1, 2DOM Level 2 Views 1, +2DOMException
DOMImplementationDOMStringDOMSTRING_SIZE_ERR
DOMTimeStamp
 
ECMAScript 1, 2, 3, 4Element 1, 2, 3, 4, 5, 6ELEMENT_NODE
entitiesEntityENTITY_NODE
ENTITY_REFERENCE_NODEEntityReference
 
firstChild
 
getAttributegetAttributeNodegetAttributeNodeNS
getAttributeNSgetElementByIdgetElementsByTagName 1, 2
getElementsByTagNameNS 1, 2getNamedItemgetNamedItemNS
 
hasAttributehasAttributeNShasAttributes
hasChildNodeshasFeatureHIERARCHY_REQUEST_ERR
hosting implementation 1, 2HTML 1, 2HTML4.0 1, 2
 
implementationimportNodeINDEX_SIZE_ERR
information item 1, 2Infoset 1, 2, 3, 4inheritance 1, 2
insertBeforeinsertDatainterface 1, 2
internalSubsetINUSE_ATTRIBUTE_ERRINVALID_ACCESS_ERR
INVALID_CHARACTER_ERRINVALID_MODIFICATION_ERRINVALID_STATE_ERR
ISO/IEC 10646 1, 2, 3isSupporteditem 1, 2
 
Java 1, 2JavaIDL 1, 2JavaScript 1, 2, 3
JScript 1, 2
 
language binding 1, 2lastChildlength 1, 2, 3
live +1, 2, 3local name 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12localName
 
method 1, +2MIDL 1, 2model 1, 2
 
name 1, 2NamedNodeMapnamespace prefix 1, 2, 3, 4, 5, 6
namespace URI 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17NAMESPACE_ERRNamespaces 1, 2, 3, 4, 5, 6, 7, +8, +9, +10, +11
namespaceURInextSiblingNO_DATA_ALLOWED_ERR
NO_MODIFICATION_ALLOWED_ERRNodeNodeList
nodeNamenodeTypenodeValue
normalizeNOT_FOUND_ERRNOT_SUPPORTED_ERR
NotationNOTATION_NODEnotationName
notations
 
object model 1, 2, 3OMGIDL 1, 2, 3ownerDocument
ownerElement
 
parent 1, 2parentNodeprefix
previousSiblingPROCESSING_INSTRUCTION_NODEProcessingInstruction
publicId 1, +2, 3
 
qualified name 1, 2, 3, 4, 5, 6, 7, 8, 9
 
readonly node 1, 2, 3, 4, 5removeAttributeremoveAttributeNode
removeAttributeNSremoveChildremoveNamedItem
removeNamedItemNSreplaceChildreplaceData
RFC2396 1, 2root +node 1, +2
 
setAttributesetAttributeNodesetAttributeNodeNS
setAttributeNSsetNamedItemsetNamedItemNS
sibling 1, 2, 3specifiedsplitText
string comparison 1, 2, 3substringDataSYNTAX_ERR
systemId 1, +2, 3
 
tagNametargetText
TEXT_NODEtoken 1, 2tokenized 1, 2
 
Unicode 1, 2, 3, 4
 
value
 
well-formed document 1, 2WRONG_DOCUMENT_ERR
 
XML 1, 2, 3, 4, 5, 6, 7XML +name 1, +2XML namespace 1, 2
XPointer 1, 2
+
+ + + + + + diff --git a/java/external/xdocs/dom/core/ecma-script-binding.html b/java/external/xdocs/dom/core/ecma-script-binding.html new file mode 100644 index 0000000..1f58960 --- /dev/null +++ b/java/external/xdocs/dom/core/ecma-script-binding.html @@ -0,0 +1,1015 @@ + + + + +ECMAScript Language Binding + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix E: ECMAScript +Language Binding

+ +

This appendix contains the complete ECMAScript [ECMAScript] +binding for the Level 2 Document Object Model Core definitions.

+ +

Note: Exceptions handling is only supported by ECMAScript +implementation conformant with the Standard ECMA-262 3rd. Edition +([ECMAScript]).

+ +
+
+
Prototype Object DOMException
+ +
+
+
The DOMException class has the following constants:
+ +
+
+
DOMException.INDEX_SIZE_ERR
+ +
This constant is of type Number and its value is +1.
+ +
DOMException.DOMSTRING_SIZE_ERR
+ +
This constant is of type Number and its value is +2.
+ +
DOMException.HIERARCHY_REQUEST_ERR
+ +
This constant is of type Number and its value is +3.
+ +
DOMException.WRONG_DOCUMENT_ERR
+ +
This constant is of type Number and its value is +4.
+ +
DOMException.INVALID_CHARACTER_ERR
+ +
This constant is of type Number and its value is +5.
+ +
DOMException.NO_DATA_ALLOWED_ERR
+ +
This constant is of type Number and its value is +6.
+ +
DOMException.NO_MODIFICATION_ALLOWED_ERR
+ +
This constant is of type Number and its value is +7.
+ +
DOMException.NOT_FOUND_ERR
+ +
This constant is of type Number and its value is +8.
+ +
DOMException.NOT_SUPPORTED_ERR
+ +
This constant is of type Number and its value is +9.
+ +
DOMException.INUSE_ATTRIBUTE_ERR
+ +
This constant is of type Number and its value is +10.
+ +
DOMException.INVALID_STATE_ERR
+ +
This constant is of type Number and its value is +11.
+ +
DOMException.SYNTAX_ERR
+ +
This constant is of type Number and its value is +12.
+ +
DOMException.INVALID_MODIFICATION_ERR
+ +
This constant is of type Number and its value is +13.
+ +
DOMException.NAMESPACE_ERR
+ +
This constant is of type Number and its value is +14.
+ +
DOMException.INVALID_ACCESS_ERR
+ +
This constant is of type Number and its value is +15.
+
+
+
+
+ +
Object DOMException
+ +
+
+
The DOMException object has the following +properties:
+ +
+
+
code
+ +
This property is of type Number.
+
+
+
+
+ +
Object DOMImplementation
+ +
+
+
The DOMImplementation object has the following +methods:
+ +
+
+
hasFeature(feature, version)
+ +
This method returns a Boolean.
+The feature parameter is of type String.
+The version parameter is of type String.
+ +
createDocumentType(qualifiedName, publicId, +systemId)
+ +
This method returns a DocumentType object.
+The qualifiedName parameter is of type String.
+The publicId parameter is of type String.
+The systemId parameter is of type String.
+This method can raise a DOMException object.
+ +
createDocument(namespaceURI, qualifiedName, +doctype)
+ +
This method returns a Document object.
+The namespaceURI parameter is of type String.
+The qualifiedName parameter is of type String.
+The doctype parameter is a DocumentType object.
+This method can raise a DOMException object.
+
+
+
+
+ +
Object DocumentFragment
+ +
+
+
DocumentFragment has the all the properties and methods +of the Node object as well as the properties and methods +defined below.
+
+
+ +
Object Document
+ +
+
+
Document has the all the properties and methods of the +Node object as well as the properties and methods defined +below.
+ +
The Document object has the following properties:
+ +
+
+
doctype
+ +
This read-only property is a DocumentType object.
+ +
implementation
+ +
This read-only property is a DOMImplementation +object.
+ +
documentElement
+ +
This read-only property is a Element object.
+
+
+ +
The Document object has the following methods:
+ +
+
+
createElement(tagName)
+ +
This method returns a Element object.
+The tagName parameter is of type String.
+This method can raise a DOMException object.
+ +
createDocumentFragment()
+ +
This method returns a DocumentFragment object.
+ +
createTextNode(data)
+ +
This method returns a Text object.
+The data parameter is of type String.
+ +
createComment(data)
+ +
This method returns a Comment object.
+The data parameter is of type String.
+ +
createCDATASection(data)
+ +
This method returns a CDATASection object.
+The data parameter is of type String.
+This method can raise a DOMException object.
+ +
createProcessingInstruction(target, data)
+ +
This method returns a ProcessingInstruction +object.
+The target parameter is of type String.
+The data parameter is of type String.
+This method can raise a DOMException object.
+ +
createAttribute(name)
+ +
This method returns a Attr object.
+The name parameter is of type String.
+This method can raise a DOMException object.
+ +
createEntityReference(name)
+ +
This method returns a EntityReference object.
+The name parameter is of type String.
+This method can raise a DOMException object.
+ +
getElementsByTagName(tagname)
+ +
This method returns a NodeList object.
+The tagname parameter is of type String.
+ +
importNode(importedNode, deep)
+ +
This method returns a Node object.
+The importedNode parameter is a Node object.
+The deep parameter is of type Boolean.
+This method can raise a DOMException object.
+ +
createElementNS(namespaceURI, qualifiedName)
+ +
This method returns a Element object.
+The namespaceURI parameter is of type String.
+The qualifiedName parameter is of type String.
+This method can raise a DOMException object.
+ +
createAttributeNS(namespaceURI, qualifiedName)
+ +
This method returns a Attr object.
+The namespaceURI parameter is of type String.
+The qualifiedName parameter is of type String.
+This method can raise a DOMException object.
+ +
getElementsByTagNameNS(namespaceURI, localName)
+ +
This method returns a NodeList object.
+The namespaceURI parameter is of type String.
+The localName parameter is of type String.
+ +
getElementById(elementId)
+ +
This method returns a Element object.
+The elementId parameter is of type String.
+
+
+
+
+ +
Prototype Object Node
+ +
+
+
The Node class has the following constants:
+ +
+
+
Node.ELEMENT_NODE
+ +
This constant is of type Number and its value is +1.
+ +
Node.ATTRIBUTE_NODE
+ +
This constant is of type Number and its value is +2.
+ +
Node.TEXT_NODE
+ +
This constant is of type Number and its value is +3.
+ +
Node.CDATA_SECTION_NODE
+ +
This constant is of type Number and its value is +4.
+ +
Node.ENTITY_REFERENCE_NODE
+ +
This constant is of type Number and its value is +5.
+ +
Node.ENTITY_NODE
+ +
This constant is of type Number and its value is +6.
+ +
Node.PROCESSING_INSTRUCTION_NODE
+ +
This constant is of type Number and its value is +7.
+ +
Node.COMMENT_NODE
+ +
This constant is of type Number and its value is +8.
+ +
Node.DOCUMENT_NODE
+ +
This constant is of type Number and its value is +9.
+ +
Node.DOCUMENT_TYPE_NODE
+ +
This constant is of type Number and its value is +10.
+ +
Node.DOCUMENT_FRAGMENT_NODE
+ +
This constant is of type Number and its value is +11.
+ +
Node.NOTATION_NODE
+ +
This constant is of type Number and its value is +12.
+
+
+
+
+ +
Object Node
+ +
+
+
The Node object has the following properties:
+ +
+
+
nodeName
+ +
This read-only property is of type String.
+ +
nodeValue
+ +
This property is of type String, can raise a +DOMException object on setting and can raise a +DOMException object on retrieval.
+ +
nodeType
+ +
This read-only property is of type Number.
+ +
parentNode
+ +
This read-only property is a Node object.
+ +
childNodes
+ +
This read-only property is a NodeList object.
+ +
firstChild
+ +
This read-only property is a Node object.
+ +
lastChild
+ +
This read-only property is a Node object.
+ +
previousSibling
+ +
This read-only property is a Node object.
+ +
nextSibling
+ +
This read-only property is a Node object.
+ +
attributes
+ +
This read-only property is a NamedNodeMap object.
+ +
ownerDocument
+ +
This read-only property is a Document object.
+ +
namespaceURI
+ +
This read-only property is of type String.
+ +
prefix
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
localName
+ +
This read-only property is of type String.
+
+
+ +
The Node object has the following methods:
+ +
+
+
insertBefore(newChild, refChild)
+ +
This method returns a Node object.
+The newChild parameter is a Node object.
+The refChild parameter is a Node object.
+This method can raise a DOMException object.
+ +
replaceChild(newChild, oldChild)
+ +
This method returns a Node object.
+The newChild parameter is a Node object.
+The oldChild parameter is a Node object.
+This method can raise a DOMException object.
+ +
removeChild(oldChild)
+ +
This method returns a Node object.
+The oldChild parameter is a Node object.
+This method can raise a DOMException object.
+ +
appendChild(newChild)
+ +
This method returns a Node object.
+The newChild parameter is a Node object.
+This method can raise a DOMException object.
+ +
hasChildNodes()
+ +
This method returns a Boolean.
+ +
cloneNode(deep)
+ +
This method returns a Node object.
+The deep parameter is of type Boolean.
+ +
normalize()
+ +
This method has no return value.
+ +
isSupported(feature, version)
+ +
This method returns a Boolean.
+The feature parameter is of type String.
+The version parameter is of type String.
+ +
hasAttributes()
+ +
This method returns a Boolean.
+
+
+
+
+ +
Object NodeList
+ +
+
+
The NodeList object has the following properties:
+ +
+
+
length
+ +
This read-only property is of type Number.
+
+
+ +
The NodeList object has the following methods:
+ +
+
+
item(index)
+ +
This method returns a Node object.
+The index parameter is of type Number.
+Note: This object can also be dereferenced using square +bracket notation (e.g. obj[1]). Dereferencing with an integer +index is equivalent to invoking the item method with +that index.
+
+
+
+
+ +
Object NamedNodeMap
+ +
+
+
The NamedNodeMap object has the following +properties:
+ +
+
+
length
+ +
This read-only property is of type Number.
+
+
+ +
The NamedNodeMap object has the following methods:
+ +
+
+
getNamedItem(name)
+ +
This method returns a Node object.
+The name parameter is of type String.
+ +
setNamedItem(arg)
+ +
This method returns a Node object.
+The arg parameter is a Node object.
+This method can raise a DOMException object.
+ +
removeNamedItem(name)
+ +
This method returns a Node object.
+The name parameter is of type String.
+This method can raise a DOMException object.
+ +
item(index)
+ +
This method returns a Node object.
+The index parameter is of type Number.
+Note: This object can also be dereferenced using square +bracket notation (e.g. obj[1]). Dereferencing with an integer +index is equivalent to invoking the item method with +that index.
+ +
getNamedItemNS(namespaceURI, localName)
+ +
This method returns a Node object.
+The namespaceURI parameter is of type String.
+The localName parameter is of type String.
+ +
setNamedItemNS(arg)
+ +
This method returns a Node object.
+The arg parameter is a Node object.
+This method can raise a DOMException object.
+ +
removeNamedItemNS(namespaceURI, localName)
+ +
This method returns a Node object.
+The namespaceURI parameter is of type String.
+The localName parameter is of type String.
+This method can raise a DOMException object.
+
+
+
+
+ +
Object CharacterData
+ +
+
+
CharacterData has the all the properties and methods of +the Node object as well as the properties and methods +defined below.
+ +
The CharacterData object has the following +properties:
+ +
+
+
data
+ +
This property is of type String, can raise a +DOMException object on setting and can raise a +DOMException object on retrieval.
+ +
length
+ +
This read-only property is of type Number.
+
+
+ +
The CharacterData object has the following methods:
+ +
+
+
substringData(offset, count)
+ +
This method returns a String.
+The offset parameter is of type Number.
+The count parameter is of type Number.
+This method can raise a DOMException object.
+ +
appendData(arg)
+ +
This method has no return value.
+The arg parameter is of type String.
+This method can raise a DOMException object.
+ +
insertData(offset, arg)
+ +
This method has no return value.
+The offset parameter is of type Number.
+The arg parameter is of type String.
+This method can raise a DOMException object.
+ +
deleteData(offset, count)
+ +
This method has no return value.
+The offset parameter is of type Number.
+The count parameter is of type Number.
+This method can raise a DOMException object.
+ +
replaceData(offset, count, arg)
+ +
This method has no return value.
+The offset parameter is of type Number.
+The count parameter is of type Number.
+The arg parameter is of type String.
+This method can raise a DOMException object.
+
+
+
+
+ +
Object Attr
+ +
+
+
Attr has the all the properties and methods of the +Node object as well as the properties and methods defined +below.
+ +
The Attr object has the following properties:
+ +
+
+
name
+ +
This read-only property is of type String.
+ +
specified
+ +
This read-only property is of type Boolean.
+ +
value
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
ownerElement
+ +
This read-only property is a Element object.
+
+
+
+
+ +
Object Element
+ +
+
+
Element has the all the properties and methods of the +Node object as well as the properties and methods defined +below.
+ +
The Element object has the following properties:
+ +
+
+
tagName
+ +
This read-only property is of type String.
+
+
+ +
The Element object has the following methods:
+ +
+
+
getAttribute(name)
+ +
This method returns a String.
+The name parameter is of type String.
+ +
setAttribute(name, value)
+ +
This method has no return value.
+The name parameter is of type String.
+The value parameter is of type String.
+This method can raise a DOMException object.
+ +
removeAttribute(name)
+ +
This method has no return value.
+The name parameter is of type String.
+This method can raise a DOMException object.
+ +
getAttributeNode(name)
+ +
This method returns a Attr object.
+The name parameter is of type String.
+ +
setAttributeNode(newAttr)
+ +
This method returns a Attr object.
+The newAttr parameter is a Attr object.
+This method can raise a DOMException object.
+ +
removeAttributeNode(oldAttr)
+ +
This method returns a Attr object.
+The oldAttr parameter is a Attr object.
+This method can raise a DOMException object.
+ +
getElementsByTagName(name)
+ +
This method returns a NodeList object.
+The name parameter is of type String.
+ +
getAttributeNS(namespaceURI, localName)
+ +
This method returns a String.
+The namespaceURI parameter is of type String.
+The localName parameter is of type String.
+ +
setAttributeNS(namespaceURI, qualifiedName, value)
+ +
This method has no return value.
+The namespaceURI parameter is of type String.
+The qualifiedName parameter is of type String.
+The value parameter is of type String.
+This method can raise a DOMException object.
+ +
removeAttributeNS(namespaceURI, localName)
+ +
This method has no return value.
+The namespaceURI parameter is of type String.
+The localName parameter is of type String.
+This method can raise a DOMException object.
+ +
getAttributeNodeNS(namespaceURI, localName)
+ +
This method returns a Attr object.
+The namespaceURI parameter is of type String.
+The localName parameter is of type String.
+ +
setAttributeNodeNS(newAttr)
+ +
This method returns a Attr object.
+The newAttr parameter is a Attr object.
+This method can raise a DOMException object.
+ +
getElementsByTagNameNS(namespaceURI, localName)
+ +
This method returns a NodeList object.
+The namespaceURI parameter is of type String.
+The localName parameter is of type String.
+ +
hasAttribute(name)
+ +
This method returns a Boolean.
+The name parameter is of type String.
+ +
hasAttributeNS(namespaceURI, localName)
+ +
This method returns a Boolean.
+The namespaceURI parameter is of type String.
+The localName parameter is of type String.
+
+
+
+
+ +
Object Text
+ +
+
+
Text has the all the properties and methods of the +CharacterData object as well as the properties and methods +defined below.
+ +
The Text object has the following methods:
+ +
+
+
splitText(offset)
+ +
This method returns a Text object.
+The offset parameter is of type Number.
+This method can raise a DOMException object.
+
+
+
+
+ +
Object Comment
+ +
+
+
Comment has the all the properties and methods of the +CharacterData object as well as the properties and methods +defined below.
+
+
+ +
Object CDATASection
+ +
+
+
CDATASection has the all the properties and methods of +the Text object as well as the properties and methods +defined below.
+
+
+ +
Object DocumentType
+ +
+
+
DocumentType has the all the properties and methods of +the Node object as well as the properties and methods +defined below.
+ +
The DocumentType object has the following +properties:
+ +
+
+
name
+ +
This read-only property is of type String.
+ +
entities
+ +
This read-only property is a NamedNodeMap object.
+ +
notations
+ +
This read-only property is a NamedNodeMap object.
+ +
publicId
+ +
This read-only property is of type String.
+ +
systemId
+ +
This read-only property is of type String.
+ +
internalSubset
+ +
This read-only property is of type String.
+
+
+
+
+ +
Object Notation
+ +
+
+
Notation has the all the properties and methods of the +Node object as well as the properties and methods defined +below.
+ +
The Notation object has the following properties:
+ +
+
+
publicId
+ +
This read-only property is of type String.
+ +
systemId
+ +
This read-only property is of type String.
+
+
+
+
+ +
Object Entity
+ +
+
+
Entity has the all the properties and methods of the +Node object as well as the properties and methods defined +below.
+ +
The Entity object has the following properties:
+ +
+
+
publicId
+ +
This read-only property is of type String.
+ +
systemId
+ +
This read-only property is of type String.
+ +
notationName
+ +
This read-only property is of type String.
+
+
+
+
+ +
Object EntityReference
+ +
+
+
EntityReference has the all the properties and methods +of the Node object as well as the properties and methods +defined below.
+
+
+ +
Object ProcessingInstruction
+ +
+
+
ProcessingInstruction has the all the properties and +methods of the Node object as well as the properties and +methods defined below.
+ +
The ProcessingInstruction object has the following +properties:
+ +
+
+
target
+ +
This read-only property is of type String.
+ +
data
+ +
This property is of type String and can raise a +DOMException object on setting.
+
+
+
+
+
+
+ + +
+ + + + + + diff --git a/java/external/xdocs/dom/core/expanded-toc.html b/java/external/xdocs/dom/core/expanded-toc.html new file mode 100644 index 0000000..6d2db7d --- /dev/null +++ b/java/external/xdocs/dom/core/expanded-toc.html @@ -0,0 +1,220 @@ + + + + +Expanded Table of Contents + + + + + + + + + + +
+

13 November, +2000

+
+ + + + + + + + diff --git a/java/external/xdocs/dom/core/glossary.html b/java/external/xdocs/dom/core/glossary.html new file mode 100644 index 0000000..e69ad08 --- /dev/null +++ b/java/external/xdocs/dom/core/glossary.html @@ -0,0 +1,356 @@ + + + + +Glossary + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Glossary

+ +
+
Editors
+ +
Arnaud Le Hors, IBM
+ +
Lauren Wood, SoftQuad Software Inc.
+ +
Robert S. Sutor, IBM (for DOM Level 1)
+
+ +

Several of the following term definitions have been borrowed or +modified from similar definitions in other W3C or standards +documents. See the links within the definitions for more +information.

+ +
+
16-bit +unit
+ +
The base unit of a DOMString. This +indicates that indexing on a DOMString occurs in +units of 16 bits. This must not be misunderstood to mean that a DOMString can store +arbitrary 16-bit units. A DOMString is a +character string encoded in UTF-16; this means that the +restrictions of UTF-16 as well as the other relevant restrictions +on character strings must be maintained. A single character, for +example in the form of a numeric character reference, may +correspond to one or two 16-bit units.
+For more information, see [Unicode] and [ISO/IEC 10646].
+ +
ancestor
+ +
An ancestor node of any node A is any node above A in a +tree model of a document, where "above" means "toward the +root."
+ +
API
+ +
An API is an application programming interface, a set of +functions or methods used to access some functionality.
+ +
child
+ +
A child is an immediate descendant node of a +node.
+ +
client +application
+ +
A [client] application is any software that uses the Document +Object Model programming interfaces provided by the hosting +implementation to accomplish useful work. Some examples of client +applications are scripts within an HTML or XML document.
+ +
COM
+ +
COM is Microsoft's Component Object Model [COM], a technology +for building applications from binary software components.
+ +
convenience
+ +
A convenience method is an operation on an object that +could be accomplished by a program consisting of more basic +operations on the object. Convenience methods are usually +provided to make the API easier and simpler to use or to allow +specific programs to create more optimized implementations for +common operations. A similar definition holds for a convenience +property.
+ +
data +model
+ +
A data model is a collection of descriptions of data +structures and their contained fields, together with the operations +or functions that manipulate them.
+ +
descendant
+ +
A descendant node of any node A is any node below A in a +tree model of a document, where "above" means "toward the +root."
+ +
ECMAScript
+ +
The programming language defined by the ECMA-262 standard [ECMAScript]. +As stated in the standard, the originating technology for +ECMAScript was JavaScript [JavaScript]. Note that in the +ECMAScript Language binding, the word "property" is used in the +same sense as the IDL term "attribute."
+ +
element
+ +
Each document contains one or more elements, the boundaries of +which are either delimited by start-tags and end-tags, or, for +empty elements by an empty-element tag. Each element has a type, +identified by name, and may have a set of attributes. Each +attribute has a name and a value. See +Logical Structures in XML [XML].
+ +
information +item
+ +
An information item is an abstract representation of some +component of an XML document. See the [Infoset] for details.
+ +
hosting +implementation
+ +
A [hosting] implementation is a software module that provides +an implementation of the DOM interfaces so that a client +application can use them. Some examples of hosting implementations +are browsers, editors and document repositories.
+ +
HTML
+ +
The HyperText Markup Language (HTML) is a simple markup +language used to create hypertext documents that are portable from +one platform to another. HTML documents are SGML documents with +generic semantics that are appropriate for representing information +from a wide range of applications. [HTML4.0]
+ +
inheritance
+ +
In object-oriented programming, the ability to create new +classes (or interfaces) that contain all the methods and properties +of another class (or interface), plus additional methods and +properties. If class (or interface) D inherits from class (or +interface) B, then D is said to be derived from B. B is said +to be a base class (or interface) for D. Some programming +languages allow for multiple inheritance, that is, inheritance from +more than one class or interface.
+ +
interface
+ +
An interface is a declaration of a set of methods +with no information given about their implementation. In object +systems that support interfaces and inheritance, interfaces can +usually inherit from one another.
+ +
language +binding
+ +
A programming language binding for an IDL specification +is an implementation of the interfaces in the specification for the +given language. For example, a Java language binding for the +Document Object Model IDL specification would implement the +concrete Java classes that provide the functionality exposed by the +interfaces.
+ +
local +name
+ +
A local name is the local part of a qualified +name. This is called the local part in Namespaces in XML [Namespaces].
+ +
method
+ +
A method is an operation or function that is associated +with an object and is allowed to manipulate the object's data.
+ +
model
+ +
A model is the actual data representation for the +information at hand. Examples are the structural model and the +style model representing the parse structure and the style +information associated with a document. The model might be a tree, +or a directed graph, or something else.
+ +
namespace prefix
+ +
A namespace prefix is a string that associates an +element or attribute name with a namespace URI in XML. See +namespace prefix in Namespaces in XML [Namespaces].
+ +
namespace +URI
+ +
A namespace URI is a URI that identifies an XML +namespace. Strictly speaking, this actually is a namespace +URI reference. This is called the namespace name in Namespaces +in XML [Namespaces].
+ +
object +model
+ +
An object model is a collection of descriptions of +classes or interfaces, together with their member data, member +functions, and class-static operations.
+ +
parent
+ +
A parent is an immediate ancestor node of a +node.
+ +
qualified +name
+ +
A qualified name is the name of an element or attribute +defined as the concatenation of a local name (as defined in +this specification), optionally preceded by a namespace +prefix and colon character. See +Qualified Names in Namespaces in XML [Namespaces].
+ +
readonly +node
+ +
A readonly node is a node that is immutable. This means +its list of children, its content, and its attributes, when it is +an element, cannot be changed in any way. However, a readonly node +can possibly be moved, when it is not itself contained in a +readonly node.
+ +
root +node
+ +
The root node is the unique node that is not a +child of any other node. All other nodes are children or +other descendants of the root node.
+ +
sibling
+ +
Two nodes are siblings if and only if they have the same +parent node.
+ +
string +comparison
+ +
When string matching is required, it is to occur as though the +comparison was between 2 sequences of code points from the Unicode +3.0 standard [Unicode].
+ +
token
+ +
An information item such as an XML Name which has been tokenized.
+ +
tokenized
+ +
The description given to various information items (for +example, attribute values of various types, but not including the +StringType CDATA) after having been processed by the XML processor. +The process includes stripping leading and trailing white space, +and replacing multiple space characters by one. See the definition +of tokenized type.
+ +
well-formed +document
+ +
A document is well-formed if it is tag valid and +entities are limited to single elements (i.e., single sub-trees). +See +Well-Formed XML Documents in XML [XML].
+ +
XML
+ +
Extensible Markup Language (XML) is an extremely simple +dialect of SGML. The 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 [XML] has been designed for ease of +implementation and for interoperability with both SGML and +HTML.
+ +
XML name
+ +
See XML +name in the XML specification [XML].
+ +
XML +namespace
+ +
An XML namespace is a collection of names, identified by +a URI reference [RFC2396], which are used in XML +documents as element types and attribute names. [Namespaces]
+
+
+ + + + + + diff --git a/java/external/xdocs/dom/core/i18n.html b/java/external/xdocs/dom/core/i18n.html new file mode 100644 index 0000000..782128f --- /dev/null +++ b/java/external/xdocs/dom/core/i18n.html @@ -0,0 +1,303 @@ + + + + +Accessing code point boundaries + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix B: Accessing code point +boundaries

+ +
+
Mark Davis, IBM
+ +
Lauren Wood, SoftQuad Software Inc.
+
+ +
+

Table of contents

+ + +
+ +
+ +

B.1: Introduction

+ +

This appendix is an informative, not a normative, part of the +Level 2 DOM specification.

+ +

Characters are represented in Unicode by numbers called code +points (also called scalar values). These numbers can +range from 0 up to 1,114,111 = 10FFFF16 (although some +of these values are illegal). Each code point can be directly +encoded with a 32-bit code unit. This encoding is termed UCS-4 (or +UTF-32). The DOM specification, however, uses UTF-16, in which the +most frequent characters (which have values less than +FFFF16) are represented by a single 16-bit code unit, +while characters above FFFF16 use a special pair of code +units called a surrogate pair. For more information, see [Unicode] or the +Unicode Web site.

+ +

While indexing by code points as opposed to code units is not +common in programs, some specifications such as XPath (and +therefore XSLT and XPointer) use code point indices. For +interfacing with such formats it is recommended that the +programming language provide string processing methods for +converting code point indices to code unit indices and back. Some +languages do not provide these functions natively; for these it is +recommended that the native String type that is bound +to DOMString be +extended to enable this conversion. An example of how such an API +might look is supplied below.

+ +

Note: Since these methods are supplied as an illustrative +example of the type of functionality that is required, the names of +the methods, exceptions, and interface may differ from those given +here.

+
+ + +
+ +

B.2: Methods

+ +
+
Interface StringExtend
+ +
+

Extensions to a language's native String class or interface

+ +
+

+IDL Definition
+ +
+
+
+interface StringExtend {
+  int                findOffset16(in int offset32)
+                                        raises(StringIndexOutOfBoundsException);
+  int                findOffset32(in int offset16)
+                                        raises(StringIndexOutOfBoundsException);
+};
+
+
+ +
+
+ +
Methods
+ +
+
+
findOffset16
+ +
+
Returns the UTF-16 offset that corresponds to a +UTF-32 offset. Used for random access. + +

Note: You can always round-trip from a UTF-32 offset to a +UTF-16 offset and back. You can round-trip from a UTF-16 offset to +a UTF-32 offset and back if and only if the offset16 is not in the +middle of a surrogate pair. Unmatched surrogates count as a single +UTF-16 value.

+ +
Parameters + +
+
+
offset32 of type +int
+ +
UTF-32 offset.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

int

+
+

UTF-16 offset

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

StringIndexOutOfBoundsException

+
+

if offset32 is out of bounds.

+
+
+
+ + +
+ + +
+ +
findOffset32
+ +
+
Returns the UTF-32 offset corresponding to a +UTF-16 offset. Used for random access. To find the UTF-32 length of +a string, use: + +
+
+len32 = findOffset32(source, source.length());
+
+
+ +

Note: If the UTF-16 offset is into the middle of a +surrogate pair, then the UTF-32 offset of the end of the +pair is returned; that is, the index of the char after the end of +the pair. You can always round-trip from a UTF-32 offset to a +UTF-16 offset and back. You can round-trip from a UTF-16 offset to +a UTF-32 offset and back if and only if the offset16 is not in the +middle of a surrogate pair. Unmatched surrogates count as a single +UTF-16 value.

+ +
Parameters + +
+
+
offset16 of type +int
+ +
UTF-16 offset
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

int

+
+

UTF-32 offset

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

StringIndexOutOfBoundsException

+
+

if offset16 is out of bounds.

+
+
+
+ + +
+ + +
+
+
+
+
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/core/idl-definitions.html b/java/external/xdocs/dom/core/idl-definitions.html new file mode 100644 index 0000000..f40d9b6 --- /dev/null +++ b/java/external/xdocs/dom/core/idl-definitions.html @@ -0,0 +1,367 @@ + + + + +IDL Definitions + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix C: IDL Definitions

+ +

This appendix contains the complete OMG IDL [OMGIDL] for the Level 2 Document +Object Model Core definitions.

+ +

The IDL files are also available as: http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/idl.zip

+ +

dom.idl:

+ +
+
+// File: dom.idl
+
+#ifndef _DOM_IDL_
+#define _DOM_IDL_
+
+#pragma prefix "w3c.org"
+module dom
+{
+
+  valuetype DOMString sequence<unsigned short>;
+
+  typedef   unsigned long long DOMTimeStamp;
+
+  interface DocumentType;
+  interface Document;
+  interface NodeList;
+  interface NamedNodeMap;
+  interface Element;
+
+  exception DOMException {
+    unsigned short   code;
+  };
+  // ExceptionCode
+  const unsigned short      INDEX_SIZE_ERR                 = 1;
+  const unsigned short      DOMSTRING_SIZE_ERR             = 2;
+  const unsigned short      HIERARCHY_REQUEST_ERR          = 3;
+  const unsigned short      WRONG_DOCUMENT_ERR             = 4;
+  const unsigned short      INVALID_CHARACTER_ERR          = 5;
+  const unsigned short      NO_DATA_ALLOWED_ERR            = 6;
+  const unsigned short      NO_MODIFICATION_ALLOWED_ERR    = 7;
+  const unsigned short      NOT_FOUND_ERR                  = 8;
+  const unsigned short      NOT_SUPPORTED_ERR              = 9;
+  const unsigned short      INUSE_ATTRIBUTE_ERR            = 10;
+  // Introduced in DOM Level 2:
+  const unsigned short      INVALID_STATE_ERR              = 11;
+  // Introduced in DOM Level 2:
+  const unsigned short      SYNTAX_ERR                     = 12;
+  // Introduced in DOM Level 2:
+  const unsigned short      INVALID_MODIFICATION_ERR       = 13;
+  // Introduced in DOM Level 2:
+  const unsigned short      NAMESPACE_ERR                  = 14;
+  // Introduced in DOM Level 2:
+  const unsigned short      INVALID_ACCESS_ERR             = 15;
+
+
+  interface DOMImplementation {
+    boolean            hasFeature(in DOMString feature, 
+                                  in DOMString version);
+    // Introduced in DOM Level 2:
+    DocumentType       createDocumentType(in DOMString qualifiedName, 
+                                          in DOMString publicId, 
+                                          in DOMString systemId)
+                                        raises(DOMException);
+    // Introduced in DOM Level 2:
+    Document           createDocument(in DOMString namespaceURI, 
+                                      in DOMString qualifiedName, 
+                                      in DocumentType doctype)
+                                        raises(DOMException);
+  };
+
+  interface Node {
+
+    // NodeType
+    const unsigned short      ELEMENT_NODE                   = 1;
+    const unsigned short      ATTRIBUTE_NODE                 = 2;
+    const unsigned short      TEXT_NODE                      = 3;
+    const unsigned short      CDATA_SECTION_NODE             = 4;
+    const unsigned short      ENTITY_REFERENCE_NODE          = 5;
+    const unsigned short      ENTITY_NODE                    = 6;
+    const unsigned short      PROCESSING_INSTRUCTION_NODE    = 7;
+    const unsigned short      COMMENT_NODE                   = 8;
+    const unsigned short      DOCUMENT_NODE                  = 9;
+    const unsigned short      DOCUMENT_TYPE_NODE             = 10;
+    const unsigned short      DOCUMENT_FRAGMENT_NODE         = 11;
+    const unsigned short      NOTATION_NODE                  = 12;
+
+    readonly attribute DOMString        nodeName;
+             attribute DOMString        nodeValue;
+                                        // raises(DOMException) on setting
+                                        // raises(DOMException) on retrieval
+
+    readonly attribute unsigned short   nodeType;
+    readonly attribute Node             parentNode;
+    readonly attribute NodeList         childNodes;
+    readonly attribute Node             firstChild;
+    readonly attribute Node             lastChild;
+    readonly attribute Node             previousSibling;
+    readonly attribute Node             nextSibling;
+    readonly attribute NamedNodeMap     attributes;
+    // Modified in DOM Level 2:
+    readonly attribute Document         ownerDocument;
+    Node               insertBefore(in Node newChild, 
+                                    in Node refChild)
+                                        raises(DOMException);
+    Node               replaceChild(in Node newChild, 
+                                    in Node oldChild)
+                                        raises(DOMException);
+    Node               removeChild(in Node oldChild)
+                                        raises(DOMException);
+    Node               appendChild(in Node newChild)
+                                        raises(DOMException);
+    boolean            hasChildNodes();
+    Node               cloneNode(in boolean deep);
+    // Modified in DOM Level 2:
+    void               normalize();
+    // Introduced in DOM Level 2:
+    boolean            isSupported(in DOMString feature, 
+                                   in DOMString version);
+    // Introduced in DOM Level 2:
+    readonly attribute DOMString        namespaceURI;
+    // Introduced in DOM Level 2:
+             attribute DOMString        prefix;
+                                        // raises(DOMException) on setting
+
+    // Introduced in DOM Level 2:
+    readonly attribute DOMString        localName;
+    // Introduced in DOM Level 2:
+    boolean            hasAttributes();
+  };
+
+  interface NodeList {
+    Node               item(in unsigned long index);
+    readonly attribute unsigned long    length;
+  };
+
+  interface NamedNodeMap {
+    Node               getNamedItem(in DOMString name);
+    Node               setNamedItem(in Node arg)
+                                        raises(DOMException);
+    Node               removeNamedItem(in DOMString name)
+                                        raises(DOMException);
+    Node               item(in unsigned long index);
+    readonly attribute unsigned long    length;
+    // Introduced in DOM Level 2:
+    Node               getNamedItemNS(in DOMString namespaceURI, 
+                                      in DOMString localName);
+    // Introduced in DOM Level 2:
+    Node               setNamedItemNS(in Node arg)
+                                        raises(DOMException);
+    // Introduced in DOM Level 2:
+    Node               removeNamedItemNS(in DOMString namespaceURI, 
+                                         in DOMString localName)
+                                        raises(DOMException);
+  };
+
+  interface CharacterData : Node {
+             attribute DOMString        data;
+                                        // raises(DOMException) on setting
+                                        // raises(DOMException) on retrieval
+
+    readonly attribute unsigned long    length;
+    DOMString          substringData(in unsigned long offset, 
+                                     in unsigned long count)
+                                        raises(DOMException);
+    void               appendData(in DOMString arg)
+                                        raises(DOMException);
+    void               insertData(in unsigned long offset, 
+                                  in DOMString arg)
+                                        raises(DOMException);
+    void               deleteData(in unsigned long offset, 
+                                  in unsigned long count)
+                                        raises(DOMException);
+    void               replaceData(in unsigned long offset, 
+                                   in unsigned long count, 
+                                   in DOMString arg)
+                                        raises(DOMException);
+  };
+
+  interface Attr : Node {
+    readonly attribute DOMString        name;
+    readonly attribute boolean          specified;
+             attribute DOMString        value;
+                                        // raises(DOMException) on setting
+
+    // Introduced in DOM Level 2:
+    readonly attribute Element          ownerElement;
+  };
+
+  interface Element : Node {
+    readonly attribute DOMString        tagName;
+    DOMString          getAttribute(in DOMString name);
+    void               setAttribute(in DOMString name, 
+                                    in DOMString value)
+                                        raises(DOMException);
+    void               removeAttribute(in DOMString name)
+                                        raises(DOMException);
+    Attr               getAttributeNode(in DOMString name);
+    Attr               setAttributeNode(in Attr newAttr)
+                                        raises(DOMException);
+    Attr               removeAttributeNode(in Attr oldAttr)
+                                        raises(DOMException);
+    NodeList           getElementsByTagName(in DOMString name);
+    // Introduced in DOM Level 2:
+    DOMString          getAttributeNS(in DOMString namespaceURI, 
+                                      in DOMString localName);
+    // Introduced in DOM Level 2:
+    void               setAttributeNS(in DOMString namespaceURI, 
+                                      in DOMString qualifiedName, 
+                                      in DOMString value)
+                                        raises(DOMException);
+    // Introduced in DOM Level 2:
+    void               removeAttributeNS(in DOMString namespaceURI, 
+                                         in DOMString localName)
+                                        raises(DOMException);
+    // Introduced in DOM Level 2:
+    Attr               getAttributeNodeNS(in DOMString namespaceURI, 
+                                          in DOMString localName);
+    // Introduced in DOM Level 2:
+    Attr               setAttributeNodeNS(in Attr newAttr)
+                                        raises(DOMException);
+    // Introduced in DOM Level 2:
+    NodeList           getElementsByTagNameNS(in DOMString namespaceURI, 
+                                              in DOMString localName);
+    // Introduced in DOM Level 2:
+    boolean            hasAttribute(in DOMString name);
+    // Introduced in DOM Level 2:
+    boolean            hasAttributeNS(in DOMString namespaceURI, 
+                                      in DOMString localName);
+  };
+
+  interface Text : CharacterData {
+    Text               splitText(in unsigned long offset)
+                                        raises(DOMException);
+  };
+
+  interface Comment : CharacterData {
+  };
+
+  interface CDATASection : Text {
+  };
+
+  interface DocumentType : Node {
+    readonly attribute DOMString        name;
+    readonly attribute NamedNodeMap     entities;
+    readonly attribute NamedNodeMap     notations;
+    // Introduced in DOM Level 2:
+    readonly attribute DOMString        publicId;
+    // Introduced in DOM Level 2:
+    readonly attribute DOMString        systemId;
+    // Introduced in DOM Level 2:
+    readonly attribute DOMString        internalSubset;
+  };
+
+  interface Notation : Node {
+    readonly attribute DOMString        publicId;
+    readonly attribute DOMString        systemId;
+  };
+
+  interface Entity : Node {
+    readonly attribute DOMString        publicId;
+    readonly attribute DOMString        systemId;
+    readonly attribute DOMString        notationName;
+  };
+
+  interface EntityReference : Node {
+  };
+
+  interface ProcessingInstruction : Node {
+    readonly attribute DOMString        target;
+             attribute DOMString        data;
+                                        // raises(DOMException) on setting
+
+  };
+
+  interface DocumentFragment : Node {
+  };
+
+  interface Document : Node {
+    readonly attribute DocumentType     doctype;
+    readonly attribute DOMImplementation  implementation;
+    readonly attribute Element          documentElement;
+    Element            createElement(in DOMString tagName)
+                                        raises(DOMException);
+    DocumentFragment   createDocumentFragment();
+    Text               createTextNode(in DOMString data);
+    Comment            createComment(in DOMString data);
+    CDATASection       createCDATASection(in DOMString data)
+                                        raises(DOMException);
+    ProcessingInstruction createProcessingInstruction(in DOMString target, 
+                                                      in DOMString data)
+                                        raises(DOMException);
+    Attr               createAttribute(in DOMString name)
+                                        raises(DOMException);
+    EntityReference    createEntityReference(in DOMString name)
+                                        raises(DOMException);
+    NodeList           getElementsByTagName(in DOMString tagname);
+    // Introduced in DOM Level 2:
+    Node               importNode(in Node importedNode, 
+                                  in boolean deep)
+                                        raises(DOMException);
+    // Introduced in DOM Level 2:
+    Element            createElementNS(in DOMString namespaceURI, 
+                                       in DOMString qualifiedName)
+                                        raises(DOMException);
+    // Introduced in DOM Level 2:
+    Attr               createAttributeNS(in DOMString namespaceURI, 
+                                         in DOMString qualifiedName)
+                                        raises(DOMException);
+    // Introduced in DOM Level 2:
+    NodeList           getElementsByTagNameNS(in DOMString namespaceURI, 
+                                              in DOMString localName);
+    // Introduced in DOM Level 2:
+    Element            getElementById(in DOMString elementId);
+  };
+};
+
+#endif // _DOM_IDL_
+
+
+
+
+ + + + + + diff --git a/java/external/xdocs/dom/core/idl/dom.idl b/java/external/xdocs/dom/core/idl/dom.idl new file mode 100644 index 0000000..4af31a8 --- /dev/null +++ b/java/external/xdocs/dom/core/idl/dom.idl @@ -0,0 +1,320 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +// File: http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/dom.idl + +#ifndef _DOM_IDL_ +#define _DOM_IDL_ + +#pragma prefix "w3c.org" +module dom +{ + + valuetype DOMString sequence; + + typedef unsigned long long DOMTimeStamp; + + interface DocumentType; + interface Document; + interface NodeList; + interface NamedNodeMap; + interface Element; + + exception DOMException { + unsigned short code; + }; + // ExceptionCode + const unsigned short INDEX_SIZE_ERR = 1; + const unsigned short DOMSTRING_SIZE_ERR = 2; + const unsigned short HIERARCHY_REQUEST_ERR = 3; + const unsigned short WRONG_DOCUMENT_ERR = 4; + const unsigned short INVALID_CHARACTER_ERR = 5; + const unsigned short NO_DATA_ALLOWED_ERR = 6; + const unsigned short NO_MODIFICATION_ALLOWED_ERR = 7; + const unsigned short NOT_FOUND_ERR = 8; + const unsigned short NOT_SUPPORTED_ERR = 9; + const unsigned short INUSE_ATTRIBUTE_ERR = 10; + // Introduced in DOM Level 2: + const unsigned short INVALID_STATE_ERR = 11; + // Introduced in DOM Level 2: + const unsigned short SYNTAX_ERR = 12; + // Introduced in DOM Level 2: + const unsigned short INVALID_MODIFICATION_ERR = 13; + // Introduced in DOM Level 2: + const unsigned short NAMESPACE_ERR = 14; + // Introduced in DOM Level 2: + const unsigned short INVALID_ACCESS_ERR = 15; + + + interface DOMImplementation { + boolean hasFeature(in DOMString feature, + in DOMString version); + // Introduced in DOM Level 2: + DocumentType createDocumentType(in DOMString qualifiedName, + in DOMString publicId, + in DOMString systemId) + raises(DOMException); + // Introduced in DOM Level 2: + Document createDocument(in DOMString namespaceURI, + in DOMString qualifiedName, + in DocumentType doctype) + raises(DOMException); + }; + + interface Node { + + // NodeType + const unsigned short ELEMENT_NODE = 1; + const unsigned short ATTRIBUTE_NODE = 2; + const unsigned short TEXT_NODE = 3; + const unsigned short CDATA_SECTION_NODE = 4; + const unsigned short ENTITY_REFERENCE_NODE = 5; + const unsigned short ENTITY_NODE = 6; + const unsigned short PROCESSING_INSTRUCTION_NODE = 7; + const unsigned short COMMENT_NODE = 8; + const unsigned short DOCUMENT_NODE = 9; + const unsigned short DOCUMENT_TYPE_NODE = 10; + const unsigned short DOCUMENT_FRAGMENT_NODE = 11; + const unsigned short NOTATION_NODE = 12; + + readonly attribute DOMString nodeName; + attribute DOMString nodeValue; + // raises(DOMException) on setting + // raises(DOMException) on retrieval + + readonly attribute unsigned short nodeType; + readonly attribute Node parentNode; + readonly attribute NodeList childNodes; + readonly attribute Node firstChild; + readonly attribute Node lastChild; + readonly attribute Node previousSibling; + readonly attribute Node nextSibling; + readonly attribute NamedNodeMap attributes; + // Modified in DOM Level 2: + readonly attribute Document ownerDocument; + Node insertBefore(in Node newChild, + in Node refChild) + raises(DOMException); + Node replaceChild(in Node newChild, + in Node oldChild) + raises(DOMException); + Node removeChild(in Node oldChild) + raises(DOMException); + Node appendChild(in Node newChild) + raises(DOMException); + boolean hasChildNodes(); + Node cloneNode(in boolean deep); + // Modified in DOM Level 2: + void normalize(); + // Introduced in DOM Level 2: + boolean isSupported(in DOMString feature, + in DOMString version); + // Introduced in DOM Level 2: + readonly attribute DOMString namespaceURI; + // Introduced in DOM Level 2: + attribute DOMString prefix; + // raises(DOMException) on setting + + // Introduced in DOM Level 2: + readonly attribute DOMString localName; + // Introduced in DOM Level 2: + boolean hasAttributes(); + }; + + interface NodeList { + Node item(in unsigned long index); + readonly attribute unsigned long length; + }; + + interface NamedNodeMap { + Node getNamedItem(in DOMString name); + Node setNamedItem(in Node arg) + raises(DOMException); + Node removeNamedItem(in DOMString name) + raises(DOMException); + Node item(in unsigned long index); + readonly attribute unsigned long length; + // Introduced in DOM Level 2: + Node getNamedItemNS(in DOMString namespaceURI, + in DOMString localName); + // Introduced in DOM Level 2: + Node setNamedItemNS(in Node arg) + raises(DOMException); + // Introduced in DOM Level 2: + Node removeNamedItemNS(in DOMString namespaceURI, + in DOMString localName) + raises(DOMException); + }; + + interface CharacterData : Node { + attribute DOMString data; + // raises(DOMException) on setting + // raises(DOMException) on retrieval + + readonly attribute unsigned long length; + DOMString substringData(in unsigned long offset, + in unsigned long count) + raises(DOMException); + void appendData(in DOMString arg) + raises(DOMException); + void insertData(in unsigned long offset, + in DOMString arg) + raises(DOMException); + void deleteData(in unsigned long offset, + in unsigned long count) + raises(DOMException); + void replaceData(in unsigned long offset, + in unsigned long count, + in DOMString arg) + raises(DOMException); + }; + + interface Attr : Node { + readonly attribute DOMString name; + readonly attribute boolean specified; + attribute DOMString value; + // raises(DOMException) on setting + + // Introduced in DOM Level 2: + readonly attribute Element ownerElement; + }; + + interface Element : Node { + readonly attribute DOMString tagName; + DOMString getAttribute(in DOMString name); + void setAttribute(in DOMString name, + in DOMString value) + raises(DOMException); + void removeAttribute(in DOMString name) + raises(DOMException); + Attr getAttributeNode(in DOMString name); + Attr setAttributeNode(in Attr newAttr) + raises(DOMException); + Attr removeAttributeNode(in Attr oldAttr) + raises(DOMException); + NodeList getElementsByTagName(in DOMString name); + // Introduced in DOM Level 2: + DOMString getAttributeNS(in DOMString namespaceURI, + in DOMString localName); + // Introduced in DOM Level 2: + void setAttributeNS(in DOMString namespaceURI, + in DOMString qualifiedName, + in DOMString value) + raises(DOMException); + // Introduced in DOM Level 2: + void removeAttributeNS(in DOMString namespaceURI, + in DOMString localName) + raises(DOMException); + // Introduced in DOM Level 2: + Attr getAttributeNodeNS(in DOMString namespaceURI, + in DOMString localName); + // Introduced in DOM Level 2: + Attr setAttributeNodeNS(in Attr newAttr) + raises(DOMException); + // Introduced in DOM Level 2: + NodeList getElementsByTagNameNS(in DOMString namespaceURI, + in DOMString localName); + // Introduced in DOM Level 2: + boolean hasAttribute(in DOMString name); + // Introduced in DOM Level 2: + boolean hasAttributeNS(in DOMString namespaceURI, + in DOMString localName); + }; + + interface Text : CharacterData { + Text splitText(in unsigned long offset) + raises(DOMException); + }; + + interface Comment : CharacterData { + }; + + interface CDATASection : Text { + }; + + interface DocumentType : Node { + readonly attribute DOMString name; + readonly attribute NamedNodeMap entities; + readonly attribute NamedNodeMap notations; + // Introduced in DOM Level 2: + readonly attribute DOMString publicId; + // Introduced in DOM Level 2: + readonly attribute DOMString systemId; + // Introduced in DOM Level 2: + readonly attribute DOMString internalSubset; + }; + + interface Notation : Node { + readonly attribute DOMString publicId; + readonly attribute DOMString systemId; + }; + + interface Entity : Node { + readonly attribute DOMString publicId; + readonly attribute DOMString systemId; + readonly attribute DOMString notationName; + }; + + interface EntityReference : Node { + }; + + interface ProcessingInstruction : Node { + readonly attribute DOMString target; + attribute DOMString data; + // raises(DOMException) on setting + + }; + + interface DocumentFragment : Node { + }; + + interface Document : Node { + readonly attribute DocumentType doctype; + readonly attribute DOMImplementation implementation; + readonly attribute Element documentElement; + Element createElement(in DOMString tagName) + raises(DOMException); + DocumentFragment createDocumentFragment(); + Text createTextNode(in DOMString data); + Comment createComment(in DOMString data); + CDATASection createCDATASection(in DOMString data) + raises(DOMException); + ProcessingInstruction createProcessingInstruction(in DOMString target, + in DOMString data) + raises(DOMException); + Attr createAttribute(in DOMString name) + raises(DOMException); + EntityReference createEntityReference(in DOMString name) + raises(DOMException); + NodeList getElementsByTagName(in DOMString tagname); + // Introduced in DOM Level 2: + Node importNode(in Node importedNode, + in boolean deep) + raises(DOMException); + // Introduced in DOM Level 2: + Element createElementNS(in DOMString namespaceURI, + in DOMString qualifiedName) + raises(DOMException); + // Introduced in DOM Level 2: + Attr createAttributeNS(in DOMString namespaceURI, + in DOMString qualifiedName) + raises(DOMException); + // Introduced in DOM Level 2: + NodeList getElementsByTagNameNS(in DOMString namespaceURI, + in DOMString localName); + // Introduced in DOM Level 2: + Element getElementById(in DOMString elementId); + }; +}; + +#endif // _DOM_IDL_ + diff --git a/java/external/xdocs/dom/core/images/REC.gif b/java/external/xdocs/dom/core/images/REC.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0007d058a9843a4bfa3492b01d4d2c021d3101e GIT binary patch literal 903 zcmV;219<#LNk%w1VHp7I0JHx909u?7WTG&6uT_z~Wt+pQ$lkirhkXN`2YX^EC2ui02u)6000F45XecZy*TU5yZ>M)j$~<`XsWJk>%MR- z&vXqFg`w}@@-#c%$Dueq5~o7ZBya>whKF=21rZe3EY?OrFdWhX64Y!gu!jc$R5&~* zU(jPv2^>H7O1^U_R1^J31eI;4@Fc|1|14WT3Tyd3Y!%T zp`4@?21}?F36LC_nNFOe4W9~v9SNtEE&&Cy4J8k zz`?Ca*=T(b5M_!10V4uTqUTEmjvzY!di(&{Z^J?odr16aB9TNzSytq+;(}lrDFt*U zI&hFiLN*XOG!6q0j$*3@beUa0tX_iOMXJP?Ql08U<>=-xg z#I;n~zO5|hE(yCQ@}A)9R|{Zaf(gr!`vLKZ#U~sefc(KG?T#nBfGNZpLm9tm5=(VM zA`!S>)d=s_Dfh4*R;DCu4@D)}lfDG2b7xV!lfPEj_GJ#`itTsVX82KncgLqIv zqzCp`REtas2#4E~P)50pfE5U!K#&^%V$=i;DC3Qn7K~RO1`{?lmwyg884i{iFi?_D zSe+;iJb;84<^wBY!GI%RGQ>a{c#0wA2+uHpQGPlO^1uNHIM9%H!PrTGa|VKmVJu^m z34o?&Lf8#@5+rKDnjHLz!KE8mshW3#w#5JeTe7iRmjjTf0RjZuRg2{o%FiHP`^mfdBvC{|BVrAS9?5 zC-T}?Q3PNJfC#`5Kp=ob06+nP0u%)p3Lpw_6c8vNQ2;Q2U;xDch5?8H90LRfNDNT( z5C~8RFh~ssI0OU)B!z_o1P3S%FdRS};5Z;~K;i%p03iTM0E_^T05|~%0+0j%BtS@j zk^mzCBmqtWf&?T906-DuIw-~jL2+g)N&=MH5Z*kfuSUZQX~<`EX5!SA&NtkfG7!3iaCNa`!O7aIEv#a zfukgjQgR>!b0|ijkU(()B?y!xP)Z|&L@6YUL?MadBubDdNuq$ME;SBfOnD&ABn?Rb zDb)~!iH#u;A`nL)fj|<0fXRlr5XM}GLZ(2dd63c#BqYa2@$ZCl^r06o`40r%%0q`ZF>|L}&g`M8tuR`{@2l_8509vtm2t-*S>Ij z;v(y)1H;xoBbV_HZHOM{QfKQ^uBBp=m+4_)eeFWgZ~hin68COgDi)5>b1g|9)EmX? zy^}|?s{^cDOCt6zyHw`!Ml2NNTCo&W>W%8Y59!kjlnWg>Sz8)BVZ!sF&csUp5uDAV zJ-WTPq%DDN@33%)TXd6Jp$B+RI1G1BpSinx*V!D4o|&_ehm}0u4EM~Qj}tlfTeE7f z!}A0wvqugiy>lH&z~P@9%f7dU>1wnO{RjHyjd86ojtQMA%rHxre!_9ITBbK#`+-re z)xgp~h>7BFEu#a=m&%1|!rurCzO$@0?`RcF8+>nFFE+;U;Kz|mX}#fjTgPYjhV%{9wRYwBpPCv3{e0$q>F3XP^li~H`Y&FY zpPZ=kODYZ7j@TEQBJOhMO-F}Wk=^6Kp?5=fJT*0GCSN|c3=Vl74cbZk*GHF_+n>XU zZYJ;UCg_LG#))sQ`^Xdf&Uts&57k=9iynL$QvQ5cT2?0az)Iq(!aajGKQ{lEt*21m zueZL^yl$7?)5z`Uz?J#!WT=8_=?&is&0S%F3Obw@M=R?4Dg)xx_tI{7h)6&5^=^}h z%<8S{_&+?U%z*YvS)K*>#w?vZAQ_g zLqgmBUAz_Dn=BJu7kGBW`Y&p4n^#zV{6=e6@7h<#HdJ^AF@fT^_oo^^xHI3aV1KmJnWYrbk5 z=w}&nKRVV*kygz&7MT;3)aUM=Ry*LSCdjDwe*EiDx7RtFOPzkZqxr|K3m0!R`4>0w z58Sj2shx`LmEgy)d*T+4LWB)0O2QIf=wTY4<~o{g92=;cnIT_%Il(C+Y2FwA4Hg?o2Yxeo`a{2UvG$V!e&aIRR{7eYPLRQnM)P)?S z<&n~SwV2WJ!nNK{OPPkx1C~P@CR1g~D*RmDx^SwS4OaC{nmAU{t5vnkdt$8J@loxM z?rfLe`>L~)f6CjxjR*a(kNdb&Hv&Ug`A@p($Y;K|dr(BL#OWf^63MCL?VDU7rV}c1 z-b38kn|zrlU|Mu`gj>8LQsHty&VjzSdg&@O^Yp@AsjgsDjDtO*$H_QHiLQ4%f*bUQ zUVLyO=kKb;{vgXUR%XMrqW%J#loKtoe#>T+KlvPWAFDWazMf}3M(Dt$V*NU|fq)5p z6}hPpqn#Pr^^HfJdDq#5e>F&uosKfu*vnTmT-X2y(hDj_KB)`%zUpEu z8>vUD)ht)i_06LV>&soTs=k`@Hd-jI)@a?VZ2Zpk?`(KWknrUu>$0|m)U?w<9737y zZx7jbv^t+!Uw^-CuD0_z)%NG+@%B>2OAd|dtxxa9K3@Gcw6;1BU$$JEwobG5e$8)l z^DEcz1KJM}=O=H=$w&+M-*4g_GUZB8o(gd?RK-FZ6o#jKgl{?Z-j$*+2;Y&a96TH- zTC0jjK#4C`ZYgFR5{>%ht&^Csf=B&~n@0Pgm`i8f+Z&OY6)n0YelM<9rtraiZRf@Go0OFt?G&?dT)Kxn{7Jl>A#z$mVpV6QyQjXB3=KU59ojNcqP0;u5rfYP}%j5 zGhEbEUamDN4Rp@@mO^E61s=wTE)S zHf611Y3h|GQpMvHPEkjX{8c9*`E3fb7V=XtP|bIf>(pDiQE*?AEl=RjMK!6Jd%y0J zSvPLZ8_f=WJ>fsnqoco zxia4%wc=5mhrHWDwjTwA@X2i6u;lToR#}&*evU~OJ2O*;!03}*x0HM%FSR>&KPqZd ztgde2S9=rftkN)+bws1CudLQ~qC4%+j(U$Tp9W98dzdSJZFb!Gwat*JEL&hhzKXm5 zwKjU{`fAc)Ps!C++(Wq|&r*l&EI2*Ss|B<#vtxs=JjD+Wx>~b;c$e_iT6Sq6Uut{n zy`r@E7tX^I8=qR)zYBaHG5)#t*1G3+&EZu3vbj>$z)NYu3p3h{`Cgu$Ffe_${(OC4 zw3FJd_J|$6-%l-id0l1+Jqq%}Pj91Lfm8Z8%WWU!57T)!?5ucLWEh%d4c#FU>Z4;9 zuBCNMIQi!t5!oK>+^Az0X!GAwV#9GxGNc zR#CL7y-#D=IsTrm%awn^EfTG?;-woZY(E?mmHboszP0N-0JT96Q8u2~n zu%}yR;K-DN#wX|Xk>y|=B$d4x^<>noZ#V$FRM=YLsvn!>J|kUIWG zM&x?o`h-`wNQo$C&mGm1@vOH(f62X^pwn_TSRv|(L9UnrzrpEA`4dgEse*O={zxKb&3Z&ibg6Q(6mzzMkT4d7Ay2ha&tT;mY}vnZ}qKAyfERG|4LS} U>w0fh#^**Ujok;he*~xh16^5}bN~PV literal 0 HcmV?d00001 diff --git a/java/external/xdocs/dom/core/images/w3c_home.gif b/java/external/xdocs/dom/core/images/w3c_home.gif new file mode 100644 index 0000000000000000000000000000000000000000..f4702b9abcf6cf19a13fe57f5e6d681d7655e681 GIT binary patch literal 988 zcmZ?wbh9u|^k6VxSjqqb|NsAg_vy#M^Uv--`?TZOlgX>EEZB1E+_`f+?sFGzzj@*I z8-DlsK0ZD?JUp?nvG?xXd-v|0j*gC6-t zPDVy1H#c|E>dP5jhc_O65K^;?+hwkejg4i-#^(8F*R5Mu+`qTCx3{yiv$V8y*REYI zE-nfR3P6{T3Uoj|0QrT1?Vm$KfrpM%|A{3S{t?g#+tIzZ>#n{*ifMp zIx}2n)2`J{Gwyb5m08WTMQN==?Ya5aVs$gCnV4IdnSxl_n8R7w`q{fDwRS`mGHRD` z=n7P`a4z8F3gTYK*%QjMZ1tKI{v5mveEb6bfiB{=y4If<+gKg))n;IkjLN zqlBA;pCrTjG_8I9VhcrsMHUK&ik&>YS}K6ULt2oJK{}jy8FvuZGL{gT$4?fXmGzL7 zb6OOu$aX41gmIaj&rcIRmnj0vT5K!LT%6eW|F&5iNON`3;0rcs5i)%0+?1lM_4n2? zBZf{zCT5ok0~Kens)cV{KZ>nd`cJt3q?e0f;whFX90p4-+?m0exFRr+qlrsVRZ)a7 z=%Aye;uA*E?r4jio*=D9hbsaq{CbUe9oA}cSR@%rX1&l_>wo1DFN6M+of;dZ)@bhj z)_EiJQ|HOFo%8{xe^}HPs+yI&)mZwxiP`*#l-*onlzYY2X~OUu~bpjn0E*@ftG%7e;0? z-Z*kRf4|}nx$=z2g<(vcI}aakPP4ptJvQQB&h!SS+LUEH>3$EsONz}Bl~~ltxy2+g zF{DTzU`BS2n6 zf^R}oQ`i!Q1DtU#l~09Nw?2>7P}#*6-7UZ%FjItM!{Mi5t0hHTYrd`wZOmazkdSf6 z-*>2QcHEKcJR*~CzKmy8# zO7~`~*#b|-^UM5PR`Rgh1(vihPp@I*FFd^E)va#%r!USda4DIfE%CzhgtiE?$??0J r0v#SSvN%ncaH!unZS~u2cgkMB-Tt6WJFmlMO7^>*EHAhOSs1JVY`nC@ literal 0 HcmV?d00001 diff --git a/java/external/xdocs/dom/core/introduction.html b/java/external/xdocs/dom/core/introduction.html new file mode 100644 index 0000000..316de6d --- /dev/null +++ b/java/external/xdocs/dom/core/introduction.html @@ -0,0 +1,512 @@ + + + + +What is the Document Object Model? + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

What is the Document Object +Model?

+ +
+
Editors
+ +
Philippe Le Hégaret, W3C
+ +
Lauren Wood, SoftQuad Software Inc., WG Chair
+ +
Jonathan Robie, Texcel (for DOM Level 1)
+
+ +
+ +

Introduction

+ +

The Document Object Model (DOM) is an application programming +interface (API) for +valid HTML and +well-formed XML +documents. It defines the logical structure of documents and the +way a document is accessed and manipulated. In the DOM +specification, the term "document" is used in the broad sense - +increasingly, XML is being used as a way of representing many +different kinds of information that may be stored in diverse +systems, and much of this would traditionally be seen as data +rather than as documents. Nevertheless, XML presents this data as +documents, and the DOM may be used to manage this data.

+ +

With the Document Object Model, programmers can build documents, +navigate their structure, and add, modify, or delete elements and +content. Anything found in an HTML or XML document can be accessed, +changed, deleted, or added using the Document Object Model, with a +few exceptions - in particular, the DOM interfaces for the +XML internal and external subsets have not yet been specified.

+ +

As a W3C specification, one important objective for the Document +Object Model is to provide a standard programming interface that +can be used in a wide variety of environments and applications. The +DOM is designed to be used with any programming language. In order +to provide a precise, language-independent specification of the DOM +interfaces, we have chosen to define the specifications in Object +Management Group (OMG) IDL [OMGIDL], as defined in the CORBA +2.3.1 specification [CORBA]. In addition to the OMG IDL +specification, we provide language bindings +for Java [Java] +and ECMAScript [ECMAScript] (an +industry-standard scripting language based on JavaScript [JavaScript] +and JScript [JScript]).

+ +

Note: OMG IDL is used only as a language-independent and +implementation-neutral way to specify interfaces. Various +other IDLs could have been used ([COM], [JavaIDL], [MIDL], ...). In general, IDLs are +designed for specific computing environments. The Document Object +Model can be implemented in any computing environment, and does not +require the object binding runtimes generally associated with such +IDLs.

+
+ + +
+ +

What the Document Object Model +is

+ +

The DOM is a programming API for documents. It is +based on an object structure that closely resembles the structure +of the documents it models. For instance, +consider this table, taken from an HTML document:

+ +
+
+      <TABLE>
+      <TBODY> 
+      <TR> 
+      <TD>Shady Grove</TD>
+      <TD>Aeolian</TD> 
+      </TR> 
+      <TR>
+      <TD>Over the River, Charlie</TD>        
+      <TD>Dorian</TD> 
+      </TR> 
+      </TBODY>
+      </TABLE>
+   
+
+
+ +

A graphical representation of the DOM of the example table +is:
+

+ +
+
+ + +
+graphical representation of the DOM of the example table + +
+
+ +

In the DOM, documents have a logical structure which is very +much like a tree; to be more precise, which is like a "forest" or +"grove", which can contain more than one tree. Each document +contains zero or one doctype nodes, one root element node, and zero +or more comments or processing instructions; the root element +serves as the root of the element tree for the document. However, +the DOM does not specify that documents must be +implemented as a tree or a grove, nor does it specify how +the relationships among objects be implemented. The DOM is a +logical model that may be implemented in any convenient manner. In +this specification, we use the term structure model to +describe the tree-like representation of a document. We also use +the term "tree" when referring to the arrangement of those +information items which can be reached by using "tree-walking" +methods; (this does not include attributes). One important property +of DOM structure models is structural isomorphism: if any +two Document Object Model implementations are used to create a +representation of the same document, they will create the same +structure model, in accordance with the XML Information Set [Infoset].

+ +

Note: There may be some variations depending on the +parser being used to build the DOM. For instance, the DOM may not +contain whitespaces in element content if the parser discards +them.

+ +

The name "Document Object Model" was chosen because it is an "object model" in +the traditional object oriented design sense: documents are modeled +using objects, and the model encompasses not only the structure of +a document, but also the behavior of a document and the objects of +which it is composed. In other words, the nodes in the above +diagram do not represent a data structure, they represent objects, +which have functions and identity. As an object model, the DOM +identifies:

+ +
    +
  • the interfaces and objects used to represent and manipulate a +document
  • + +
  • the semantics of these interfaces and objects - including both +behavior and attributes
  • + +
  • the relationships and collaborations among these interfaces and +objects
  • +
+ +

The structure of SGML documents has traditionally been +represented by an abstract data model, not by +an object model. In an abstract data model, the +model is centered around the data. In object oriented programming +languages, the data itself is encapsulated in objects that hide the +data, protecting it from direct external manipulation. The +functions associated with these objects determine how the objects +may be manipulated, and they are part of the object model.

+
+ + +
+ +

What the Document Object Model +is not

+ +

This section is designed to give a more precise understanding of +the DOM by distinguishing it from other systems that may seem to be +like it.

+ +
    +
  • The Document Object Model is not a binary specification. DOM +programs written in the same language binding will be source code +compatible across platforms, but the DOM does not define any form +of binary interoperability.
  • + +
  • The Document Object Model is not a way of persisting objects to +XML or HTML. Instead of specifying how objects may be represented +in XML, the DOM specifies how XML and HTML documents are +represented as objects, so that they may be used in object oriented +programs.
  • + +
  • The Document Object Model is not a set of data structures; it +is an object +model that specifies interfaces. Although this document +contains diagrams showing parent/child relationships, these are +logical relationships defined by the programming interfaces, not +representations of any particular internal data structures.
  • + +
  • The Document Object Model does not define what information in a +document is relevant or how information in a document is +structured. For XML, this is specified by the W3C XML Information +Set [Infoset]. +The DOM is simply an API to this information +set.
  • + +
  • The Document Object Model, despite its name, is not a +competitor to the Component Object Model (COM). COM, like CORBA, is +a language independent way to specify interfaces and objects; the +DOM is a set of interfaces and objects designed for managing HTML +and XML documents. The DOM may be implemented using +language-independent systems like COM or CORBA; it may also be +implemented using language-specific bindings like the Java or +ECMAScript bindings specified in this document.
  • +
+
+ + +
+ +

Where the Document Object +Model came from

+ +

The DOM originated as a specification to allow JavaScript +scripts and Java programs to be portable among Web browsers. +"Dynamic HTML" was the immediate ancestor of the Document Object +Model, and it was originally thought of largely in terms of +browsers. However, when the DOM Working Group was formed at W3C, it +was also joined by vendors in other domains, including HTML or XML +editors and document repositories. Several of these vendors had +worked with SGML before XML was developed; as a result, the DOM has +been influenced by SGML Groves and the HyTime standard. Some of +these vendors had also developed their own object models for +documents in order to provide an API for SGML/XML editors or +document repositories, and these object models have also influenced +the DOM.

+
+ + +
+ +

Entities and the DOM Core

+ +

In the fundamental DOM interfaces, there are no objects +representing entities. Numeric character references, and references +to the pre-defined entities in HTML and XML, are replaced by the +single character that makes up the entity's replacement. For +example, in:

+ +
+
+        <p>This is a dog &amp; a cat</p>        
+     
+
+
+ +

the "&amp;" will be replaced by the character "&", and +the text in the P element will form a single continuous sequence of +characters. Since numeric character references and pre-defined +entities are not recognized as such in CDATA sections, or in the +SCRIPT and STYLE elements in HTML, they are not replaced by the +single character they appear to refer to. If the example above were +enclosed in a CDATA section, the "&amp;" would not be replaced +by "&"; neither would the <p> be recognized as a start +tag. The representation of general entities, both internal and +external, are defined within the extended (XML) interfaces of DOM +Level 1 [DOM +Level 1].

+ +

Note: When a DOM representation of a document is serialized as +XML or HTML text, applications will need to check each character in +text data to see if it needs to be escaped using a numeric or +pre-defined entity. Failing to do so could result in invalid HTML +or XML. Also, implementations +should be aware of the fact that serialization into a character +encoding ("charset") that does not fully cover ISO 10646 may fail +if there are characters in markup or CDATA sections that are not +present in the encoding.

+
+ + +
+ + +

Conformance

+ +

This section explains the different levels of conformance to DOM +Level 2. DOM Level 2 consists of 14 modules. It is possible to +conform to DOM Level 2, or to a DOM Level 2 module.

+ +

An implementation is DOM Level 2 conformant if it supports the +Core module defined in this document (see Fundamental Interfaces). An +implementation conforms to a DOM Level 2 module if it supports all +the interfaces for that module and the associated semantics.

+ +

Here is the complete list of DOM Level 2.0 modules and the +features used by them. Feature names are case-insensitive.

+ +
+
Core module
+ +
defines the feature "Core".
+ +
XML module
+ +
defines the feature "XML".
+ +
HTML module
+ +
defines the feature "HTML". (see [DOM Level 2 HTML]). + +

Note: At time of publication, this DOM Level 2 module is +not yet a W3C Recommendation.

+
+ +
Views module
+ +
defines the feature "Views" +in [DOM Level +2 Views].
+ +
Style Sheets module
+ +
defines the feature "StyleSheets" +in [DOM +Level 2 Style Sheets].
+ +
CSS module
+ +
defines the feature "CSS" +in [DOM Level 2 +CSS].
+ +
CSS2 module
+ +
defines the feature "CSS2" +in [DOM Level 2 +CSS].
+ +
Events module
+ +
defines the feature "Events" +in [DOM +Level 2 Events].
+ +
User interface Events module
+ +
defines the feature "UIEvents" +in [DOM +Level 2 Events].
+ +
Mouse Events module
+ +
defines the feature "MouseEvents" +in [DOM +Level 2 Events].
+ +
Mutation Events module
+ +
defines the feature "MutationEvents" +in [DOM +Level 2 Events].
+ +
HTML Events module
+ +
defines the feature "HTMLEvents" +in [DOM +Level 2 Events].
+ +
Range module
+ +
defines the feature +"Range" in [DOM Level 2 Range].
+ +
Traversal module
+ +
defines the feature +"Traversal" in [DOM Level 2 +Traversal].
+
+ +

A DOM implementation must not return "true" to the +hasFeature(feature, version) method of the DOMImplementation +interface for that feature unless the implementation conforms to +that module. The version number for all features used +in DOM Level 2.0 is "2.0".

+
+ + +
+ +

DOM Interfaces and DOM +Implementations

+ +

The DOM specifies interfaces which may be used to manage XML or +HTML documents. It is important to realize that these interfaces +are an abstraction - much like "abstract base classes" in C++, they +are a means of specifying a way to access and manipulate an +application's internal representation of a document. Interfaces do +not imply a particular concrete implementation. Each DOM +application is free to maintain documents in any convenient +representation, as long as the interfaces shown in this +specification are supported. Some DOM implementations will be +existing programs that use the DOM interfaces to access software +written long before the DOM specification existed. Therefore, the +DOM is designed to avoid implementation dependencies; in +particular,

+ +
    +
  1. Attributes defined in the IDL do not imply concrete objects +which must have specific data members - in the language bindings, +they are translated to a pair of get()/set() functions, not to a +data member. Read-only attributes have only a get() function in the +language bindings.
  2. + +
  3. DOM applications may provide additional interfaces and objects +not found in this specification and still be considered DOM +conformant.
  4. + +
  5. Because we specify interfaces and not the actual objects that +are to be created, the DOM cannot know what constructors to call +for an implementation. In general, DOM users call the createX() +methods on the Document class to create document structures, and +DOM implementations create their own internal representations of +these structures in their implementations of the createX() +functions.
  6. +
+ +

The Level 1 interfaces were extended to provide both Level 1 and +Level 2 functionality.

+ +

DOM implementations in languages other than Java or ECMAScript +may choose bindings that are appropriate and natural for their +language and run time environment. For example, some systems may +need to create a Document2 class which inherits from Document and +contains the new methods and attributes.

+ +

DOM Level 2 does not specify multithreading mechanisms.

+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/core/java-binding.html b/java/external/xdocs/dom/core/java-binding.html new file mode 100644 index 0000000..ce98848 --- /dev/null +++ b/java/external/xdocs/dom/core/java-binding.html @@ -0,0 +1,555 @@ + + + + +Java Language Binding + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix D: Java Language +Binding

+ +

This appendix contains the complete Java Language [Java] binding for +the Level 2 Document Object Model Core.

+ +

The Java files are also available as http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/java-binding.zip

+ +

+org/w3c/dom/DOMException.java:

+ +
+
+package org.w3c.dom;
+
+public class DOMException extends RuntimeException {
+    public DOMException(short code, String message) {
+       super(message);
+       this.code = code;
+    }
+    public short   code;
+    // ExceptionCode
+    public static final short INDEX_SIZE_ERR            = 1;
+    public static final short DOMSTRING_SIZE_ERR        = 2;
+    public static final short HIERARCHY_REQUEST_ERR     = 3;
+    public static final short WRONG_DOCUMENT_ERR        = 4;
+    public static final short INVALID_CHARACTER_ERR     = 5;
+    public static final short NO_DATA_ALLOWED_ERR       = 6;
+    public static final short NO_MODIFICATION_ALLOWED_ERR = 7;
+    public static final short NOT_FOUND_ERR             = 8;
+    public static final short NOT_SUPPORTED_ERR         = 9;
+    public static final short INUSE_ATTRIBUTE_ERR       = 10;
+    public static final short INVALID_STATE_ERR         = 11;
+    public static final short SYNTAX_ERR                = 12;
+    public static final short INVALID_MODIFICATION_ERR  = 13;
+    public static final short NAMESPACE_ERR             = 14;
+    public static final short INVALID_ACCESS_ERR        = 15;
+
+}
+
+
+ +

+org/w3c/dom/DOMImplementation.java:

+ +
+
+package org.w3c.dom;
+
+public interface DOMImplementation {
+    public boolean hasFeature(String feature, 
+                              String version);
+
+    public DocumentType createDocumentType(String qualifiedName, 
+                                           String publicId, 
+                                           String systemId)
+                                           throws DOMException;
+
+    public Document createDocument(String namespaceURI, 
+                                   String qualifiedName, 
+                                   DocumentType doctype)
+                                   throws DOMException;
+
+}
+
+
+ +

+org/w3c/dom/DocumentFragment.java:

+ +
+
+package org.w3c.dom;
+
+public interface DocumentFragment extends Node {
+}
+
+
+ +

org/w3c/dom/Document.java:

+ +
+
+package org.w3c.dom;
+
+public interface Document extends Node {
+    public DocumentType getDoctype();
+
+    public DOMImplementation getImplementation();
+
+    public Element getDocumentElement();
+
+    public Element createElement(String tagName)
+                                 throws DOMException;
+
+    public DocumentFragment createDocumentFragment();
+
+    public Text createTextNode(String data);
+
+    public Comment createComment(String data);
+
+    public CDATASection createCDATASection(String data)
+                                           throws DOMException;
+
+    public ProcessingInstruction createProcessingInstruction(String target, 
+                                                             String data)
+                                                             throws DOMException;
+
+    public Attr createAttribute(String name)
+                                throws DOMException;
+
+    public EntityReference createEntityReference(String name)
+                                                 throws DOMException;
+
+    public NodeList getElementsByTagName(String tagname);
+
+    public Node importNode(Node importedNode, 
+                           boolean deep)
+                           throws DOMException;
+
+    public Element createElementNS(String namespaceURI, 
+                                   String qualifiedName)
+                                   throws DOMException;
+
+    public Attr createAttributeNS(String namespaceURI, 
+                                  String qualifiedName)
+                                  throws DOMException;
+
+    public NodeList getElementsByTagNameNS(String namespaceURI, 
+                                           String localName);
+
+    public Element getElementById(String elementId);
+
+}
+
+
+ +

org/w3c/dom/Node.java:

+ +
+
+package org.w3c.dom;
+
+public interface Node {
+    // NodeType
+    public static final short ELEMENT_NODE              = 1;
+    public static final short ATTRIBUTE_NODE            = 2;
+    public static final short TEXT_NODE                 = 3;
+    public static final short CDATA_SECTION_NODE        = 4;
+    public static final short ENTITY_REFERENCE_NODE     = 5;
+    public static final short ENTITY_NODE               = 6;
+    public static final short PROCESSING_INSTRUCTION_NODE = 7;
+    public static final short COMMENT_NODE              = 8;
+    public static final short DOCUMENT_NODE             = 9;
+    public static final short DOCUMENT_TYPE_NODE        = 10;
+    public static final short DOCUMENT_FRAGMENT_NODE    = 11;
+    public static final short NOTATION_NODE             = 12;
+
+    public String getNodeName();
+
+    public String getNodeValue()
+                                  throws DOMException;
+    public void setNodeValue(String nodeValue)
+                                  throws DOMException;
+
+    public short getNodeType();
+
+    public Node getParentNode();
+
+    public NodeList getChildNodes();
+
+    public Node getFirstChild();
+
+    public Node getLastChild();
+
+    public Node getPreviousSibling();
+
+    public Node getNextSibling();
+
+    public NamedNodeMap getAttributes();
+
+    public Document getOwnerDocument();
+
+    public Node insertBefore(Node newChild, 
+                             Node refChild)
+                             throws DOMException;
+
+    public Node replaceChild(Node newChild, 
+                             Node oldChild)
+                             throws DOMException;
+
+    public Node removeChild(Node oldChild)
+                            throws DOMException;
+
+    public Node appendChild(Node newChild)
+                            throws DOMException;
+
+    public boolean hasChildNodes();
+
+    public Node cloneNode(boolean deep);
+
+    public void normalize();
+
+    public boolean isSupported(String feature, 
+                               String version);
+
+    public String getNamespaceURI();
+
+    public String getPrefix();
+    public void setPrefix(String prefix)
+                               throws DOMException;
+
+    public String getLocalName();
+
+    public boolean hasAttributes();
+
+}
+
+
+ +

org/w3c/dom/NodeList.java:

+ +
+
+package org.w3c.dom;
+
+public interface NodeList {
+    public Node item(int index);
+
+    public int getLength();
+
+}
+
+
+ +

+org/w3c/dom/NamedNodeMap.java:

+ +
+
+package org.w3c.dom;
+
+public interface NamedNodeMap {
+    public Node getNamedItem(String name);
+
+    public Node setNamedItem(Node arg)
+                             throws DOMException;
+
+    public Node removeNamedItem(String name)
+                                throws DOMException;
+
+    public Node item(int index);
+
+    public int getLength();
+
+    public Node getNamedItemNS(String namespaceURI, 
+                               String localName);
+
+    public Node setNamedItemNS(Node arg)
+                               throws DOMException;
+
+    public Node removeNamedItemNS(String namespaceURI, 
+                                  String localName)
+                                  throws DOMException;
+
+}
+
+
+ +

+org/w3c/dom/CharacterData.java:

+ +
+
+package org.w3c.dom;
+
+public interface CharacterData extends Node {
+    public String getData()
+                                  throws DOMException;
+    public void setData(String data)
+                                  throws DOMException;
+
+    public int getLength();
+
+    public String substringData(int offset, 
+                                int count)
+                                throws DOMException;
+
+    public void appendData(String arg)
+                           throws DOMException;
+
+    public void insertData(int offset, 
+                           String arg)
+                           throws DOMException;
+
+    public void deleteData(int offset, 
+                           int count)
+                           throws DOMException;
+
+    public void replaceData(int offset, 
+                            int count, 
+                            String arg)
+                            throws DOMException;
+
+}
+
+
+ +

org/w3c/dom/Attr.java:

+ +
+
+package org.w3c.dom;
+
+public interface Attr extends Node {
+    public String getName();
+
+    public boolean getSpecified();
+
+    public String getValue();
+    public void setValue(String value)
+                            throws DOMException;
+
+    public Element getOwnerElement();
+
+}
+
+
+ +

org/w3c/dom/Element.java:

+ +
+
+package org.w3c.dom;
+
+public interface Element extends Node {
+    public String getTagName();
+
+    public String getAttribute(String name);
+
+    public void setAttribute(String name, 
+                             String value)
+                             throws DOMException;
+
+    public void removeAttribute(String name)
+                                throws DOMException;
+
+    public Attr getAttributeNode(String name);
+
+    public Attr setAttributeNode(Attr newAttr)
+                                 throws DOMException;
+
+    public Attr removeAttributeNode(Attr oldAttr)
+                                    throws DOMException;
+
+    public NodeList getElementsByTagName(String name);
+
+    public String getAttributeNS(String namespaceURI, 
+                                 String localName);
+
+    public void setAttributeNS(String namespaceURI, 
+                               String qualifiedName, 
+                               String value)
+                               throws DOMException;
+
+    public void removeAttributeNS(String namespaceURI, 
+                                  String localName)
+                                  throws DOMException;
+
+    public Attr getAttributeNodeNS(String namespaceURI, 
+                                   String localName);
+
+    public Attr setAttributeNodeNS(Attr newAttr)
+                                   throws DOMException;
+
+    public NodeList getElementsByTagNameNS(String namespaceURI, 
+                                           String localName);
+
+    public boolean hasAttribute(String name);
+
+    public boolean hasAttributeNS(String namespaceURI, 
+                                  String localName);
+
+}
+
+
+ +

org/w3c/dom/Text.java:

+ +
+
+package org.w3c.dom;
+
+public interface Text extends CharacterData {
+    public Text splitText(int offset)
+                          throws DOMException;
+
+}
+
+
+ +

org/w3c/dom/Comment.java:

+ +
+
+package org.w3c.dom;
+
+public interface Comment extends CharacterData {
+}
+
+
+ +

+org/w3c/dom/CDATASection.java:

+ +
+
+package org.w3c.dom;
+
+public interface CDATASection extends Text {
+}
+
+
+ +

+org/w3c/dom/DocumentType.java:

+ +
+
+package org.w3c.dom;
+
+public interface DocumentType extends Node {
+    public String getName();
+
+    public NamedNodeMap getEntities();
+
+    public NamedNodeMap getNotations();
+
+    public String getPublicId();
+
+    public String getSystemId();
+
+    public String getInternalSubset();
+
+}
+
+
+ +

org/w3c/dom/Notation.java:

+ +
+
+package org.w3c.dom;
+
+public interface Notation extends Node {
+    public String getPublicId();
+
+    public String getSystemId();
+
+}
+
+
+ +

org/w3c/dom/Entity.java:

+ +
+
+package org.w3c.dom;
+
+public interface Entity extends Node {
+    public String getPublicId();
+
+    public String getSystemId();
+
+    public String getNotationName();
+
+}
+
+
+ +

+org/w3c/dom/EntityReference.java:

+ +
+
+package org.w3c.dom;
+
+public interface EntityReference extends Node {
+}
+
+
+ +

+org/w3c/dom/ProcessingInstruction.java:

+ +
+
+package org.w3c.dom;
+
+public interface ProcessingInstruction extends Node {
+    public String getTarget();
+
+    public String getData();
+    public void setData(String data)
+                          throws DOMException;
+
+}
+
+
+
+ + + + + + diff --git a/java/external/xdocs/dom/core/references.html b/java/external/xdocs/dom/core/references.html new file mode 100644 index 0000000..1ac761e --- /dev/null +++ b/java/external/xdocs/dom/core/references.html @@ -0,0 +1,260 @@ + + + + +References + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

References

+ +

For the latest version of any W3C specification please consult +the list of W3C Technical +Reports available at http://www.w3.org/TR.

+ +
+ +

H.1: Normative +references

+ +
+
Charmod
+ +
W3C (World Wide Web Consortium) Character +Model for the World Wide Web, November 1999. Available at +http://www.w3.org/TR/1999/WD-charmod-19991129
+ +
ECMAScript
+ +
ECMA (European Computer Manufacturers Association) ECMAScript +Language Specification. Available at +http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM
+ +
HTML4.0
+ +
W3C (World Wide Web Consortium) HTML 4.0 +Specification, April 1998. Available at +http://www.w3.org/TR/1998/REC-html40-19980424
+ +
ISO/IEC 10646
+ +
ISO (International Organization for Standardization). ISO/IEC +10646-1:2000 (E). Information technology - Universal Multiple-Octet +Coded Character Set (UCS) - Part 1: Architecture and Basic +Multilingual Plane. [Geneva]: International Organization for +Standardization.
+ +
Java
+ +
Sun Microsystems Inc. The Java Language +Specification, James Gosling, Bill Joy, and Guy Steele, +September 1996. Available at +http://java.sun.com/docs/books/jls
+ +
Namespaces
+ +
W3C (World Wide Web Consortium) Namespaces +in XML, January 1999. Available at +http://www.w3.org/TR/1999/REC-xml-names-19990114
+ +
OMGIDL
+ +
OMG (Object Management Group) +IDL (Interface Definition Language) defined in The Common Object +Request Broker: Architecture and Specification, version 2.3.1, +October 1999. Available from http://www.omg.org/
+ +
RFC2396
+ +
IETF (Internet Engineering Task Force) RFC 2396: Uniform +Resource Identifiers (URI): Generic Syntax, eds. T. +Berners-Lee, R. Fielding, L. Masinter. August 1998. Available at +http://www.ietf.org/rfc/rfc2396.txt
+ +
Unicode
+ +
The Unicode Consortium. +The Unicode Standard, Version 3.0., February 2000. Available at +http://www.unicode.org/unicode/standard/versions/Unicode3.0.html.
+ +
XML
+ +
W3C (World Wide Web Consortium) Extensible Markup +Language (XML) 1.0, February 1998. Available at +http://www.w3.org/TR/1998/REC-xml-19980210
+
+
+ + +
+ +

H.2: Informative +references

+ +
+
DOM Level 2 +CSS
+ +
W3C (World Wide Web Consortium) Document Object +Model Level 2 CSS. Available at +http://www.w3.org/TR/DOM-Level-2-Style/css
+ +
COM
+ +
Microsoft Corp. The +Component Object Model. Available at +http://www.microsoft.com/com
+ +
CORBA
+ +
OMG (Object Management Group) +The Common Object Request Broker: Architecture and Specification, +version 2.3.1, October 1999. Available from +http://www.omg.org/
+ +
DOM Level +1
+ +
W3C (World Wide Web Consortium) DOM Level 1 +Specification, October 1998. Available at +http://www.w3.org/TR/REC-DOM-Level-1
+ +
DOM Level 2 +HTML
+ +
W3C (World Wide Web Consortium) Document Object Model +Level 2 HTML Specification. Available at +http://www.w3.org/TR/DOM-Level-2-HTML
+ +
DOM Level 2 +Events
+ +
W3C (World Wide Web Consortium) Document Object +Model Level 2 Events Specification. Available at +http://www.w3.org/TR/DOM-Level-2-Events
+ +
Infoset
+ +
W3C (World Wide Web Consortium) XML Information Set, +December 1999. Available at http://www.w3.org/TR/xml-infoset
+ +
JavaIDL
+ +
Sun Microsystems Inc. Java +IDL. Available at +http://java.sun.com/products/jdk/1.2/docs/guide/idl
+ +
JavaScript
+ +
Netscape Communications Corp. +JavaScript Resources. Available at +http://developer.netscape.com/tech/javascript/resources.html
+ +
JScript
+ +
Microsoft Corp. JScript +Resources. Available at +http://msdn.microsoft.com/scripting/default.htm
+ +
MIDL
+ +
Microsoft Corp. +MIDL Language Reference. Available at +http://msdn.microsoft.com/library/psdk/midl/mi-laref_1r1h.htm
+ +
DOM +Level 2 Style Sheets
+ +
W3C (World Wide Web Consortium) Document +Object Model Level 2 Style Sheets. Available at +http://www.w3.org/TR/DOM-Level-2-Style/stylesheets
+ +
DOM Level 2 +Traversal
+ +
W3C (World Wide Web Consortium) Document +Object Model Level 2 Traversal. Available at +http://www.w3.org/TR/DOM-Level-2-Traversal-Range/traversal
+ +
DOM Level 2 +Range
+ +
W3C (World Wide Web Consortium) +Document Object Model Level 2 Range. Available at +http://www.w3.org/TR/DOM-Level-2-Traversal-Range/ranges
+ +
DOM Level 2 +Views
+ +
W3C (World Wide Web Consortium) Document Object Model +Level 2 Views Specification. Available at +http://www.w3.org/TR/DOM-Level-2-Views
+ +
XPointer
+ +
W3C (World Wide Web Consortium) XML Pointer Language +(XPointer), June 2000. Available at +http://www.w3.org/TR/xptr
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/core/spec.css b/java/external/xdocs/dom/core/spec.css new file mode 100644 index 0000000..6a6bf13 --- /dev/null +++ b/java/external/xdocs/dom/core/spec.css @@ -0,0 +1,75 @@ +H4 { + text-align: left; + font-family: sans-serif; + font-weight: normal; + color: #0050B2; +} +.idl-code { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} +.java-code { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} + + +.code-block { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} + + +.ecma-block { + border: 1px solid black; + color: black; + background-color: #dfdfdf; +} + + +.interface-name { + font-weight: bold +} + +.attribute-name { + color: black; + background-color: #FFFFD2; +} + +.constant-name { + color: black; + background-color: #DDFFD2; +} + +.method-name { + color: black; + background-color: #D9E6F8; +} + +.parameter-name { + color: black; + background-color: #FEE6F8; +} + +UL.toc, OL.toc {list-style: none} +DIV.toc UL UL, DIV.toc OL OL {margin-left: 0} +DIV.toc UL UL UL, DIV.toc OL OL OL {margin-left: 1em} +DIV.toc UL UL UL UL, DIV.toc OL OL OL OL {margin-left: 0} +LI.tocline1 {font-weight: bold} +LI.tocline2 {font-weight: normal} +LI.tocline4 {font-style: italic} + +code { font-family: monospace } + +div.paramtable { margin-left: 1em } +div.returntable { margin-left: 1em } +div.exceptiontable { margin-left: 1em } diff --git a/java/external/xdocs/dom/events/COPYRIGHT.html b/java/external/xdocs/dom/events/COPYRIGHT.html new file mode 100644 index 0000000..26049b7 --- /dev/null +++ b/java/external/xdocs/dom/events/COPYRIGHT.html @@ -0,0 +1,100 @@ + + + + + W3C IPR SOFTWARE NOTICE + + +

+ W3C IPR SOFTWARE NOTICE +

+

+ Copyright © 2000 World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. +

+

+ The DOM bindings are published under the W3C Software Copyright Notice + and License. The software license requires "Notice of any changes or + modifications to the W3C files, including the date changes were made." + Consequently, modified versions of the DOM bindings must document that + they do not conform to the W3C standard; in the case of the IDL binding, + the pragma prefix can no longer be 'w3c.org'; in the case of the Java + binding, the package names can no longer be in the 'org.w3c' package. +

+

+ Note: The original version of the W3C Software Copyright Notice + and License could be found at http://www.w3.org/Consortium/Legal/copyright-software-19980720 +

+

+ Copyright © 1994-2000 World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. http://www.w3.org/Consortium/Legal/ +

+

+ This W3C work (including software, documents, or other related items) is + being provided by the copyright holders under the following license. By + obtaining, using and/or copying this work, you (the licensee) agree that + you have read, understood, and will comply with the following terms and + conditions: +

+

+ Permission to use, copy, and modify this software and its documentation, + with or without modification,  for any purpose and without fee or + royalty is hereby granted, provided that you include the following on ALL + copies of the software and documentation or portions thereof, including + modifications, that you make: +

+
    +
  1. + The full text of this NOTICE in a location viewable to users of the + redistributed or derivative work. +
  2. +
  3. + Any pre-existing intellectual property disclaimers, notices, or terms + and conditions. If none exist, a short notice of the following form + (hypertext is preferred, text is permitted) should be used within the + body of any redistributed or derivative code: "Copyright © + [$date-of-software] World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. http://www.w3.org/Consortium/Legal/" +
  4. +
  5. + Notice of any changes or modifications to the W3C files, including the + date changes were made. (We recommend you provide URIs to the location + from which the code is derived.) +
  6. +
+

+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT + HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR + DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, + TRADEMARKS OR OTHER RIGHTS. +

+

+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR + CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR + DOCUMENTATION. +

+

+ The name and trademarks of copyright holders may NOT be used in + advertising or publicity pertaining to the software without specific, + written prior permission. Title to copyright in this software and any + associated documentation will at all times remain with copyright + holders. +

+ + diff --git a/java/external/xdocs/dom/events/Overview.html b/java/external/xdocs/dom/events/Overview.html new file mode 100644 index 0000000..c89c3e3 --- /dev/null +++ b/java/external/xdocs/dom/events/Overview.html @@ -0,0 +1,195 @@ + + + + +Document Object Model (DOM) Level 2 Events +Specification + + + + + + + + + +
+

+ +

Document Object Model (DOM) Level 2 Events +Specification

+ +

Version 1.0

+ + +

W3C Recommendation 13 November, +2000

+ +
+
This version:
+ +
http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113
+ ( +PostScript file , +PDF file , +plain text , +ZIP file)
+ +
Latest version:
+ +
http://www.w3.org/TR/DOM-Level-2-Events
+ +
Previous version:
+ +
http://www.w3.org/TR/2000/PR-DOM-Level-2-Events-20000927
+
+ +
+
Editors:
+ +
Tom Pixley, Netscape Communications Corp.
+
+ + +
+ +
+

Abstract

+ +
+

This specification defines the Document Object Model Level 2 +Events, a platform- and language-neutral interface that gives to +programs and scripts a generic event system. The Document Object +Model Level 2 Events builds on the Document Object Model Level 2 +Core [DOM Level 2 +Core] and on Document Object Model Level 2 Views [DOM Level 2 +Views].

+
+ +

Status of this document

+ +
+

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 W3C.

+ +

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.

+ +

This document has been produced as part of the W3C DOM Activity. +The authors of this document are the DOM Working Group members. +Different modules of the Document Object Model have different +editors.

+ +

Please send general comments about this document to the public +mailing list www-dom@w3.org. An +archive +is available at http://lists.w3.org/Archives/Public/www-dom/.

+ +

The English version of this specification is the only normative +version. Information about translations +of this document is available at +http://www.w3.org/2000/11/DOM-Level-2-translations.

+ +

The list +of known errors in this document is available at +http://www.w3.org/2000/11/DOM-Level-2-errata

+ +

A list of current W3C +Recommendations and other technical documents can be found at +http://www.w3.org/TR.

+
+ +

Table +of contents

+ + + + + + + + + + + diff --git a/java/external/xdocs/dom/events/W3C-REC.css b/java/external/xdocs/dom/events/W3C-REC.css new file mode 100644 index 0000000..43eea27 --- /dev/null +++ b/java/external/xdocs/dom/events/W3C-REC.css @@ -0,0 +1,94 @@ +/* This is an SSI script. Policy: + (1) Use CVS + (2) send e-mail to w3t-comm@w3.org if you edit this +*/ +/* Style for a "Recommendation" */ + +/* + This is an SSI script. Policy: + (1) Use CVS + (2) send e-mail to w3t-comm@w3.org if you edit this + + Acknowledgments: + + - 'background-color' doesn't work on Mac IE 3, but 'background' + does (Susan Lesch ) + + - 'smaller' leads to illegible text in both Mac IE and Mac NS, + 'small' is better: works in Mac NS, but is always 12pt in Mac IE + 3 (Susan Lesch ) + + $Id$ +*/ + +body { + margin: 2em 1em 2em 70px; + font-family: sans-serif; + color: black; + background: white; + background-position: top left; + background-attachment: fixed; + background-repeat: no-repeat; +} + +th, td { /* ns 4 */ + font-family: sans-serif; +} + +h1, h2, h3, h4, h5, h6 { text-align: left } +h1, h2, h3 { color: #005A9C } +h1 { font: 170% sans-serif } +h2 { font: 140% sans-serif } +h3 { font: 120% sans-serif } +h4 { font: bold 100% sans-serif } +h5 { font: italic 100% sans-serif } +h6 { font: small-caps 100% sans-serif } + +.hide { display: none } + +div.head { margin-bottom: 1em } +div.head h1 { margin-top: 2em; clear: both } +div.head table { margin-left: 2em; margin-top: 2em } +div.head img { color: white; border: none } /* remove border from top image */ + +p.copyright { font-size: small } +p.copyright small { font-size: small } + +@media screen { /* hide from IE3 */ +a:hover { background: #ffa } +} + +pre { margin-left: 2em } +/* +p { + margin-top: 0.6em; + margin-bottom: 0.6em; +} +*/ +dt, dd { margin-top: 0; margin-bottom: 0 } /* opera 3.50 */ +dt { font-weight: bold } + +pre, code { font-family: monospace } /* navigator 4 requires this */ + +ul.toc { + list-style: disc; /* Mac NS has problem with 'none' */ + list-style: none; +} + +@media aural { + h1, h2, h3 { stress: 20; richness: 90 } + .hide { speak: none } + p.copyright { volume: x-soft; speech-rate: x-fast } + dt { pause-before: 20% } + pre { speak-punctuation: code } +} + +/* Things (icons) that should only show up in projection mode */ +.projection { display: none } +@media projection { .projection { display: inline } } + + +body { + background-image: url(http://www.w3.org/StyleSheets/TR/logo-REC); +} + diff --git a/java/external/xdocs/dom/events/acknowledgements.html b/java/external/xdocs/dom/events/acknowledgements.html new file mode 100644 index 0000000..a4144e3 --- /dev/null +++ b/java/external/xdocs/dom/events/acknowledgements.html @@ -0,0 +1,101 @@ + + + + +Acknowledgements + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix D: +Acknowledgements

+ +

Many people contributed to this specification, including members +of the DOM Working Group and the DOM Interest Group. We especially +thank the following:

+ +

Lauren Wood (SoftQuad Software Inc., chair), Andrew +Watson (Object Management Group), Andy Heninger (IBM), Arnaud Le +Hors (W3C and IBM), Ben Chang (Oracle), Bill Smith (Sun), Bill Shea +(Merrill Lynch), Bob Sutor (IBM), Chris Lovett (Microsoft), Chris +Wilson (Microsoft), David Brownell (Sun), David Singer (IBM), Don +Park (invited), Eric Vasilik (Microsoft), Gavin Nicol (INSO), Ian +Jacobs (W3C), James Clark (invited), James Davidson (Sun), Jared +Sorensen (Novell), Joe Kesselman (IBM), Joe Lapp (webMethods), Joe +Marini (Macromedia), Johnny Stenback (Netscape), Jonathan Marsh +(Microsoft), Jonathan Robie (Texcel Research and Software AG), Kim +Adamson-Sharpe (SoftQuad Software Inc.), Laurence Cable (Sun), Mark +Davis (IBM), Mark Scardina (Oracle), Martin Dürst (W3C), Mick +Goulish (Software AG), Mike Champion (Arbortext and Software AG), +Miles Sabin (Cromwell Media), Patti Lutsky (Arbortext), Paul Grosso +(Arbortext), Peter Sharpe (SoftQuad Software Inc.), Phil Karlton +(Netscape), Philippe Le Hégaret (W3C, W3C team +contact), Ramesh Lekshmynarayanan (Merrill Lynch), Ray Whitmer +(iMall, Excite@Home and Netscape), Rich Rollman (Microsoft), Rick +Gessner (Netscape), Scott Isaacs (Microsoft), Sharon Adler (INSO), +Steve Byrne (JavaSoft), Tim Bray (invited), Tom Pixley (Netscape), +Vidur Apparao (Netscape), Vinod Anupam (Lucent).

+ +

Thanks to all those who have helped to improve this +specification by sending suggestions and corrections.

+ +
+ +

D.1: Production Systems

+ +

This specification was written in XML. The HTML, OMG IDL, Java +and ECMA Script bindings were all produced automatically.

+ +

Thanks to Joe English, author of cost, which was used as +the basis for producing DOM Level 1. Thanks also to Gavin Nicol, +who wrote the scripts which run on top of cost. Arnaud Le Hors and +Philippe Le Hégaret maintained the scripts.

+ +

For DOM Level 2, we used Xerces as the basis DOM +implementation and wish to thank the authors. Philippe Le +Hégaret and Arnaud Le Hors wrote the +Java programs which are the DOM application.

+ +

Thanks also to Jan Kärrman, author of html2ps, which we +use in creating the PostScript version of the specification.

+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/events/copyright-notice.html b/java/external/xdocs/dom/events/copyright-notice.html new file mode 100644 index 0000000..7d8e7d4 --- /dev/null +++ b/java/external/xdocs/dom/events/copyright-notice.html @@ -0,0 +1,229 @@ + + + + +Copyright Notice + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Copyright Notice

+ +

Copyright © 2000 World Wide +Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

This document is published under the W3C Document +Copyright Notice and License. The bindings within this document +are published under the W3C Software +Copyright Notice and License. The software license requires +"Notice of any changes or modifications to the W3C files, including +the date changes were made." Consequently, modified versions of the +DOM bindings must document that they do not conform to the W3C +standard; in the case of the IDL definitions, the pragma prefix can +no longer be 'w3c.org'; in the case of the Java Language binding, +the package names can no longer be in the 'org.w3c' package.

+ +
+ +
+ + +

Note: This section is a copy of the W3C Document Notice +and License and could be found at +http://www.w3.org/Consortium/Legal/copyright-documents-19990405.

+ +

Copyright © 1994-2000 World +Wide Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

http://www.w3.org/Consortium/Legal/

+ +

Public documents on the W3C site are provided by the copyright +holders under the following license. The software or Document Type +Definitions (DTDs) associated with W3C specifications are governed +by the Software +Notice. By using and/or copying this document, or the W3C +document from which this statement is linked, you (the licensee) +agree that you have read, understood, and will comply with the +following terms and conditions:

+ +

Permission to use, copy, and distribute the contents of this +document, or the W3C document from which this statement is linked, +in any medium for any purpose and without fee or royalty is hereby +granted, provided that you include the following on ALL +copies of the document, or portions thereof, that you use:

+ +
    +
  1. A link or URL to the original W3C document.
  2. + +
  3. The pre-existing copyright notice of the original author, or if +it doesn't exist, a notice of the form: "Copyright © +[$date-of-document] World Wide Web +Consortium, (Massachusetts +Institute of Technology, Institut National de Recherche en +Informatique et en Automatique, Keio University). All Rights +Reserved. http://www.w3.org/Consortium/Legal/" (Hypertext is +preferred, but a textual representation is permitted.)
  4. + +
  5. If it exists, the STATUS of the W3C document.
  6. +
+ +

When space permits, inclusion of the full text of this +NOTICE should be provided. We request that authorship +attribution be provided in any software, documents, or other items +or products that you create pursuant to the implementation of the +contents of this document, or any portion thereof.

+ +

No right to create modifications or derivatives of W3C documents +is granted pursuant to this license. However, if additional +requirements (documented in the Copyright +FAQ) are satisfied, the right to create modifications or +derivatives is sometimes granted by the W3C to individuals +complying with those requirements.

+ +

THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO +REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT +NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS +OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE +IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY +PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

+ +

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, +SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE +DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS +THEREOF.

+ +

The name and trademarks of copyright holders may NOT be used in +advertising or publicity pertaining to this document or its +contents without specific, written prior permission. Title to +copyright in this document will at all times remain with copyright +holders.

+
+ + +
+ +
+ + +

Note: This section is a copy of the W3C Software +Copyright Notice and License and could be found at +http://www.w3.org/Consortium/Legal/copyright-software-19980720

+ +

Copyright © 1994-2000 World +Wide Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

http://www.w3.org/Consortium/Legal/

+ +

This W3C work (including software, documents, or other related +items) is being provided by the copyright holders under the +following license. By obtaining, using and/or copying this work, +you (the licensee) agree that you have read, understood, and will +comply with the following terms and conditions:

+ +

Permission to use, copy, and modify this software and its +documentation, with or without modification, for any purpose and +without fee or royalty is hereby granted, provided that you include +the following on ALL copies of the software and documentation or +portions thereof, including modifications, that you make:

+ +
    +
  1. The full text of this NOTICE in a location viewable to users of +the redistributed or derivative work.
  2. + +
  3. Any pre-existing intellectual property disclaimers. If none +exist, then a notice of the following form: "Copyright © +[$date-of-software] World Wide Web +Consortium, (Massachusetts +Institute of Technology, Institut National de Recherche en +Informatique et en Automatique, Keio University). All Rights +Reserved. http://www.w3.org/Consortium/Legal/."
  4. + +
  5. Notice of any changes or modifications to the W3C files, +including the date changes were made. (We recommend you provide +URIs to the location from which the code is derived.)
  6. +
+ +

THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND +COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE +USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD +PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

+ +

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, +SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE +SOFTWARE OR DOCUMENTATION.

+ +

The name and trademarks of copyright holders may NOT be used in +advertising or publicity pertaining to the software without +specific, written prior permission. Title to copyright in this +software and any associated documentation will at all times remain +with copyright holders.

+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/events/def-index.html b/java/external/xdocs/dom/events/def-index.html new file mode 100644 index 0000000..e2e76d3 --- /dev/null +++ b/java/external/xdocs/dom/events/def-index.html @@ -0,0 +1,363 @@ + + + + +Index + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Index

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
addEventListenerADDITIONaltKey
ancestor 1, 2, 3AT_TARGETattrChange
attrName
 
bubblesBUBBLING_PHASEbutton
 
cancelableCAPTURING_PHASEchild +1, 2
clientXclientYcreateEvent
ctrlKeycurrentTarget
 
descendant 1, 2detaildispatchEvent
DocumentEventDOM Level 0 1, 2, 3, 4, 5DOM Level 2 Core 1, 2, 3, 4, 5, 6
DOM Level 2 +Views 1, 2
 
ECMAScriptEventEventException
EventListenereventPhaseEventTarget
 
handleEvent
 
initEventinitMouseEventinitMutationEvent
initUIEvent
 
Java
 
metaKeyMODIFICATIONMouseEvent
MutationEvent
 
newValue
 
OMGIDL
 
preventDefaultprevValue
 
relatedNoderelatedTargetREMOVAL
removeEventListener
 
screenXscreenYshiftKey
sibling 1, 2stopPropagation
 
targettimeStamptokenized
type
 
UIEventUNSPECIFIED_EVENT_TYPE_ERR
 
view
 
XML 1, 2XML name 1, 2, +3
+
+ + + + + + diff --git a/java/external/xdocs/dom/events/ecma-script-binding.html b/java/external/xdocs/dom/events/ecma-script-binding.html new file mode 100644 index 0000000..03b535c --- /dev/null +++ b/java/external/xdocs/dom/events/ecma-script-binding.html @@ -0,0 +1,472 @@ + + + + +ECMAScript Language Binding + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix C: ECMAScript +Language Binding

+ +

This appendix contains the complete ECMAScript [ECMAScript] +binding for the Level 2 Document Object Model Events +definitions.

+ +

Note: Exceptions handling is only supported by ECMAScript +implementation conformant with the Standard ECMA-262 3rd. Edition +([ECMAScript]).

+ +
+
+
Object EventTarget
+ +
+
+
The EventTarget object has the following methods:
+ +
+
+
addEventListener(type, listener, useCapture)
+ +
This method has no return value.
+The type parameter is of type String.
+The listener parameter is a EventListener +object.
+The useCapture parameter is of type Boolean.
+ +
removeEventListener(type, listener, useCapture)
+ +
This method has no return value.
+The type parameter is of type String.
+The listener parameter is a EventListener +object.
+The useCapture parameter is of type Boolean.
+ +
dispatchEvent(evt)
+ +
This method returns a Boolean.
+The evt parameter is a Event object.
+This method can raise a EventException object.
+
+
+
+
+ +
Object EventListener
+ +
This is an ECMAScript function reference. This method has no +return value. The parameter is a Event object.
+ +
Prototype Object Event
+ +
+
+
The Event class has the following constants:
+ +
+
+
Event.CAPTURING_PHASE
+ +
This constant is of type Number and its value is +1.
+ +
Event.AT_TARGET
+ +
This constant is of type Number and its value is +2.
+ +
Event.BUBBLING_PHASE
+ +
This constant is of type Number and its value is +3.
+
+
+
+
+ +
Object Event
+ +
+
+
The Event object has the following properties:
+ +
+
+
type
+ +
This read-only property is of type String.
+ +
target
+ +
This read-only property is a EventTarget object.
+ +
currentTarget
+ +
This read-only property is a EventTarget object.
+ +
eventPhase
+ +
This read-only property is of type Number.
+ +
bubbles
+ +
This read-only property is of type Boolean.
+ +
cancelable
+ +
This read-only property is of type Boolean.
+ +
timeStamp
+ +
This read-only property is a Date object.
+
+
+ +
The Event object has the following methods:
+ +
+
+
stopPropagation()
+ +
This method has no return value.
+ +
preventDefault()
+ +
This method has no return value.
+ +
initEvent(eventTypeArg, canBubbleArg, +cancelableArg)
+ +
This method has no return value.
+The eventTypeArg parameter is of type String.
+The canBubbleArg parameter is of type Boolean.
+The cancelableArg parameter is of type Boolean.
+
+
+
+
+ +
Prototype Object EventException
+ +
+
+
The EventException class has the following +constants:
+ +
+
+
EventException.UNSPECIFIED_EVENT_TYPE_ERR
+ +
This constant is of type Number and its value is +0.
+
+
+
+
+ +
Object EventException
+ +
+
+
The EventException object has the following +properties:
+ +
+
+
code
+ +
This property is of type Number.
+
+
+
+
+ +
Object DocumentEvent
+ +
+
+
The DocumentEvent object has the following methods:
+ +
+
+
createEvent(eventType)
+ +
This method returns a Event object.
+The eventType parameter is of type String.
+This method can raise a DOMException object.
+
+
+
+
+ +
Object UIEvent
+ +
+
+
UIEvent has the all the properties and methods of the +Event object as well as the properties and methods defined +below.
+ +
The UIEvent object has the following properties:
+ +
+
+
view
+ +
This read-only property is a AbstractView object.
+ +
detail
+ +
This read-only property is a long object.
+
+
+ +
The UIEvent object has the following methods:
+ +
+
+
initUIEvent(typeArg, canBubbleArg, cancelableArg, viewArg, +detailArg)
+ +
This method has no return value.
+The typeArg parameter is of type String.
+The canBubbleArg parameter is of type Boolean.
+The cancelableArg parameter is of type Boolean.
+The viewArg parameter is a AbstractView object.
+The detailArg parameter is a long object.
+
+
+
+
+ +
Object MouseEvent
+ +
+
+
MouseEvent has the all the properties and methods of the +UIEvent object as well as the properties and methods defined +below.
+ +
The MouseEvent object has the following properties:
+ +
+
+
screenX
+ +
This read-only property is a long object.
+ +
screenY
+ +
This read-only property is a long object.
+ +
clientX
+ +
This read-only property is a long object.
+ +
clientY
+ +
This read-only property is a long object.
+ +
ctrlKey
+ +
This read-only property is of type Boolean.
+ +
shiftKey
+ +
This read-only property is of type Boolean.
+ +
altKey
+ +
This read-only property is of type Boolean.
+ +
metaKey
+ +
This read-only property is of type Boolean.
+ +
button
+ +
This read-only property is of type Number.
+ +
relatedTarget
+ +
This read-only property is a EventTarget object.
+
+
+ +
The MouseEvent object has the following methods:
+ +
+
+
initMouseEvent(typeArg, canBubbleArg, cancelableArg, +viewArg, detailArg, screenXArg, screenYArg, clientXArg, clientYArg, +ctrlKeyArg, altKeyArg, shiftKeyArg, metaKeyArg, buttonArg, +relatedTargetArg)
+ +
This method has no return value.
+The typeArg parameter is of type String.
+The canBubbleArg parameter is of type Boolean.
+The cancelableArg parameter is of type Boolean.
+The viewArg parameter is a AbstractView object.
+The detailArg parameter is a long object.
+The screenXArg parameter is a long object.
+The screenYArg parameter is a long object.
+The clientXArg parameter is a long object.
+The clientYArg parameter is a long object.
+The ctrlKeyArg parameter is of type Boolean.
+The altKeyArg parameter is of type Boolean.
+The shiftKeyArg parameter is of type Boolean.
+The metaKeyArg parameter is of type Boolean.
+The buttonArg parameter is of type Number.
+The relatedTargetArg parameter is a EventTarget +object.
+
+
+
+
+ +
Prototype Object MutationEvent
+ +
+
+
The MutationEvent class has the following +constants:
+ +
+
+
MutationEvent.MODIFICATION
+ +
This constant is of type Number and its value is +1.
+ +
MutationEvent.ADDITION
+ +
This constant is of type Number and its value is +2.
+ +
MutationEvent.REMOVAL
+ +
This constant is of type Number and its value is +3.
+
+
+
+
+ +
Object MutationEvent
+ +
+
+
MutationEvent has the all the properties and methods of +the Event object as well as the properties and methods +defined below.
+ +
The MutationEvent object has the following +properties:
+ +
+
+
relatedNode
+ +
This read-only property is a Node object.
+ +
prevValue
+ +
This read-only property is of type String.
+ +
newValue
+ +
This read-only property is of type String.
+ +
attrName
+ +
This read-only property is of type String.
+ +
attrChange
+ +
This read-only property is of type Number.
+
+
+ +
The MutationEvent object has the following methods:
+ +
+
+
initMutationEvent(typeArg, canBubbleArg, cancelableArg, +relatedNodeArg, prevValueArg, newValueArg, attrNameArg, +attrChangeArg)
+ +
This method has no return value.
+The typeArg parameter is of type String.
+The canBubbleArg parameter is of type Boolean.
+The cancelableArg parameter is of type Boolean.
+The relatedNodeArg parameter is a Node object.
+The prevValueArg parameter is of type String.
+The newValueArg parameter is of type String.
+The attrNameArg parameter is of type String.
+The attrChangeArg parameter is of type Number.
+
+
+
+
+
+
+ + +

The following example will add an ECMAScript based EventListener +to the Node 'exampleNode':

+ +
+
+  // Given the Node 'exampleNode'
+
+  // Define the EventListener function
+  function clickHandler(evt) 
+  {
+    // Function contents 
+  }
+
+  // The following line will add a non-capturing 'click' listener
+  // to 'exampleNode'. 
+  exampleNode.addEventListener("click", clickHandler, false);      
+   
+
+
+
+ + + + + + diff --git a/java/external/xdocs/dom/events/events.html b/java/external/xdocs/dom/events/events.html new file mode 100644 index 0000000..04b455f --- /dev/null +++ b/java/external/xdocs/dom/events/events.html @@ -0,0 +1,2715 @@ + + + + +Document Object Model Events + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

1. Document Object Model +Events

+ +
+
Editors
+ +
Tom Pixley, Netscape Communications Corp.
+
+ + + +
+ +

1.1. Overview of the DOM +Level 2 Event Model

+ +

The DOM Level 2 Event Model is designed with two main goals. The +first goal is the design of a generic event system which allows +registration of event handlers, describes event flow through a tree +structure, and provides basic contextual information for each +event. Additionally, the specification will provide standard +modules of events for user interface control and document mutation +notifications, including defined contextual information for each of +these event modules.

+ +

The second goal of the event model is to provide a common subset +of the current event systems used in DOM Level 0 +browsers. This is intended to foster interoperability of existing +scripts and content. It is not expected that this goal will be met +with full backwards compatibility. However, the specification +attempts to achieve this when possible.

+ +

The following sections of the Event Model specification define +both the specification for the DOM Event Model and a number of +conformant event modules designed for use within the model. The +Event Model consists of the two sections on event propagation and +event listener registration and the Event interface.

+ +

A DOM application may use the hasFeature(feature, +version) method of the DOMImplementation +interface with parameter values "Events" and "2.0" (respectively) +to determine whether or not the event module is supported by the +implementation. In order to fully support this module, an +implementation must also support the "Core" feature defined in the +DOM Level 2 Core specification [DOM Level 2 Core]. Please, refer +to additional information about +conformance in the DOM Level 2 Core specification [DOM Level 2 +Core].

+ +

Each event module describes its own feature string in the event +module listing.

+ +
+ +

1.1.1. +Terminology

+ +
+
UI events
+ +
User interface events. These events are generated by user +interaction through an external device (mouse, keyboard, etc.)
+ +
UI Logical events
+ +
Device independent user interface events such as focus change +messages or element triggering notifications.
+ +
Mutation events
+ +
Events caused by any action which modifies the structure of the +document.
+ +
Capturing
+ +
The process by which an event can be handled by one of the +event's target's ancestors before +being handled by the event's target.
+ +
Bubbling
+ +
The process by which an event propagates upward through its ancestors after being +handled by the event's target.
+ +
Cancelable
+ +
A designation for events which indicates that upon handling the +event the client may choose to prevent the DOM implementation from +processing any default action associated with the event.
+
+
+ +
+ + +
+ +

1.2. Description of event +flow

+ +

Event flow is the process through which the an event originates +from the DOM implementation and is passed into the Document Object +Model. The methods of event capture and event bubbling, along with +various event listener registration techniques, allow the event to +then be handled in a number of ways. It can be handled locally at +the EventTarget level or centrally from an EventTarget +higher in the document tree.

+ +
+ +

1.2.1. Basic event +flow

+ +

Each event has an EventTarget +toward which the event is directed by the DOM implementation. This +EventTarget +is specified in the Event's +target attribute. When the event reaches the target, +any event listeners registered on the EventTarget +are triggered. Although all EventListeners +on the EventTarget +are guaranteed to be triggered by any event which is received by +that EventTarget, no specification is made as to the +order in which they will receive the event with regards to the +other EventListeners +on the EventTarget. +If neither event capture or event bubbling are in use for that +particular event, the event flow process will complete after all +listeners have been triggered. If event capture or event bubbling +is in use, the event flow will be modified as described in the +sections below.

+ +

Any exceptions thrown inside an EventListener +will not stop propagation of the event. It will continue processing +any additional EventListener +in the described manner.

+ +

It is expected that actions taken by EventListeners +may cause additional events to fire. Additional events should be +handled in a synchronous manner and may cause reentrancy into the +event model.

+
+ + +
+ +

1.2.2. Event +capture

+ +

Event capture is the process by which an EventListener +registered on an ancestor of the +event's target can intercept events of a given type before they are +received by the event's target. Capture operates from the top of +the tree, generally the Document, downward, making it +the symmetrical opposite of bubbling which is described below. The +chain of EventTargets +from the top of the tree to the event's target is determined before +the initial dispatch of the event. If modifications occur to the +tree during event processing, event flow will proceed based on the +initial state of the tree.

+ +

An EventListener +being registered on an EventTarget +may choose to have that EventListener +capture events by specifying the useCapture parameter +of the addEventListener method to be +true. Thereafter, when an event of the given type is +dispatched toward a descendant of the +capturing object, the event will trigger any capturing event +listeners of the appropriate type which exist in the direct line +between the top of the document and the event's target. This +downward propagation continues until the event's target is reached. +A capturing EventListener +will not be triggered by events dispatched directly to the EventTarget +upon which it is registered.

+ +

If the capturing EventListener +wishes to prevent further processing of the event from occurring it +may call the stopProgagation method of the Event interface. +This will prevent further dispatch of the event, although +additional EventListeners +registered at the same hierarchy level will still receive the +event. Once an event's stopPropagation method has been +called, further calls to that method have no additional effect. If +no additional capturers exist and stopPropagation has +not been called, the event triggers the appropriate EventListeners +on the target itself.

+ +

Although event capture is similar to the delegation based event +model in which all interested parties register their listeners +directly on the target about which they wish to receive +notifications, it is different in two important respects. First, +event capture only allows interception of events which are targeted +at descendants +of the capturing EventTarget. +It does not allow interception of events targeted to the capturer's +ancestors, its siblings, or its +sibling's descendants. +Secondly, event capture is not specified for a single EventTarget, +it is specified for a specific type of event. Once specified, event +capture intercepts all events of the specified type targeted toward +any of the capturer's descendants.

+
+ + +
+ +

1.2.3. Event +bubbling

+ +

Events which are designated as bubbling will initially proceed +with the same event flow as non-bubbling events. The event is +dispatched to its target EventTarget +and any event listeners found there are triggered. Bubbling events +will then trigger any additional event listeners found by following +the EventTarget's +parent chain upward, checking for any event listeners registered on +each successive EventTarget. +This upward propagation will continue up to and including the +Document. EventListeners +registered as capturers will not be triggered during this phase. +The chain of EventTargets +from the event target to the top of the tree is determined before +the initial dispatch of the event. If modifications occur to the +tree during event processing, event flow will proceed based on the +initial state of the tree.

+ +

Any event handler may choose to prevent further event +propagation by calling the stopPropagation method of +the Event +interface. If any EventListener +calls this method, all additional EventListeners +on the current EventTarget +will be triggered but bubbling will cease at that level. Only one +call to stopPropagation is required to prevent further +bubbling.

+
+ + +
+ +

1.2.4. Event +cancelation

+ +

Some events are specified as cancelable. For these events, the +DOM implementation generally has a default action associated with +the event. An example of this is a hyperlink in a web browser. When +the user clicks on the hyperlink the default action is generally to +active that hyperlink. Before processing these events, the +implementation must check for event listeners registered to receive +the event and dispatch the event to those listeners. These +listeners then have the option of canceling the implementation's +default action or allowing the default action to proceed. In the +case of the hyperlink in the browser, canceling the action would +have the result of not activating the hyperlink.

+ +

Cancelation is accomplished by calling the Event's +preventDefault method. If one or more EventListeners +call preventDefault during any phase of event flow the +default action will be canceled.

+ +

Different implementations will specify their own default +actions, if any, associated with each event. The DOM does not +attempt to specify these actions.

+
+ +
+ + +
+ +

1.3. Event listener +registration

+ +
+ +

1.3.1. +Event registration interfaces

+ +
+
Interface EventTarget (introduced in DOM Level 2)
+ +
+

The EventTarget interface is implemented by all +Nodes in an implementation which supports the DOM +Event Model. Therefore, this interface can be obtained by using +binding-specific casting methods on an instance of the +Node interface. The interface allows registration and +removal of EventListeners +on an EventTarget and dispatch of events to that +EventTarget.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface EventTarget {
+  void               addEventListener(in DOMString type, 
+                                      in EventListener listener, 
+                                      in boolean useCapture);
+  void               removeEventListener(in DOMString type, 
+                                         in EventListener listener, 
+                                         in boolean useCapture);
+  boolean            dispatchEvent(in Event evt)
+                                        raises(EventException);
+};
+
+
+ +
+
+ +
Methods
+ +
+
+
addEventListener
+ +
+
This method allows the registration of event +listeners on the event target. If an EventListener +is added to an EventTarget while it is processing an +event, it will not be triggered by the current actions but may be +triggered during a later stage of event flow, such as the bubbling +phase.
+ If multiple identical EventListeners +are registered on the same EventTarget with the same +parameters the duplicate instances are discarded. They do not cause +the EventListener +to be called twice and since they are discarded they do not need to +be removed with the removeEventListener method. + +
Parameters + +
+
+
type of type +DOMString
+ +
The event type for which the user is registering
+
+ +
listener of type EventListener
+ +
The listener parameter takes an interface +implemented by the user which contains the methods to be called +when the event occurs.
+
+ +
useCapture of type +boolean
+ +
If true, useCapture indicates that the user wishes +to initiate capture. After initiating capture, all events of the +specified type will be dispatched to the registered EventListener +before being dispatched to any EventTargets beneath +them in the tree. Events which are bubbling upward through the tree +will not trigger an EventListener +designated to use capture.
+
+
+
+
+ + +
No Return Value
+ +
No Exceptions
+
+ + +
+ +
dispatchEvent
+ +
+
This method allows the dispatch of events into +the implementations event model. Events dispatched in this manner +will have the same capturing and bubbling behavior as events +dispatched directly by the implementation. The target of the event +is the EventTarget on which dispatchEvent +is called. + +
Parameters + +
+
+
evt of type Event
+ +
Specifies the event type, behavior, and contextual information +to be used in processing the event.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

boolean

+
+

The return value of dispatchEvent indicates whether +any of the listeners which handled the event called +preventDefault. If preventDefault was +called the value is false, else the value is true.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

EventException

+
+

UNSPECIFIED_EVENT_TYPE_ERR: Raised if the Event's type was +not specified by initializing the event before +dispatchEvent was called. Specification of the Event's type as +null or an empty string will also trigger this +exception.

+
+
+
+ + +
+ + +
+ +
removeEventListener
+ +
+
This method allows the removal of event +listeners from the event target. If an EventListener +is removed from an EventTarget while it is processing +an event, it will not be triggered by the current actions. EventListeners +can never be invoked after being removed.
+Calling removeEventListener with arguments which do +not identify any currently registered EventListener +on the EventTarget has no effect. + +
Parameters + +
+
+
type of type +DOMString
+ +
Specifies the event type of the EventListener +being removed.
+
+ +
listener of type EventListener
+ +
The EventListener +parameter indicates the EventListener to be +removed.
+
+ +
useCapture of type +boolean
+ +
Specifies whether the EventListener +being removed was registered as a capturing listener or not. If a +listener was registered twice, one with capture and one without, +each must be removed separately. Removal of a capturing listener +does not affect a non-capturing version of the same listener, and +vice versa.
+
+
+
+
+ + +
No Return Value
+ +
No Exceptions
+
+ + +
+
+
+
+
+ +
Interface EventListener (introduced +in DOM Level 2)
+ +
+

The EventListener interface is the primary method +for handling events. Users implement the EventListener +interface and register their listener on an EventTarget +using the AddEventListener method. The users should +also remove their EventListener from its EventTarget +after they have completed using the listener.

+ +

When a Node is copied using the +cloneNode method the EventListeners +attached to the source Node are not attached to the +copied Node. If the user wishes the same +EventListeners to be added to the newly created copy +the user must add them manually.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface EventListener {
+  void               handleEvent(in Event evt);
+};
+
+
+ +
+
+ +
Methods
+ +
+
+
handleEvent
+ +
+
This method is called whenever an event occurs +of the type for which the EventListener interface was +registered. + +
Parameters + +
+
+
evt of type Event
+ +
The Event contains +contextual information about the event. It also contains the +stopPropagation and preventDefault +methods which are used in determining the event's flow and default +action.
+
+
+
+
+ + +
No Return Value
+ +
No Exceptions
+
+ + +
+
+
+
+
+
+
+ + +
+ +

1.3.2. +Interaction with HTML 4.0 event listeners

+ +

In HTML 4.0, event listeners were specified as attributes of an +element. As such, registration of a second event listener of the +same type would replace the first listener. The DOM Event Model +allows registration of multiple event listeners on a single EventTarget. +To achieve this, event listeners are no longer stored as attribute +values.

+ +

In order to achieve compatibility with HTML 4.0, implementors +may view the setting of attributes which represent event handlers +as the creation and registration of an EventListener +on the EventTarget. +The value of useCapture defaults to +false. This EventListener +behaves in the same manner as any other EventListeners +which may be registered on the EventTarget. +If the attribute representing the event listener is changed, this +may be viewed as the removal of the previously registered EventListener +and the registration of a new one. No technique is provided to +allow HTML 4.0 event listeners access to the context information +defined for each event.

+
+ +
+ + +
+ +

1.4. Event interface

+ +
+
Interface Event (introduced in DOM Level 2)
+ +
+

The Event interface is used to provide contextual +information about an event to the handler processing the event. An +object which implements the Event interface is +generally passed as the first parameter to an event handler. More +specific context information is passed to event handlers by +deriving additional interfaces from Event which +contain information directly relating to the type of event they +accompany. These derived interfaces are also implemented by the +object passed to the event listener.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface Event {
+
+  // PhaseType
+  const unsigned short      CAPTURING_PHASE                = 1;
+  const unsigned short      AT_TARGET                      = 2;
+  const unsigned short      BUBBLING_PHASE                 = 3;
+
+  readonly attribute DOMString        type;
+  readonly attribute EventTarget      target;
+  readonly attribute EventTarget      currentTarget;
+  readonly attribute unsigned short   eventPhase;
+  readonly attribute boolean          bubbles;
+  readonly attribute boolean          cancelable;
+  readonly attribute DOMTimeStamp     timeStamp;
+  void               stopPropagation();
+  void               preventDefault();
+  void               initEvent(in DOMString eventTypeArg, 
+                               in boolean canBubbleArg, 
+                               in boolean cancelableArg);
+};
+
+
+ +
+
+ +
Definition group PhaseType
+ +
+

An integer indicating which phase of event flow is being +processed.

+ +
+
Defined Constants
+ +
+
+
AT_TARGET
+ +
The event is currently being evaluated at the target EventTarget.
+ +
BUBBLING_PHASE
+ +
The current event phase is the bubbling phase.
+ +
CAPTURING_PHASE
+ +
The current event phase is the capturing phase.
+
+
+
+
+ +
Attributes
+ +
+
+
bubbles of type +boolean, readonly
+ +
Used to indicate whether or not an event is a bubbling event. +If the event can bubble the value is true, else the value is +false.
+
+ +
cancelable of type +boolean, readonly
+ +
Used to indicate whether or not an event can have its default +action prevented. If the default action can be prevented the value +is true, else the value is false.
+
+ +
currentTarget of type +EventTarget, +readonly
+ +
Used to indicate the EventTarget +whose EventListeners +are currently being processed. This is particularly useful during +capturing and bubbling.
+
+ +
eventPhase of type +unsigned short, readonly
+ +
Used to indicate which phase of event flow is currently being +evaluated.
+
+ +
target of type EventTarget, +readonly
+ +
Used to indicate the EventTarget +to which the event was originally dispatched.
+
+ +
timeStamp of type +DOMTimeStamp, readonly
+ +
Used to specify the time (in milliseconds relative to the +epoch) at which the event was created. Due to the fact that some +systems may not provide this information the value of +timeStamp may be not available for all events. When +not available, a value of 0 will be returned. Examples of epoch +time are the time of the system start or 0:0:0 UTC 1st January +1970.
+
+ +
type of type +DOMString, readonly
+ +
The name of the event (case-insensitive). The name must be an +XML name.
+
+
+
+ +
Methods
+ +
+
+
initEvent
+ +
+
The initEvent method is used to +initialize the value of an Event created through the +DocumentEvent +interface. This method may only be called before the +Event has been dispatched via the +dispatchEvent method, though it may be called multiple +times during that phase if necessary. If called multiple times the +final invocation takes precedence. If called from a subclass of +Event interface only the values specified in the +initEvent method are modified, all other attributes +are left unchanged. + +
Parameters + +
+
+
eventTypeArg of type +DOMString
+ +
Specifies the event type. This type may be any event type +currently defined in this specification or a new event type.. The +string must be an XML +name.
+Any new event type must not begin with any upper, lower, or mixed +case version of the string "DOM". This prefix is reserved for +future DOM event sets. It is also strongly recommended that third +parties adding their own events use their own prefix to avoid +confusion and lessen the probability of conflicts with other new +events.
+
+ +
canBubbleArg of type +boolean
+ +
Specifies whether or not the event can bubble.
+
+ +
cancelableArg of type +boolean
+ +
Specifies whether or not the event's default action can be +prevented.
+
+
+
+
+ + +
No Return Value
+ +
No Exceptions
+
+ + +
+ +
preventDefault
+ +
+
If an event is cancelable, the +preventDefault method is used to signify that the +event is to be canceled, meaning any default action normally taken +by the implementation as a result of the event will not occur. If, +during any stage of event flow, the preventDefault +method is called the event is canceled. Any default action +associated with the event will not occur. Calling this method for a +non-cancelable event has no effect. Once +preventDefault has been called it will remain in +effect throughout the remainder of the event's propagation. This +method may be used during any stage of event flow. + +
No Parameters
+ +
No Return Value
+ +
No Exceptions
+
+ + +
+ +
stopPropagation
+ +
+
The stopPropagation method is used +prevent further propagation of an event during event flow. If this +method is called by any EventListener +the event will cease propagating through the tree. The event will +complete dispatch to all listeners on the current EventTarget +before event flow stops. This method may be used during any stage +of event flow. + +
No Parameters
+ +
No Return Value
+ +
No Exceptions
+
+ + +
+
+
+
+
+ +
Exception EventException introduced +in DOM Level 2
+ +
+

Event operations may throw an EventException +as specified in their method descriptions.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+exception EventException {
+  unsigned short   code;
+};
+// EventExceptionCode
+const unsigned short      UNSPECIFIED_EVENT_TYPE_ERR     = 0;
+
+
+ +
+
+ +
Definition group EventExceptionCode
+ +
+

An integer indicating the type of error generated.

+ +
+
Defined Constants
+ +
+
+
UNSPECIFIED_EVENT_TYPE_ERR
+ +
If the Event's type was +not specified by initializing the event before the method was +called. Specification of the Event's type as null or +an empty string will also trigger this exception.
+
+
+
+
+
+
+
+
+ + +
+ +

1.5. DocumentEvent +interface

+ +
+
Interface DocumentEvent (introduced +in DOM Level 2)
+ +
+

The DocumentEvent interface provides a mechanism by +which the user can create an Event of a type supported by the +implementation. It is expected that the DocumentEvent +interface will be implemented on the same object which implements +the Document interface in an implementation which +supports the Event model.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface DocumentEvent {
+  Event              createEvent(in DOMString eventType)
+                                        raises(DOMException);
+};
+
+
+ +
+
+ +
Methods
+ +
+
+
createEvent
+ +
+
+
Parameters + +
+
+
eventType of type +DOMString
+ +
The eventType parameter specifies the type of Event interface to +be created. If the Event interface +specified is supported by the implementation this method will +return a new Event of the +interface type requested. If the Event is to be +dispatched via the dispatchEvent method the +appropriate event init method must be called after creation in +order to initialize the Event's values. As +an example, a user wishing to synthesize some kind of UIEvent would +call createEvent with the parameter "UIEvents". The +initUIEvent method could then be called on the newly +created UIEvent to set +the specific type of UIEvent to be dispatched and set its context +information.
+The createEvent method is used in creating Events when it is +either inconvenient or unnecessary for the user to create an Event themselves. +In cases where the implementation provided Event is +insufficient, users may supply their own Event +implementations for use with the dispatchEvent +method.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

Event

+
+

The newly created Event

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NOT_SUPPORTED_ERR: Raised if the implementation does not support +the type of Event interface +requested

+
+
+
+ + +
+ + +
+
+
+
+
+
+
+ + +
+ +

1.6. Event module +definitions

+ +

The DOM Level 2 Event Model allows a DOM implementation to +support multiple modules of events. The model has been designed to +allow addition of new event modules as is required. The DOM will +not attempt to define all possible events. For purposes of +interoperability, the DOM will define a module of user interface +events including lower level device dependent events, a module of +UI logical events, and a module of document mutation events. Any +new event types defined by third parties must not begin with any +upper, lower, or mixed case version of the string "DOM". This +prefix is reserved for future DOM event modules. It is also +strongly recommended that third parties adding their own events use +their own prefix to avoid confusion and lessen the probability of +conflicts with other new events.

+ +
+ +

1.6.1. User +Interface event types

+ +

The User Interface event module is composed of events listed in +HTML 4.0 and additional events which are supported in DOM Level 0 +browsers.

+ +

A DOM application may use the hasFeature(feature, +version) method of the DOMImplementation +interface with parameter values "UIEvents" and "2.0" (respectively) +to determine whether or not the User Interface event module is +supported by the implementation. In order to fully support this +module, an implementation must also support the "Events" feature +defined in this specification and the "Views" feature defined in +the DOM Level 2 Views specification [DOM Level 2 Views]. Please, +refer to additional information about +conformance in the DOM Level 2 Core specification [DOM Level 2 +Core].

+ +

Note: To create an instance of the UIEvent +interface, use the feature string "UIEvents" as the value of the +input parameter used with the createEvent method of +the DocumentEvent +interface.

+ +
+
Interface UIEvent (introduced in DOM Level 2)
+ +
+

The UIEvent interface provides specific contextual +information associated with User Interface events.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface UIEvent : Event {
+  readonly attribute views::AbstractView  view;
+  readonly attribute long             detail;
+  void               initUIEvent(in DOMString typeArg, 
+                                 in boolean canBubbleArg, 
+                                 in boolean cancelableArg, 
+                                 in views::AbstractView viewArg, 
+                                 in long detailArg);
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
detail of type +long, readonly
+ +
Specifies some detail information about the Event, depending +on the type of event.
+
+ +
view of type +views::AbstractView, readonly
+ +
The view attribute identifies the +AbstractView from which the event was generated.
+
+
+
+ +
Methods
+ +
+
+
initUIEvent
+ +
+
The initUIEvent method is used to +initialize the value of a UIEvent created through the +DocumentEvent +interface. This method may only be called before the +UIEvent has been dispatched via the +dispatchEvent method, though it may be called multiple +times during that phase if necessary. If called multiple times, the +final invocation takes precedence. + +
Parameters + +
+
+
typeArg of type +DOMString
+ +
Specifies the event type.
+
+ +
canBubbleArg of type +boolean
+ +
Specifies whether or not the event can bubble.
+
+ +
cancelableArg of type +boolean
+ +
Specifies whether or not the event's default action can be +prevented.
+
+ +
viewArg of type +views::AbstractView
+ +
Specifies the Event's +AbstractView.
+
+ +
detailArg of type +long
+ +
Specifies the Event's +detail.
+
+
+
+
+ + +
No Return Value
+ +
No Exceptions
+
+ + +
+
+
+
+
+
+ +

The different types of such events that can occur are:

+ +
+
DOMFocusIn
+ +
The DOMFocusIn event occurs when an EventTarget +receives focus, for instance via a pointing device being moved onto +an element or by tabbing navigation to the element. Unlike the HTML +event focus, DOMFocusIn can be applied to any focusable EventTarget, +not just FORM controls. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
DOMFocusOut
+ +
The DOMFocusOut event occurs when a EventTarget +loses focus, for instance via a pointing device being moved out of +an element or by tabbing navigation out of the element. Unlike the +HTML event blur, DOMFocusOut can be applied to any focusable EventTarget, +not just FORM controls. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
DOMActivate
+ +
The activate event occurs when an element is activated, for +instance, thru a mouse click or a keypress. A numerical argument is +provided to give an indication of the type of activation that +occurs: 1 for a simple activation (e.g. a simple click or Enter), 2 +for hyperactivation (for instance a double click or Shift Enter). + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: Yes
  • + +
  • Context Info: detail (the numerical value)
  • +
+
+
+
+ + +
+ +

1.6.2. +Mouse event types

+ +

The Mouse event module is composed of events listed in HTML 4.0 +and additional events which are supported in DOM Level 0 +browsers. This event module is specifically designed for use with +mouse input devices.

+ +

A DOM application may use the hasFeature(feature, +version) method of the DOMImplementation +interface with parameter values "MouseEvents" and "2.0" +(respectively) to determine whether or not the Mouse event module +is supported by the implementation. In order to fully support this +module, an implementation must also support the "UIEvents" feature +defined in this specification. Please, refer to additional +information about +conformance in the DOM Level 2 Core specification [DOM Level 2 +Core].

+ +

Note: To create an instance of the MouseEvent +interface, use the feature string "MouseEvents" as the value of the +input parameter used with the createEvent method of +the DocumentEvent +interface.

+ +
+
Interface MouseEvent (introduced in DOM Level 2)
+ +
+

The MouseEvent interface provides specific +contextual information associated with Mouse events.

+ +

The detail attribute inherited from UIEvent +indicates the number of times a mouse button has been pressed and +released over the same screen location during a user action. The +attribute value is 1 when the user begins this action and +increments by 1 for each full sequence of pressing and releasing. +If the user moves the mouse between the mousedown and mouseup the +value will be set to 0, indicating that no click is occurring.

+ +

In the case of nested elements mouse events are always targeted +at the most deeply nested element. Ancestors of the targeted +element may use bubbling to obtain notification of mouse events +which occur within its descendent elements.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface MouseEvent : UIEvent {
+  readonly attribute long             screenX;
+  readonly attribute long             screenY;
+  readonly attribute long             clientX;
+  readonly attribute long             clientY;
+  readonly attribute boolean          ctrlKey;
+  readonly attribute boolean          shiftKey;
+  readonly attribute boolean          altKey;
+  readonly attribute boolean          metaKey;
+  readonly attribute unsigned short   button;
+  readonly attribute EventTarget      relatedTarget;
+  void               initMouseEvent(in DOMString typeArg, 
+                                    in boolean canBubbleArg, 
+                                    in boolean cancelableArg, 
+                                    in views::AbstractView viewArg, 
+                                    in long detailArg, 
+                                    in long screenXArg, 
+                                    in long screenYArg, 
+                                    in long clientXArg, 
+                                    in long clientYArg, 
+                                    in boolean ctrlKeyArg, 
+                                    in boolean altKeyArg, 
+                                    in boolean shiftKeyArg, 
+                                    in boolean metaKeyArg, 
+                                    in unsigned short buttonArg, 
+                                    in EventTarget relatedTargetArg);
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
altKey of type +boolean, readonly
+ +
Used to indicate whether the 'alt' key was depressed during the +firing of the event. On some platforms this key may map to an +alternative key name.
+
+ +
button of type +unsigned short, readonly
+ +
During mouse events caused by the depression or release of a +mouse button, button is used to indicate which mouse +button changed state. The values for button range from +zero to indicate the left button of the mouse, one to indicate the +middle button if present, and two to indicate the right button. For +mice configured for left handed use in which the button actions are +reversed the values are instead read from right to left.
+
+ +
clientX of type +long, readonly
+ +
The horizontal coordinate at which the event occurred relative +to the DOM implementation's client area.
+
+ +
clientY of type +long, readonly
+ +
The vertical coordinate at which the event occurred relative to +the DOM implementation's client area.
+
+ +
ctrlKey of type +boolean, readonly
+ +
Used to indicate whether the 'ctrl' key was depressed during +the firing of the event.
+
+ +
metaKey of type +boolean, readonly
+ +
Used to indicate whether the 'meta' key was depressed during +the firing of the event. On some platforms this key may map to an +alternative key name.
+
+ +
relatedTarget of +type EventTarget, +readonly
+ +
Used to identify a secondary EventTarget +related to a UI event. Currently this attribute is used with the +mouseover event to indicate the EventTarget +which the pointing device exited and with the mouseout event to +indicate the EventTarget +which the pointing device entered.
+
+ +
screenX of type +long, readonly
+ +
The horizontal coordinate at which the event occurred relative +to the origin of the screen coordinate system.
+
+ +
screenY of type +long, readonly
+ +
The vertical coordinate at which the event occurred relative to +the origin of the screen coordinate system.
+
+ +
shiftKey of type +boolean, readonly
+ +
Used to indicate whether the 'shift' key was depressed during +the firing of the event.
+
+
+
+ +
Methods
+ +
+
+
initMouseEvent
+ +
+
The initMouseEvent method is used +to initialize the value of a MouseEvent created +through the DocumentEvent +interface. This method may only be called before the +MouseEvent has been dispatched via the +dispatchEvent method, though it may be called multiple +times during that phase if necessary. If called multiple times, the +final invocation takes precedence. + +
Parameters + +
+
+
typeArg of type +DOMString
+ +
Specifies the event type.
+
+ +
canBubbleArg of type +boolean
+ +
Specifies whether or not the event can bubble.
+
+ +
cancelableArg of type +boolean
+ +
Specifies whether or not the event's default action can be +prevented.
+
+ +
viewArg of type +views::AbstractView
+ +
Specifies the Event's +AbstractView.
+
+ +
detailArg of type +long
+ +
Specifies the Event's mouse +click count.
+
+ +
screenXArg of type +long
+ +
Specifies the Event's screen x +coordinate
+
+ +
screenYArg of type +long
+ +
Specifies the Event's screen y +coordinate
+
+ +
clientXArg of type +long
+ +
Specifies the Event's client x +coordinate
+
+ +
clientYArg of type +long
+ +
Specifies the Event's client y +coordinate
+
+ +
ctrlKeyArg of type +boolean
+ +
Specifies whether or not control key was depressed during the +Event.
+
+ +
altKeyArg of type +boolean
+ +
Specifies whether or not alt key was depressed during the Event.
+
+ +
shiftKeyArg of type +boolean
+ +
Specifies whether or not shift key was depressed during the Event.
+
+ +
metaKeyArg of type +boolean
+ +
Specifies whether or not meta key was depressed during the Event.
+
+ +
buttonArg of type +unsigned short
+ +
Specifies the Event's mouse +button.
+
+ +
relatedTargetArg of type EventTarget
+ +
Specifies the Event's related EventTarget.
+
+
+
+
+ + +
No Return Value
+ +
No Exceptions
+
+ + +
+
+
+
+
+
+ +

The different types of Mouse events that can occur are:

+ +
+
click
+ +
The click event occurs when the pointing device button is +clicked over an element. A click is defined as a mousedown and +mouseup over the same screen location. The sequence of these events +is: + +
+
+    mousedown
+    mouseup
+    click
+   
+
+
+ +If multiple clicks occur at the same screen location, the sequence +repeats with the detail attribute incrementing with +each repetition. This event is valid for most elements. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: Yes
  • + +
  • Context Info: screenX, screenY, clientX, clientY, altKey, +ctrlKey, shiftKey, metaKey, button, detail
  • +
+
+ +
mousedown
+ +
The mousedown event occurs when the pointing device button is +pressed over an element. This event is valid for most elements. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: Yes
  • + +
  • Context Info: screenX, screenY, clientX, clientY, altKey, +ctrlKey, shiftKey, metaKey, button, detail
  • +
+
+ +
mouseup
+ +
The mouseup event occurs when the pointing device button is +released over an element. This event is valid for most elements. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: Yes
  • + +
  • Context Info: screenX, screenY, clientX, clientY, altKey, +ctrlKey, shiftKey, metaKey, button, detail
  • +
+
+ +
mouseover
+ +
The mouseover event occurs when the pointing device is moved +onto an element. This event is valid for most elements. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: Yes
  • + +
  • Context Info: screenX, screenY, clientX, clientY, altKey, +ctrlKey, shiftKey, metaKey, relatedTarget indicates the EventTarget +the pointing device is exiting.
  • +
+
+ +
mousemove
+ +
The mousemove event occurs when the pointing device is moved +while it is over an element. This event is valid for most elements. + + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: screenX, screenY, clientX, clientY, altKey, +ctrlKey, shiftKey, metaKey
  • +
+
+ +
mouseout
+ +
The mouseout event occurs when the pointing device is moved +away from an element. This event is valid for most elements.. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: Yes
  • + +
  • Context Info: screenX, screenY, clientX, clientY, altKey, +ctrlKey, shiftKey, metaKey, relatedTarget indicates the EventTarget +the pointing device is entering.
  • +
+
+
+
+ + +
+ +

1.6.3. Key +events

+ +

The DOM Level 2 Event specification does not provide a key event +module. An event module designed for use with keyboard input +devices will be included in a later version of the DOM +specification.

+
+ + +
+ +

+1.6.4. Mutation event types

+ +

The mutation event module is designed to allow notification of +any changes to the structure of a document, including attr and text +modifications. It may be noted that none of the mutation events +listed are designated as cancelable. This stems from the fact that +it is very difficult to make use of existing DOM interfaces which +cause document modifications if any change to the document might or +might not take place due to cancelation of the related event. +Although this is still a desired capability, it was decided that it +would be better left until the addition of transactions into the +DOM.

+ +

Many single modifications of the tree can cause multiple +mutation events to be fired. Rather than attempt to specify the +ordering of mutation events due to every possible modification of +the tree, the ordering of these events is left to the +implementation.

+ +

A DOM application may use the hasFeature(feature, +version) method of the DOMImplementation +interface with parameter values "MutationEvents" and "2.0" +(respectively) to determine whether or not the Mutation event +module is supported by the implementation. In order to fully +support this module, an implementation must also support the +"Events" feature defined in this specification. Please, refer to +additional information about +conformance in the DOM Level 2 Core specification [DOM Level 2 +Core].

+ +

Note: To create an instance of the MutationEvent +interface, use the feature string "MutationEvents" as the value of +the input parameter used with the createEvent method +of the DocumentEvent +interface.

+ +
+
Interface MutationEvent (introduced +in DOM Level 2)
+ +
+

The MutationEvent interface provides specific +contextual information associated with Mutation events.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface MutationEvent : Event {
+
+  // attrChangeType
+  const unsigned short      MODIFICATION                   = 1;
+  const unsigned short      ADDITION                       = 2;
+  const unsigned short      REMOVAL                        = 3;
+
+  readonly attribute Node             relatedNode;
+  readonly attribute DOMString        prevValue;
+  readonly attribute DOMString        newValue;
+  readonly attribute DOMString        attrName;
+  readonly attribute unsigned short   attrChange;
+  void               initMutationEvent(in DOMString typeArg, 
+                                       in boolean canBubbleArg, 
+                                       in boolean cancelableArg, 
+                                       in Node relatedNodeArg, 
+                                       in DOMString prevValueArg, 
+                                       in DOMString newValueArg, 
+                                       in DOMString attrNameArg, 
+                                       in unsigned short attrChangeArg);
+};
+
+
+ +
+
+ +
Definition group attrChangeType
+ +
+

An integer indicating in which way the Attr was +changed.

+ +
+
Defined Constants
+ +
+
+
ADDITION
+ +
The Attr was just added.
+ +
MODIFICATION
+ +
The Attr was modified in place.
+ +
REMOVAL
+ +
The Attr was just removed.
+
+
+
+
+ +
Attributes
+ +
+
+
attrChange of +type unsigned short, readonly
+ +
attrChange indicates the type of change which +triggered the DOMAttrModified event. The values can be +MODIFICATION, ADDITION, or +REMOVAL.
+
+ +
attrName of type +DOMString, readonly
+ +
attrName indicates the name of the changed +Attr node in a DOMAttrModified event.
+
+ +
newValue of type +DOMString, readonly
+ +
newValue indicates the new value of the +Attr node in DOMAttrModified events, and of the +CharacterData node in DOMCharDataModified +events.
+
+ +
prevValue of type +DOMString, readonly
+ +
prevValue indicates the previous value of the +Attr node in DOMAttrModified events, and of the +CharacterData node in DOMCharDataModified +events.
+
+ +
relatedNode of +type Node, readonly
+ +
relatedNode is used to identify a secondary node +related to a mutation event. For example, if a mutation event is +dispatched to a node indicating that its parent has changed, the +relatedNode is the changed parent. If an event is +instead dispatched to a subtree indicating a node was changed +within it, the relatedNode is the changed node. In the +case of the DOMAttrModified event it indicates the +Attr node which was modified, added, or removed.
+
+
+
+ +
Methods
+ +
+
+
initMutationEvent
+ +
+
The initMutationEvent method is +used to initialize the value of a MutationEvent +created through the DocumentEvent +interface. This method may only be called before the +MutationEvent has been dispatched via the +dispatchEvent method, though it may be called multiple +times during that phase if necessary. If called multiple times, the +final invocation takes precedence. + +
Parameters + +
+
+
typeArg of type +DOMString
+ +
Specifies the event type.
+
+ +
canBubbleArg of type +boolean
+ +
Specifies whether or not the event can bubble.
+
+ +
cancelableArg of type +boolean
+ +
Specifies whether or not the event's default action can be +prevented.
+
+ +
relatedNodeArg of type +Node
+ +
Specifies the Event's related +Node.
+
+ +
prevValueArg of type +DOMString
+ +
Specifies the Event's +prevValue attribute. This value may be null.
+
+ +
newValueArg of type +DOMString
+ +
Specifies the Event's +newValue attribute. This value may be null.
+
+ +
attrNameArg of type +DOMString
+ +
Specifies the Event's +attrName attribute. This value may be null.
+
+ +
attrChangeArg of type +unsigned short
+ +
Specifies the Event's +attrChange attribute
+
+
+
+
+ + +
No Return Value
+ +
No Exceptions
+
+ + +
+
+
+
+
+
+ +

The different types of Mutation events that can occur are:

+ +
+
DOMSubtreeModified
+ +
This is a general event for notification of all changes to the +document. It can be used instead of the more specific events listed +below. It may be fired after a single modification to the document +or, at the implementation's discretion, after multiple changes have +occurred. The latter use should generally be used to accomodate +multiple changes which occur either simultaneously or in rapid +succession. The target of this event is the lowest common parent of +the changes which have taken place. This event is dispatched after +any other events caused by the mutation have fired. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
DOMNodeInserted
+ +
Fired when a node has been added as a child of another node. +This event is dispatched after the insertion has taken place. The +target of this event is the node being inserted. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: relatedNode holds the parent node
  • +
+
+ +
DOMNodeRemoved
+ +
Fired when a node is being removed from its parent node. This +event is dispatched before the node is removed from the tree. The +target of this event is the node being removed. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: relatedNode holds the parent node
  • +
+
+ +
DOMNodeRemovedFromDocument
+ +
Fired when a node is being removed from a document, either +through direct removal of the Node or removal of a subtree in which +it is contained. This event is dispatched before the removal takes +place. The target of this event is the Node being removed. If the +Node is being directly removed the DOMNodeRemoved event will fire +before the DOMNodeRemovedFromDocument event. + +
    +
  • Bubbles: No
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
DOMNodeInsertedIntoDocument
+ +
Fired when a node is being inserted into a document, either +through direct insertion of the Node or insertion of a subtree in +which it is contained. This event is dispatched after the insertion +has taken place. The target of this event is the node being +inserted. If the Node is being directly inserted the +DOMNodeInserted event will fire before the +DOMNodeInsertedIntoDocument event. + +
    +
  • Bubbles: No
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
DOMAttrModified
+ +
Fired after an Attr has been modified on a node. +The target of this event is the Node whose +Attr changed. The value of attrChange indicates +whether the Attr was modified, added, or removed. The +value of relatedNode indicates the Attr node whose +value has been affected. It is expected that string based +replacement of an Attr value will be viewed as a +modification of the Attr since its identity does not +change. Subsequently replacement of the Attr node with +a different Attr node is viewed as the removal of the +first Attr node and the addition of the second. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: attrName, attrChange, prevValue, newValue, +relatedNode
  • +
+
+ +
DOMCharacterDataModified
+ +
Fired after CharacterData within a node has been modified but +the node itself has not been inserted or deleted. This event is +also triggered by modifications to PI elements. The target of this +event is the CharacterData node. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: prevValue, newValue
  • +
+
+
+
+ + +
+ +

1.6.5. +HTML event types

+ +

The HTML event module is composed of events listed in HTML 4.0 +and additional events which are supported in DOM Level 0 +browsers.

+ +

A DOM application may use the hasFeature(feature, +version) method of the DOMImplementation +interface with parameter values "HTMLEvents" and "2.0" +(respectively) to determine whether or not the HTML event module is +supported by the implementation. In order to fully support this +module, an implementation must also support the "Events" feature +defined in this specification. Please, refer to additional +information about +conformance in the DOM Level 2 Core specification [DOM Level 2 +Core].

+ +

Note: To create an instance of the Event interface +for the HTML event module, use the feature string "HTMLEvents" as +the value of the input parameter used with the +createEvent method of the DocumentEvent +interface.

+ +

The HTML events use the base DOM Event interface to pass +contextual information.

+ +

The different types of such events that can occur are:

+ +
+
load
+ +
The load event occurs when the DOM implementation finishes +loading all content within a document, all frames within a +FRAMESET, or an OBJECT element. + +
    +
  • Bubbles: No
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
unload
+ +
The unload event occurs when the DOM implementation removes a +document from a window or frame. This event is valid for BODY and +FRAMESET elements. + +
    +
  • Bubbles: No
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
abort
+ +
The abort event occurs when page loading is stopped before an +image has been allowed to completely load. This event applies to +OBJECT elements. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
error
+ +
The error event occurs when an image does not load properly or +when an error occurs during script execution. This event is valid +for OBJECT elements, BODY elements, and FRAMESET element. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
select
+ +
The select event occurs when a user selects some text in a text +field. This event is valid for INPUT and TEXTAREA elements. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
change
+ +
The change event occurs when a control loses the input focus +and its value has been modified since gaining focus. This event is +valid for INPUT, SELECT, and TEXTAREA. element. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
submit
+ +
The submit event occurs when a form is submitted. This event +only applies to the FORM element. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: Yes
  • + +
  • Context Info: None
  • +
+
+ +
reset
+ +
The reset event occurs when a form is reset. This event only +applies to the FORM element. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
focus
+ +
The focus event occurs when an element receives focus either +via a pointing device or by tabbing navigation. This event is valid +for the following elements: LABEL, INPUT, SELECT, TEXTAREA, and +BUTTON. + +
    +
  • Bubbles: No
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
blur
+ +
The blur event occurs when an element loses focus either via +the pointing device or by tabbing navigation. This event is valid +for the following elements: LABEL, INPUT, SELECT, TEXTAREA, and +BUTTON. + +
    +
  • Bubbles: No
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
resize
+ +
The resize event occurs when a document view is resized. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+ +
scroll
+ +
The scroll event occurs when a document view is scrolled. + +
    +
  • Bubbles: Yes
  • + +
  • Cancelable: No
  • + +
  • Context Info: None
  • +
+
+
+
+ +
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/events/expanded-toc.html b/java/external/xdocs/dom/events/expanded-toc.html new file mode 100644 index 0000000..51d4bcb --- /dev/null +++ b/java/external/xdocs/dom/events/expanded-toc.html @@ -0,0 +1,192 @@ + + + + +Expanded Table of Contents + + + + + + + + + + +
+

13 November, +2000

+
+ + + + + + + + diff --git a/java/external/xdocs/dom/events/glossary.html b/java/external/xdocs/dom/events/glossary.html new file mode 100644 index 0000000..e44234e --- /dev/null +++ b/java/external/xdocs/dom/events/glossary.html @@ -0,0 +1,111 @@ + + + + +Glossary + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Glossary

+ +
+
Editors
+ +
Arnaud Le Hors, IBM
+ +
Lauren Wood, SoftQuad Software Inc.
+ +
Robert S. Sutor, IBM (for DOM Level 1)
+
+ +

Several of the following term definitions have been borrowed or +modified from similar definitions in other W3C or standards +documents. See the links within the definitions for more +information.

+ +
+
ancestor
+ +
An ancestor node of any node A is any node above A in a +tree model of a document, where "above" means "toward the +root."
+ +
child
+ +
A child is an immediate descendant node of a +node.
+ +
descendant
+ +
A descendant node of any node A is any node below A in a +tree model of a document, where "above" means "toward the +root."
+ +
DOM Level +0
+ +
The term "DOM Level 0" refers to a mix (not formally +specified) of HTML document functionalities offered by Netscape +Navigator version 3.0 and Microsoft Internet Explorer version 3.0. +In some cases, attributes or methods have been included for +reasons of backward compatibility with "DOM Level 0".
+ +
sibling
+ +
Two nodes are siblings if and only if they have the same +parent node.
+ +
tokenized
+ +
The description given to various information items (for +example, attribute values of various types, but not including the +StringType CDATA) after having been processed by the XML processor. +The process includes stripping leading and trailing white space, +and replacing multiple space characters by one. See the definition +of tokenized type.
+ +
XML name
+ +
See XML +name in the XML specification [XML].
+
+
+ + + + + + diff --git a/java/external/xdocs/dom/events/idl-definitions.html b/java/external/xdocs/dom/events/idl-definitions.html new file mode 100644 index 0000000..8eab0c5 --- /dev/null +++ b/java/external/xdocs/dom/events/idl-definitions.html @@ -0,0 +1,198 @@ + + + + +IDL Definitions + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix A: IDL Definitions

+ +

This appendix contains the complete OMG IDL [OMGIDL] for the Level 2 Document +Object Model Events definitions.

+ +

The IDL files are also available as: http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/idl.zip

+ +

events.idl:

+ +
+
+// File: events.idl
+
+#ifndef _EVENTS_IDL_
+#define _EVENTS_IDL_
+
+#include "dom.idl"
+#include "views.idl"
+
+#pragma prefix "dom.w3c.org"
+module events
+{
+
+  typedef dom::DOMString DOMString;
+  typedef dom::DOMTimeStamp DOMTimeStamp;
+  typedef dom::Node Node;
+
+  interface EventListener;
+  interface Event;
+
+  // Introduced in DOM Level 2:
+  exception EventException {
+    unsigned short   code;
+  };
+  // EventExceptionCode
+  const unsigned short      UNSPECIFIED_EVENT_TYPE_ERR     = 0;
+
+
+  // Introduced in DOM Level 2:
+  interface EventTarget {
+    void               addEventListener(in DOMString type, 
+                                        in EventListener listener, 
+                                        in boolean useCapture);
+    void               removeEventListener(in DOMString type, 
+                                           in EventListener listener, 
+                                           in boolean useCapture);
+    boolean            dispatchEvent(in Event evt)
+                                        raises(EventException);
+  };
+
+  // Introduced in DOM Level 2:
+  interface EventListener {
+    void               handleEvent(in Event evt);
+  };
+
+  // Introduced in DOM Level 2:
+  interface Event {
+
+    // PhaseType
+    const unsigned short      CAPTURING_PHASE                = 1;
+    const unsigned short      AT_TARGET                      = 2;
+    const unsigned short      BUBBLING_PHASE                 = 3;
+
+    readonly attribute DOMString        type;
+    readonly attribute EventTarget      target;
+    readonly attribute EventTarget      currentTarget;
+    readonly attribute unsigned short   eventPhase;
+    readonly attribute boolean          bubbles;
+    readonly attribute boolean          cancelable;
+    readonly attribute DOMTimeStamp     timeStamp;
+    void               stopPropagation();
+    void               preventDefault();
+    void               initEvent(in DOMString eventTypeArg, 
+                                 in boolean canBubbleArg, 
+                                 in boolean cancelableArg);
+  };
+
+  // Introduced in DOM Level 2:
+  interface DocumentEvent {
+    Event              createEvent(in DOMString eventType)
+                                        raises(dom::DOMException);
+  };
+
+  // Introduced in DOM Level 2:
+  interface UIEvent : Event {
+    readonly attribute views::AbstractView  view;
+    readonly attribute long             detail;
+    void               initUIEvent(in DOMString typeArg, 
+                                   in boolean canBubbleArg, 
+                                   in boolean cancelableArg, 
+                                   in views::AbstractView viewArg, 
+                                   in long detailArg);
+  };
+
+  // Introduced in DOM Level 2:
+  interface MouseEvent : UIEvent {
+    readonly attribute long             screenX;
+    readonly attribute long             screenY;
+    readonly attribute long             clientX;
+    readonly attribute long             clientY;
+    readonly attribute boolean          ctrlKey;
+    readonly attribute boolean          shiftKey;
+    readonly attribute boolean          altKey;
+    readonly attribute boolean          metaKey;
+    readonly attribute unsigned short   button;
+    readonly attribute EventTarget      relatedTarget;
+    void               initMouseEvent(in DOMString typeArg, 
+                                      in boolean canBubbleArg, 
+                                      in boolean cancelableArg, 
+                                      in views::AbstractView viewArg, 
+                                      in long detailArg, 
+                                      in long screenXArg, 
+                                      in long screenYArg, 
+                                      in long clientXArg, 
+                                      in long clientYArg, 
+                                      in boolean ctrlKeyArg, 
+                                      in boolean altKeyArg, 
+                                      in boolean shiftKeyArg, 
+                                      in boolean metaKeyArg, 
+                                      in unsigned short buttonArg, 
+                                      in EventTarget relatedTargetArg);
+  };
+
+  // Introduced in DOM Level 2:
+  interface MutationEvent : Event {
+
+    // attrChangeType
+    const unsigned short      MODIFICATION                   = 1;
+    const unsigned short      ADDITION                       = 2;
+    const unsigned short      REMOVAL                        = 3;
+
+    readonly attribute Node             relatedNode;
+    readonly attribute DOMString        prevValue;
+    readonly attribute DOMString        newValue;
+    readonly attribute DOMString        attrName;
+    readonly attribute unsigned short   attrChange;
+    void               initMutationEvent(in DOMString typeArg, 
+                                         in boolean canBubbleArg, 
+                                         in boolean cancelableArg, 
+                                         in Node relatedNodeArg, 
+                                         in DOMString prevValueArg, 
+                                         in DOMString newValueArg, 
+                                         in DOMString attrNameArg, 
+                                         in unsigned short attrChangeArg);
+  };
+};
+
+#endif // _EVENTS_IDL_
+
+
+
+
+ + + + + + diff --git a/java/external/xdocs/dom/events/idl/events.idl b/java/external/xdocs/dom/events/idl/events.idl new file mode 100644 index 0000000..ff7c6d3 --- /dev/null +++ b/java/external/xdocs/dom/events/idl/events.idl @@ -0,0 +1,150 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +// File: http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.idl + +#ifndef _EVENTS_IDL_ +#define _EVENTS_IDL_ + +#include "dom.idl" +#include "views.idl" + +#pragma prefix "dom.w3c.org" +module events +{ + + typedef dom::DOMString DOMString; + typedef dom::DOMTimeStamp DOMTimeStamp; + typedef dom::Node Node; + + interface EventListener; + interface Event; + + // Introduced in DOM Level 2: + exception EventException { + unsigned short code; + }; + // EventExceptionCode + const unsigned short UNSPECIFIED_EVENT_TYPE_ERR = 0; + + + // Introduced in DOM Level 2: + interface EventTarget { + void addEventListener(in DOMString type, + in EventListener listener, + in boolean useCapture); + void removeEventListener(in DOMString type, + in EventListener listener, + in boolean useCapture); + boolean dispatchEvent(in Event evt) + raises(EventException); + }; + + // Introduced in DOM Level 2: + interface EventListener { + void handleEvent(in Event evt); + }; + + // Introduced in DOM Level 2: + interface Event { + + // PhaseType + const unsigned short CAPTURING_PHASE = 1; + const unsigned short AT_TARGET = 2; + const unsigned short BUBBLING_PHASE = 3; + + readonly attribute DOMString type; + readonly attribute EventTarget target; + readonly attribute EventTarget currentTarget; + readonly attribute unsigned short eventPhase; + readonly attribute boolean bubbles; + readonly attribute boolean cancelable; + readonly attribute DOMTimeStamp timeStamp; + void stopPropagation(); + void preventDefault(); + void initEvent(in DOMString eventTypeArg, + in boolean canBubbleArg, + in boolean cancelableArg); + }; + + // Introduced in DOM Level 2: + interface DocumentEvent { + Event createEvent(in DOMString eventType) + raises(dom::DOMException); + }; + + // Introduced in DOM Level 2: + interface UIEvent : Event { + readonly attribute views::AbstractView view; + readonly attribute long detail; + void initUIEvent(in DOMString typeArg, + in boolean canBubbleArg, + in boolean cancelableArg, + in views::AbstractView viewArg, + in long detailArg); + }; + + // Introduced in DOM Level 2: + interface MouseEvent : UIEvent { + readonly attribute long screenX; + readonly attribute long screenY; + readonly attribute long clientX; + readonly attribute long clientY; + readonly attribute boolean ctrlKey; + readonly attribute boolean shiftKey; + readonly attribute boolean altKey; + readonly attribute boolean metaKey; + readonly attribute unsigned short button; + readonly attribute EventTarget relatedTarget; + void initMouseEvent(in DOMString typeArg, + in boolean canBubbleArg, + in boolean cancelableArg, + in views::AbstractView viewArg, + in long detailArg, + in long screenXArg, + in long screenYArg, + in long clientXArg, + in long clientYArg, + in boolean ctrlKeyArg, + in boolean altKeyArg, + in boolean shiftKeyArg, + in boolean metaKeyArg, + in unsigned short buttonArg, + in EventTarget relatedTargetArg); + }; + + // Introduced in DOM Level 2: + interface MutationEvent : Event { + + // attrChangeType + const unsigned short MODIFICATION = 1; + const unsigned short ADDITION = 2; + const unsigned short REMOVAL = 3; + + readonly attribute Node relatedNode; + readonly attribute DOMString prevValue; + readonly attribute DOMString newValue; + readonly attribute DOMString attrName; + readonly attribute unsigned short attrChange; + void initMutationEvent(in DOMString typeArg, + in boolean canBubbleArg, + in boolean cancelableArg, + in Node relatedNodeArg, + in DOMString prevValueArg, + in DOMString newValueArg, + in DOMString attrNameArg, + in unsigned short attrChangeArg); + }; +}; + +#endif // _EVENTS_IDL_ + diff --git a/java/external/xdocs/dom/events/images/REC.gif b/java/external/xdocs/dom/events/images/REC.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0007d058a9843a4bfa3492b01d4d2c021d3101e GIT binary patch literal 903 zcmV;219<#LNk%w1VHp7I0JHx909u?7WTG&6uT_z~Wt+pQ$lkirhkXN`2YX^EC2ui02u)6000F45XecZy*TU5yZ>M)j$~<`XsWJk>%MR- z&vXqFg`w}@@-#c%$Dueq5~o7ZBya>whKF=21rZe3EY?OrFdWhX64Y!gu!jc$R5&~* zU(jPv2^>H7O1^U_R1^J31eI;4@Fc|1|14WT3Tyd3Y!%T zp`4@?21}?F36LC_nNFOe4W9~v9SNtEE&&Cy4J8k zz`?Ca*=T(b5M_!10V4uTqUTEmjvzY!di(&{Z^J?odr16aB9TNzSytq+;(}lrDFt*U zI&hFiLN*XOG!6q0j$*3@beUa0tX_iOMXJP?Ql08U<>=-xg z#I;n~zO5|hE(yCQ@}A)9R|{Zaf(gr!`vLKZ#U~sefc(KG?T#nBfGNZpLm9tm5=(VM zA`!S>)d=s_Dfh4*R;DCu4@D)}lfDG2b7xV!lfPEj_GJ#`itTsVX82KncgLqIv zqzCp`REtas2#4E~P)50pfE5U!K#&^%V$=i;DC3Qn7K~RO1`{?lmwyg884i{iFi?_D zSe+;iJb;84<^wBY!GI%RGQ>a{c#0wA2+uHpQGPlO^1uNHIM9%H!PrTGa|VKmVJu^m z34o?&Lf8#@5+rKDnjHLz!KE8mshW3#w#5JeTe7iRmjjTf0RjZEEZB1E+_`f+?sFGzzj@*I z8-DlsK0ZD?JUp?nvG?xXd-v|0j*gC6-t zPDVy1H#c|E>dP5jhc_O65K^;?+hwkejg4i-#^(8F*R5Mu+`qTCx3{yiv$V8y*REYI zE-nfR3P6{T3Uoj|0QrT1?Vm$KfrpM%|A{3S{t?g#+tIzZ>#n{*ifMp zIx}2n)2`J{Gwyb5m08WTMQN==?Ya5aVs$gCnV4IdnSxl_n8R7w`q{fDwRS`mGHRD` z=n7P`a4z8F3gTYK*%QjMZ1tKI{v5mveEb6bfiB{=y4If<+gKg))n;IkjLN zqlBA;pCrTjG_8I9VhcrsMHUK&ik&>YS}K6ULt2oJK{}jy8FvuZGL{gT$4?fXmGzL7 zb6OOu$aX41gmIaj&rcIRmnj0vT5K!LT%6eW|F&5iNON`3;0rcs5i)%0+?1lM_4n2? zBZf{zCT5ok0~Kens)cV{KZ>nd`cJt3q?e0f;whFX90p4-+?m0exFRr+qlrsVRZ)a7 z=%Aye;uA*E?r4jio*=D9hbsaq{CbUe9oA}cSR@%rX1&l_>wo1DFN6M+of;dZ)@bhj z)_EiJQ|HOFo%8{xe^}HPs+yI&)mZwxiP`*#l-*onlzYY2X~OUu~bpjn0E*@ftG%7e;0? z-Z*kRf4|}nx$=z2g<(vcI}aakPP4ptJvQQB&h!SS+LUEH>3$EsONz}Bl~~ltxy2+g zF{DTzU`BS2n6 zf^R}oQ`i!Q1DtU#l~09Nw?2>7P}#*6-7UZ%FjItM!{Mi5t0hHTYrd`wZOmazkdSf6 z-*>2QcHEKcJR*~CzKmy8# zO7~`~*#b|-^UM5PR`Rgh1(vihPp@I*FFd^E)va#%r!USda4DIfE%CzhgtiE?$??0J r0v#SSvN%ncaH!unZS~u2cgkMB-Tt6WJFmlMO7^>*EHAhOSs1JVY`nC@ literal 0 HcmV?d00001 diff --git a/java/external/xdocs/dom/events/java-binding.html b/java/external/xdocs/dom/events/java-binding.html new file mode 100644 index 0000000..e415f4a --- /dev/null +++ b/java/external/xdocs/dom/events/java-binding.html @@ -0,0 +1,278 @@ + + + + +Java Language Binding + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix B: Java Language +Binding

+ +

This appendix contains the complete Java [Java] bindings for the Level 2 +Document Object Model Events.

+ +

The Java files are also available as http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/java-binding.zip

+ +

+org/w3c/dom/events/EventException.java:

+ +
+
+package org.w3c.dom.events;
+
+public class EventException extends RuntimeException {
+    public EventException(short code, String message) {
+       super(message);
+       this.code = code;
+    }
+    public short   code;
+    // EventExceptionCode
+    public static final short UNSPECIFIED_EVENT_TYPE_ERR = 0;
+
+}
+
+
+ +

+org/w3c/dom/events/EventTarget.java:

+ +
+
+package org.w3c.dom.events;
+
+public interface EventTarget {
+    public void addEventListener(String type, 
+                                 EventListener listener, 
+                                 boolean useCapture);
+
+    public void removeEventListener(String type, 
+                                    EventListener listener, 
+                                    boolean useCapture);
+
+    public boolean dispatchEvent(Event evt)
+                                 throws EventException;
+
+}
+
+
+ +

+org/w3c/dom/events/EventListener.java:

+ +
+
+package org.w3c.dom.events;
+
+public interface EventListener {
+    public void handleEvent(Event evt);
+
+}
+
+
+ +

+org/w3c/dom/events/Event.java:

+ +
+
+package org.w3c.dom.events;
+
+public interface Event {
+    // PhaseType
+    public static final short CAPTURING_PHASE           = 1;
+    public static final short AT_TARGET                 = 2;
+    public static final short BUBBLING_PHASE            = 3;
+
+    public String getType();
+
+    public EventTarget getTarget();
+
+    public EventTarget getCurrentTarget();
+
+    public short getEventPhase();
+
+    public boolean getBubbles();
+
+    public boolean getCancelable();
+
+    public long getTimeStamp();
+
+    public void stopPropagation();
+
+    public void preventDefault();
+
+    public void initEvent(String eventTypeArg, 
+                          boolean canBubbleArg, 
+                          boolean cancelableArg);
+
+}
+
+
+ +

+org/w3c/dom/events/DocumentEvent.java:

+ +
+
+package org.w3c.dom.events;
+
+import org.w3c.dom.DOMException;
+
+public interface DocumentEvent {
+    public Event createEvent(String eventType)
+                             throws DOMException;
+
+}
+
+
+ +

+org/w3c/dom/events/UIEvent.java:

+ +
+
+package org.w3c.dom.events;
+
+import org.w3c.dom.views.AbstractView;
+
+public interface UIEvent extends Event {
+    public AbstractView getView();
+
+    public int getDetail();
+
+    public void initUIEvent(String typeArg, 
+                            boolean canBubbleArg, 
+                            boolean cancelableArg, 
+                            AbstractView viewArg, 
+                            int detailArg);
+
+}
+
+
+ +

+org/w3c/dom/events/MouseEvent.java:

+ +
+
+package org.w3c.dom.events;
+
+import org.w3c.dom.views.AbstractView;
+
+public interface MouseEvent extends UIEvent {
+    public int getScreenX();
+
+    public int getScreenY();
+
+    public int getClientX();
+
+    public int getClientY();
+
+    public boolean getCtrlKey();
+
+    public boolean getShiftKey();
+
+    public boolean getAltKey();
+
+    public boolean getMetaKey();
+
+    public short getButton();
+
+    public EventTarget getRelatedTarget();
+
+    public void initMouseEvent(String typeArg, 
+                               boolean canBubbleArg, 
+                               boolean cancelableArg, 
+                               AbstractView viewArg, 
+                               int detailArg, 
+                               int screenXArg, 
+                               int screenYArg, 
+                               int clientXArg, 
+                               int clientYArg, 
+                               boolean ctrlKeyArg, 
+                               boolean altKeyArg, 
+                               boolean shiftKeyArg, 
+                               boolean metaKeyArg, 
+                               short buttonArg, 
+                               EventTarget relatedTargetArg);
+
+}
+
+
+ +

+org/w3c/dom/events/MutationEvent.java:

+ +
+
+package org.w3c.dom.events;
+
+import org.w3c.dom.Node;
+
+public interface MutationEvent extends Event {
+    // attrChangeType
+    public static final short MODIFICATION              = 1;
+    public static final short ADDITION                  = 2;
+    public static final short REMOVAL                   = 3;
+
+    public Node getRelatedNode();
+
+    public String getPrevValue();
+
+    public String getNewValue();
+
+    public String getAttrName();
+
+    public short getAttrChange();
+
+    public void initMutationEvent(String typeArg, 
+                                  boolean canBubbleArg, 
+                                  boolean cancelableArg, 
+                                  Node relatedNodeArg, 
+                                  String prevValueArg, 
+                                  String newValueArg, 
+                                  String attrNameArg, 
+                                  short attrChangeArg);
+
+}
+
+
+
+ + + + + + diff --git a/java/external/xdocs/dom/events/references.html b/java/external/xdocs/dom/events/references.html new file mode 100644 index 0000000..a3fe2d3 --- /dev/null +++ b/java/external/xdocs/dom/events/references.html @@ -0,0 +1,105 @@ + + + + +References + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

References

+ +

For the latest version of any W3C specification please consult +the list of W3C Technical +Reports available at http://www.w3.org/TR.

+ +
+ +

F.1: Normative +references

+ +
+
DOM Level 2 Core
+ +
W3C (World Wide Web Consortium) Document +Object Model Level 2 Core Specification, November 2000. +Available at +http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113
+ +
ECMAScript
+ +
ECMA (European Computer Manufacturers Association) ECMAScript +Language Specification. Available at +http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM
+ +
Java
+ +
Sun Microsystems Inc. The Java Language +Specification, James Gosling, Bill Joy, and Guy Steele, +September 1996. Available at +http://java.sun.com/docs/books/jls
+ +
OMGIDL
+ +
OMG (Object Management Group) +IDL (Interface Definition Language) defined in The Common Object +Request Broker: Architecture and Specification, version 2.3.1, +October 1999. Available from http://www.omg.org/
+ +
DOM Level 2 +Views
+ +
W3C (World Wide Web Consortium) Document +Object Model Level 2 Views Specification, November 2000. +Available at +http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113
+ +
XML
+ +
W3C (World Wide Web Consortium) Extensible Markup +Language (XML) 1.0, February 1998. Available at +http://www.w3.org/TR/1998/REC-xml-19980210
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/events/spec.css b/java/external/xdocs/dom/events/spec.css new file mode 100644 index 0000000..6a6bf13 --- /dev/null +++ b/java/external/xdocs/dom/events/spec.css @@ -0,0 +1,75 @@ +H4 { + text-align: left; + font-family: sans-serif; + font-weight: normal; + color: #0050B2; +} +.idl-code { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} +.java-code { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} + + +.code-block { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} + + +.ecma-block { + border: 1px solid black; + color: black; + background-color: #dfdfdf; +} + + +.interface-name { + font-weight: bold +} + +.attribute-name { + color: black; + background-color: #FFFFD2; +} + +.constant-name { + color: black; + background-color: #DDFFD2; +} + +.method-name { + color: black; + background-color: #D9E6F8; +} + +.parameter-name { + color: black; + background-color: #FEE6F8; +} + +UL.toc, OL.toc {list-style: none} +DIV.toc UL UL, DIV.toc OL OL {margin-left: 0} +DIV.toc UL UL UL, DIV.toc OL OL OL {margin-left: 1em} +DIV.toc UL UL UL UL, DIV.toc OL OL OL OL {margin-left: 0} +LI.tocline1 {font-weight: bold} +LI.tocline2 {font-weight: normal} +LI.tocline4 {font-style: italic} + +code { font-family: monospace } + +div.paramtable { margin-left: 1em } +div.returntable { margin-left: 1em } +div.exceptiontable { margin-left: 1em } diff --git a/java/external/xdocs/dom/style/COPYRIGHT.html b/java/external/xdocs/dom/style/COPYRIGHT.html new file mode 100644 index 0000000..26049b7 --- /dev/null +++ b/java/external/xdocs/dom/style/COPYRIGHT.html @@ -0,0 +1,100 @@ + + + + + W3C IPR SOFTWARE NOTICE + + +

+ W3C IPR SOFTWARE NOTICE +

+

+ Copyright © 2000 World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. +

+

+ The DOM bindings are published under the W3C Software Copyright Notice + and License. The software license requires "Notice of any changes or + modifications to the W3C files, including the date changes were made." + Consequently, modified versions of the DOM bindings must document that + they do not conform to the W3C standard; in the case of the IDL binding, + the pragma prefix can no longer be 'w3c.org'; in the case of the Java + binding, the package names can no longer be in the 'org.w3c' package. +

+

+ Note: The original version of the W3C Software Copyright Notice + and License could be found at http://www.w3.org/Consortium/Legal/copyright-software-19980720 +

+

+ Copyright © 1994-2000 World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. http://www.w3.org/Consortium/Legal/ +

+

+ This W3C work (including software, documents, or other related items) is + being provided by the copyright holders under the following license. By + obtaining, using and/or copying this work, you (the licensee) agree that + you have read, understood, and will comply with the following terms and + conditions: +

+

+ Permission to use, copy, and modify this software and its documentation, + with or without modification,  for any purpose and without fee or + royalty is hereby granted, provided that you include the following on ALL + copies of the software and documentation or portions thereof, including + modifications, that you make: +

+
    +
  1. + The full text of this NOTICE in a location viewable to users of the + redistributed or derivative work. +
  2. +
  3. + Any pre-existing intellectual property disclaimers, notices, or terms + and conditions. If none exist, a short notice of the following form + (hypertext is preferred, text is permitted) should be used within the + body of any redistributed or derivative code: "Copyright © + [$date-of-software] World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. http://www.w3.org/Consortium/Legal/" +
  4. +
  5. + Notice of any changes or modifications to the W3C files, including the + date changes were made. (We recommend you provide URIs to the location + from which the code is derived.) +
  6. +
+

+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT + HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR + DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, + TRADEMARKS OR OTHER RIGHTS. +

+

+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR + CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR + DOCUMENTATION. +

+

+ The name and trademarks of copyright holders may NOT be used in + advertising or publicity pertaining to the software without specific, + written prior permission. Title to copyright in this software and any + associated documentation will at all times remain with copyright + holders. +

+ + diff --git a/java/external/xdocs/dom/style/Overview.html b/java/external/xdocs/dom/style/Overview.html new file mode 100644 index 0000000..ce11d3b --- /dev/null +++ b/java/external/xdocs/dom/style/Overview.html @@ -0,0 +1,202 @@ + + + + +Document Object Model (DOM) Level 2 Style +Specification + + + + + + + + + +
+

+ +

Document Object Model (DOM) Level 2 Style +Specification

+ +

Version 1.0

+ + +

W3C Recommendation 13 November, +2000

+ +
+
This version:
+ +
http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113
+ ( +PostScript file , +PDF file , +plain text , +ZIP file)
+ +
Latest version:
+ +
http://www.w3.org/TR/DOM-Level-2-Style
+ +
Previous version:
+ +
http://www.w3.org/TR/2000/PR-DOM-Level-2-Style-20000927
+
+ +
+
Editors:
+ +
Chris Wilson, Microsoft Corp.
+ +
Philippe Le Hégaret, W3C, team contact (from November +1999)
+ +
Vidur Apparao, Netscape Communications Corp.
+
+ + +
+ +
+

Abstract

+ +
+

This specification defines the Document Object Model Level 2 +Style Sheets and Cascading Style Sheets (CSS), a platform- and +language-neutral interface that allows programs and scripts to +dynamically access and update the content and of style sheets +documents. The Document Object Model Level 2 Style builds on the +Document Object Model Level 2 Core [DOM Level 2 Core] and on the +Document Object Model Level 2 Views [DOM Level 2 Views].

+
+ +

Status of this document

+ +
+

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 W3C.

+ +

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.

+ +

This document has been produced as part of the W3C DOM Activity. +The authors of this document are the DOM Working Group members. +Different modules of the Document Object Model have different +editors.

+ +

Please send general comments about this document to the public +mailing list www-dom@w3.org. An +archive +is available at http://lists.w3.org/Archives/Public/www-dom/.

+ +

The English version of this specification is the only normative +version. Information about translations +of this document is available at +http://www.w3.org/2000/11/DOM-Level-2-translations.

+ +

The list +of known errors in this document is available at +http://www.w3.org/2000/11/DOM-Level-2-errata

+ +

A list of current W3C +Recommendations and other technical documents can be found at +http://www.w3.org/TR.

+
+ +

Table +of contents

+ + + + + + + + + + + diff --git a/java/external/xdocs/dom/style/W3C-REC.css b/java/external/xdocs/dom/style/W3C-REC.css new file mode 100644 index 0000000..43eea27 --- /dev/null +++ b/java/external/xdocs/dom/style/W3C-REC.css @@ -0,0 +1,94 @@ +/* This is an SSI script. Policy: + (1) Use CVS + (2) send e-mail to w3t-comm@w3.org if you edit this +*/ +/* Style for a "Recommendation" */ + +/* + This is an SSI script. Policy: + (1) Use CVS + (2) send e-mail to w3t-comm@w3.org if you edit this + + Acknowledgments: + + - 'background-color' doesn't work on Mac IE 3, but 'background' + does (Susan Lesch ) + + - 'smaller' leads to illegible text in both Mac IE and Mac NS, + 'small' is better: works in Mac NS, but is always 12pt in Mac IE + 3 (Susan Lesch ) + + $Id$ +*/ + +body { + margin: 2em 1em 2em 70px; + font-family: sans-serif; + color: black; + background: white; + background-position: top left; + background-attachment: fixed; + background-repeat: no-repeat; +} + +th, td { /* ns 4 */ + font-family: sans-serif; +} + +h1, h2, h3, h4, h5, h6 { text-align: left } +h1, h2, h3 { color: #005A9C } +h1 { font: 170% sans-serif } +h2 { font: 140% sans-serif } +h3 { font: 120% sans-serif } +h4 { font: bold 100% sans-serif } +h5 { font: italic 100% sans-serif } +h6 { font: small-caps 100% sans-serif } + +.hide { display: none } + +div.head { margin-bottom: 1em } +div.head h1 { margin-top: 2em; clear: both } +div.head table { margin-left: 2em; margin-top: 2em } +div.head img { color: white; border: none } /* remove border from top image */ + +p.copyright { font-size: small } +p.copyright small { font-size: small } + +@media screen { /* hide from IE3 */ +a:hover { background: #ffa } +} + +pre { margin-left: 2em } +/* +p { + margin-top: 0.6em; + margin-bottom: 0.6em; +} +*/ +dt, dd { margin-top: 0; margin-bottom: 0 } /* opera 3.50 */ +dt { font-weight: bold } + +pre, code { font-family: monospace } /* navigator 4 requires this */ + +ul.toc { + list-style: disc; /* Mac NS has problem with 'none' */ + list-style: none; +} + +@media aural { + h1, h2, h3 { stress: 20; richness: 90 } + .hide { speak: none } + p.copyright { volume: x-soft; speech-rate: x-fast } + dt { pause-before: 20% } + pre { speak-punctuation: code } +} + +/* Things (icons) that should only show up in projection mode */ +.projection { display: none } +@media projection { .projection { display: inline } } + + +body { + background-image: url(http://www.w3.org/StyleSheets/TR/logo-REC); +} + diff --git a/java/external/xdocs/dom/style/acknowledgements.html b/java/external/xdocs/dom/style/acknowledgements.html new file mode 100644 index 0000000..96e2569 --- /dev/null +++ b/java/external/xdocs/dom/style/acknowledgements.html @@ -0,0 +1,101 @@ + + + + +Acknowledgements + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix D: +Acknowledgements

+ +

Many people contributed to this specification, including members +of the DOM Working Group and the DOM Interest Group. We especially +thank the following:

+ +

Lauren Wood (SoftQuad Software Inc., chair), Andrew +Watson (Object Management Group), Andy Heninger (IBM), Arnaud Le +Hors (W3C and IBM), Ben Chang (Oracle), Bill Smith (Sun), Bill Shea +(Merrill Lynch), Bob Sutor (IBM), Chris Lovett (Microsoft), Chris +Wilson (Microsoft), David Brownell (Sun), David Singer (IBM), Don +Park (invited), Eric Vasilik (Microsoft), Gavin Nicol (INSO), Ian +Jacobs (W3C), James Clark (invited), James Davidson (Sun), Jared +Sorensen (Novell), Joe Kesselman (IBM), Joe Lapp (webMethods), Joe +Marini (Macromedia), Johnny Stenback (Netscape), Jonathan Marsh +(Microsoft), Jonathan Robie (Texcel Research and Software AG), Kim +Adamson-Sharpe (SoftQuad Software Inc.), Laurence Cable (Sun), Mark +Davis (IBM), Mark Scardina (Oracle), Martin Dürst (W3C), Mick +Goulish (Software AG), Mike Champion (Arbortext and Software AG), +Miles Sabin (Cromwell Media), Patti Lutsky (Arbortext), Paul Grosso +(Arbortext), Peter Sharpe (SoftQuad Software Inc.), Phil Karlton +(Netscape), Philippe Le Hégaret (W3C, W3C team +contact), Ramesh Lekshmynarayanan (Merrill Lynch), Ray Whitmer +(iMall, Excite@Home and Netscape), Rich Rollman (Microsoft), Rick +Gessner (Netscape), Scott Isaacs (Microsoft), Sharon Adler (INSO), +Steve Byrne (JavaSoft), Tim Bray (invited), Tom Pixley (Netscape), +Vidur Apparao (Netscape), Vinod Anupam (Lucent).

+ +

Thanks to all those who have helped to improve this +specification by sending suggestions and corrections.

+ +
+ +

D.1: Production Systems

+ +

This specification was written in XML. The HTML, OMG IDL, Java +and ECMA Script bindings were all produced automatically.

+ +

Thanks to Joe English, author of cost, which was used as +the basis for producing DOM Level 1. Thanks also to Gavin Nicol, +who wrote the scripts which run on top of cost. Arnaud Le Hors and +Philippe Le Hégaret maintained the scripts.

+ +

For DOM Level 2, we used Xerces as the basis DOM +implementation and wish to thank the authors. Philippe Le +Hégaret and Arnaud Le Hors wrote the +Java programs which are the DOM application.

+ +

Thanks also to Jan Kärrman, author of html2ps, which we +use in creating the PostScript version of the specification.

+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/style/copyright-notice.html b/java/external/xdocs/dom/style/copyright-notice.html new file mode 100644 index 0000000..31a7522 --- /dev/null +++ b/java/external/xdocs/dom/style/copyright-notice.html @@ -0,0 +1,229 @@ + + + + +Copyright Notice + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Copyright Notice

+ +

Copyright © 2000 World Wide +Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

This document is published under the W3C Document +Copyright Notice and License. The bindings within this document +are published under the W3C Software +Copyright Notice and License. The software license requires +"Notice of any changes or modifications to the W3C files, including +the date changes were made." Consequently, modified versions of the +DOM bindings must document that they do not conform to the W3C +standard; in the case of the IDL definitions, the pragma prefix can +no longer be 'w3c.org'; in the case of the Java Language binding, +the package names can no longer be in the 'org.w3c' package.

+ +
+ +
+ + +

Note: This section is a copy of the W3C Document Notice +and License and could be found at +http://www.w3.org/Consortium/Legal/copyright-documents-19990405.

+ +

Copyright © 1994-2000 World +Wide Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

http://www.w3.org/Consortium/Legal/

+ +

Public documents on the W3C site are provided by the copyright +holders under the following license. The software or Document Type +Definitions (DTDs) associated with W3C specifications are governed +by the Software +Notice. By using and/or copying this document, or the W3C +document from which this statement is linked, you (the licensee) +agree that you have read, understood, and will comply with the +following terms and conditions:

+ +

Permission to use, copy, and distribute the contents of this +document, or the W3C document from which this statement is linked, +in any medium for any purpose and without fee or royalty is hereby +granted, provided that you include the following on ALL +copies of the document, or portions thereof, that you use:

+ +
    +
  1. A link or URL to the original W3C document.
  2. + +
  3. The pre-existing copyright notice of the original author, or if +it doesn't exist, a notice of the form: "Copyright © +[$date-of-document] World Wide Web +Consortium, (Massachusetts +Institute of Technology, Institut National de Recherche en +Informatique et en Automatique, Keio University). All Rights +Reserved. http://www.w3.org/Consortium/Legal/" (Hypertext is +preferred, but a textual representation is permitted.)
  4. + +
  5. If it exists, the STATUS of the W3C document.
  6. +
+ +

When space permits, inclusion of the full text of this +NOTICE should be provided. We request that authorship +attribution be provided in any software, documents, or other items +or products that you create pursuant to the implementation of the +contents of this document, or any portion thereof.

+ +

No right to create modifications or derivatives of W3C documents +is granted pursuant to this license. However, if additional +requirements (documented in the Copyright +FAQ) are satisfied, the right to create modifications or +derivatives is sometimes granted by the W3C to individuals +complying with those requirements.

+ +

THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO +REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT +NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS +OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE +IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY +PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

+ +

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, +SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE +DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS +THEREOF.

+ +

The name and trademarks of copyright holders may NOT be used in +advertising or publicity pertaining to this document or its +contents without specific, written prior permission. Title to +copyright in this document will at all times remain with copyright +holders.

+
+ + +
+ +
+ + +

Note: This section is a copy of the W3C Software +Copyright Notice and License and could be found at +http://www.w3.org/Consortium/Legal/copyright-software-19980720

+ +

Copyright © 1994-2000 World +Wide Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

http://www.w3.org/Consortium/Legal/

+ +

This W3C work (including software, documents, or other related +items) is being provided by the copyright holders under the +following license. By obtaining, using and/or copying this work, +you (the licensee) agree that you have read, understood, and will +comply with the following terms and conditions:

+ +

Permission to use, copy, and modify this software and its +documentation, with or without modification, for any purpose and +without fee or royalty is hereby granted, provided that you include +the following on ALL copies of the software and documentation or +portions thereof, including modifications, that you make:

+ +
    +
  1. The full text of this NOTICE in a location viewable to users of +the redistributed or derivative work.
  2. + +
  3. Any pre-existing intellectual property disclaimers. If none +exist, then a notice of the following form: "Copyright © +[$date-of-software] World Wide Web +Consortium, (Massachusetts +Institute of Technology, Institut National de Recherche en +Informatique et en Automatique, Keio University). All Rights +Reserved. http://www.w3.org/Consortium/Legal/."
  4. + +
  5. Notice of any changes or modifications to the W3C files, +including the date changes were made. (We recommend you provide +URIs to the location from which the code is derived.)
  6. +
+ +

THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND +COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE +USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD +PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

+ +

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, +SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE +SOFTWARE OR DOCUMENTATION.

+ +

The name and trademarks of copyright holders may NOT be used in +advertising or publicity pertaining to the software without +specific, written prior permission. Title to copyright in this +software and any associated documentation will at all times remain +with copyright holders.

+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/style/css.html b/java/external/xdocs/dom/style/css.html new file mode 100644 index 0000000..a7b6b1f --- /dev/null +++ b/java/external/xdocs/dom/style/css.html @@ -0,0 +1,8120 @@ + + + + +Document Object Model CSS + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

2. Document Object Model CSS

+ +
+
Editors
+ +
Chris Wilson, Microsoft Corp.
+ +
Philippe Le Hégaret, W3C
+ +
Vidur Apparao, Netscape Communications Corp.
+
+ + + +
+ +

2.1. Overview of the DOM +Level 2 CSS Interfaces

+ +

The DOM Level 2 Cascading Style Sheets (CSS) interfaces are designed +with the goal of exposing CSS constructs to object model consumers. +Cascading Style Sheets is a declarative syntax for defining +presentation rules, properties and ancillary constructs used to +format and render Web documents. This document specifies a +mechanism to programmatically access and modify the rich style and +presentation control provided by CSS (specifically CSS level 2 [CSS2]). This +augments CSS by providing a mechanism to dynamically control the +inclusion and exclusion of individual style sheets, as well as +manipulate CSS rules and properties.

+ +

The CSS interfaces are organized in a logical, rather than +physical structure. A collection of all style sheets referenced by +or embedded in the document is accessible on the document +interface. Each item in this collection exposes the properties +common to all style sheets referenced or embedded in HTML and XML +documents; this interface is described in the Document Object Model Style +Sheets. User style sheets are not accessible through this +collection, in part due to potential privacy concerns (and +certainly read-write issues).

+ +

For each CSS style sheet, an additional interface is exposed - +the CSSStyleSheet +interface. This interface allows access to the collection of rules +within a CSS style sheet and methods to modify that collection. +Interfaces are provided for each specific type of rule in CSS2 +(e.g. style declarations, @import rules, or +@font-face rules), as well as a shared generic CSSRule interface.

+ +

The most common type of rule is a style declaration. The CSSStyleRule +interface that represents this type of rule provides string access +to the CSS selector of the rule, and access to the property +declarations through the CSSStyleDeclaration +interface.

+ +

Finally, an optional CSS2Properties +interface is described; this interface (if implemented) provides +shortcuts to the string values of all the properties in CSS level +2.

+ +

All CSS objects in the DOM are "live", that is, a change in the +style sheet is reflected in the computed and actual style.

+
+ + +
+ +

2.2. CSS Fundamental +Interfaces

+ +

The interfaces within this section are considered fundamental +CSS interfaces, and must be supported by all conforming +implementations of the CSS module. These interfaces represent CSS +style sheets specifically.

+ +

A DOM application may use the hasFeature(feature, +version) method of the DOMImplementation +interface with parameter values "CSS" and "2.0" (respectively) to +determine whether or not this module is supported by the +implementation. In order to fully support this module, an +implementation must also support the "Core" feature defined defined +in the DOM Level 2 Core specification [DOM Level 2 Core] and the +"Views" feature defined in the DOM Level 2 Views specification [DOM Level 2 +Views]. Please refer to additional information about +conformance in the DOM Level 2 Core specification [DOM Level 2 +Core].

+ +
+
Interface CSSStyleSheet (introduced in +DOM Level 2)
+ +
+

The CSSStyleSheet interface is a concrete interface +used to represent a CSS style sheet i.e., a style sheet whose +content type is "text/css".

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSSStyleSheet : stylesheets::StyleSheet {
+  readonly attribute CSSRule          ownerRule;
+  readonly attribute CSSRuleList      cssRules;
+  unsigned long      insertRule(in DOMString rule, 
+                                in unsigned long index)
+                                        raises(DOMException);
+  void               deleteRule(in unsigned long index)
+                                        raises(DOMException);
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
cssRules of type CSSRuleList, +readonly
+ +
The list of all CSS rules contained within the style sheet. +This includes both +rule sets and +at-rules.
+
+ +
ownerRule of type CSSRule, readonly
+ +
If this style sheet comes from an @import rule, +the ownerRule attribute will contain the CSSImportRule. +In that case, the ownerNode attribute in the StyleSheet +interface will be null. If the style sheet comes from +an element or a processing instruction, the ownerRule +attribute will be null and the ownerNode +attribute will contain the Node.
+
+
+
+ +
Methods
+ +
+
+
deleteRule
+ +
+
Used to delete a rule from the style sheet. + +
Parameters + +
+
+
index of type +unsigned long
+ +
The index within the style sheet's rule list of the rule to +remove.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INDEX_SIZE_ERR: Raised if the specified index does not +correspond to a rule in the style sheet's rule list.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is +readonly.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
insertRule
+ +
+
Used to insert a new rule into the style sheet. +The new rule now becomes part of the cascade. + +
Parameters + +
+
+
rule of type +DOMString
+ +
The parsable text representing the rule. For rule sets this +contains both the selector and the style declaration. For at-rules, +this specifies both the at-identifier and the rule content.
+
+ +
index of type +unsigned long
+ +
The index within the style sheet's rule list of the rule before +which to insert the specified rule. If the specified index is equal +to the length of the style sheet's rule collection, the rule will +be added to the end of the style sheet.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

unsigned long

+
+

The index within the style sheet's rule collection of the newly +inserted rule.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at +the specified index e.g. if an @import rule is +inserted after a standard rule set or other at-rule.

+ +

INDEX_SIZE_ERR: Raised if the specified index is not a valid +insertion point.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is +readonly.

+ +

SYNTAX_ERR: Raised if the specified rule has a syntax error and +is unparsable.

+
+
+
+ + +
+ + +
+
+
+
+
+ +
Interface CSSRuleList (introduced in DOM Level 2)
+ +
+

The CSSRuleList interface provides the abstraction +of an ordered collection of CSS rules.

+ +

The items in the CSSRuleList are accessible via an +integral index, starting from 0.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSSRuleList {
+  readonly attribute unsigned long    length;
+  CSSRule            item(in unsigned long index);
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
length of type +unsigned long, readonly
+ +
The number of CSSRules in the list. +The range of valid child rule indices is 0 to +length-1 inclusive.
+
+
+
+ +
Methods
+ +
+
+
item
+ +
+
Used to retrieve a CSS rule by ordinal index. +The order in this collection represents the order of the rules in +the CSS style sheet. If index is greater than or equal to the +number of rules in the list, this returns null. + +
Parameters + +
+
+
index of type +unsigned long
+ +
Index into the collection
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

CSSRule

+
+

The style rule at the index position in the +CSSRuleList, or null if that is not a +valid index.

+
+
+
+ + +
No Exceptions
+
+ + +
+
+
+
+
+ +
Interface CSSRule (introduced in DOM Level 2)
+ +
+

The CSSRule interface is the abstract base +interface for any type of CSS +statement. This includes both +rule sets and +at-rules. An implementation is expected to preserve +all rules specified in a CSS style sheet, even if the rule is not +recognized by the parser. Unrecognized rules are represented using +the CSSUnknownRule +interface.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSSRule {
+
+  // RuleType
+  const unsigned short      UNKNOWN_RULE                   = 0;
+  const unsigned short      STYLE_RULE                     = 1;
+  const unsigned short      CHARSET_RULE                   = 2;
+  const unsigned short      IMPORT_RULE                    = 3;
+  const unsigned short      MEDIA_RULE                     = 4;
+  const unsigned short      FONT_FACE_RULE                 = 5;
+  const unsigned short      PAGE_RULE                      = 6;
+
+  readonly attribute unsigned short   type;
+           attribute DOMString        cssText;
+                                        // raises(DOMException) on setting
+
+  readonly attribute CSSStyleSheet    parentStyleSheet;
+  readonly attribute CSSRule          parentRule;
+};
+
+
+ +
+
+ +
Definition group RuleType
+ +
+

An integer indicating which type of rule this is.

+ +
+
Defined Constants
+ +
+
+
CHARSET_RULE
+ +
The rule is a CSSCharsetRule.
+ +
FONT_FACE_RULE
+ +
The rule is a CSSFontFaceRule.
+ +
IMPORT_RULE
+ +
The rule is a CSSImportRule.
+ +
MEDIA_RULE
+ +
The rule is a CSSMediaRule.
+ +
PAGE_RULE
+ +
The rule is a CSSPageRule.
+ +
STYLE_RULE
+ +
The rule is a CSSStyleRule.
+ +
UNKNOWN_RULE
+ +
The rule is a CSSUnknownRule.
+
+
+
+
+ +
Attributes
+ +
+
+
cssText of type +DOMString
+ +
The parsable textual representation of the rule. This reflects +the current state of the rule and not its initial value.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the specified CSS string value has a +syntax error and is unparsable.

+ +

INVALID_MODIFICATION_ERR: Raised if the specified CSS string +value represents a different type of rule than the current one.

+ +

HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at +this point in the style sheet.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if the rule is readonly.

+
+
+
+ + +
+ +
parentRule of type CSSRule, readonly
+ +
If this rule is contained inside another rule (e.g. a style +rule inside an @media block), this is the containing rule. If this +rule is not nested inside any other rules, this returns +null.
+
+ +
parentStyleSheet of type CSSStyleSheet, +readonly
+ +
The style sheet that contains this rule.
+
+ +
type of type unsigned +short, readonly
+ +
The type of the rule, as defined above. The expectation is that +binding-specific casting methods can be used to cast down from an +instance of the CSSRule interface to the specific +derived interface implied by the type.
+
+
+
+
+
+ +
Interface CSSStyleRule (introduced in DOM Level 2)
+ +
+

The CSSStyleRule interface represents a single +rule set in a CSS style sheet.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSSStyleRule : CSSRule {
+           attribute DOMString        selectorText;
+                                        // raises(DOMException) on setting
+
+  readonly attribute CSSStyleDeclaration  style;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
selectorText of +type DOMString
+ +
The textual representation of the +selector for the rule set. The implementation may have +stripped out insignificant whitespace while parsing the +selector.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the specified CSS string value has a +syntax error and is unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is +readonly.

+
+
+
+ + +
+ +
style of type CSSStyleDeclaration, +readonly
+ +
The +declaration-block of this rule set.
+
+
+
+
+
+ +
Interface CSSMediaRule (introduced in DOM Level 2)
+ +
+

The CSSMediaRule interface represents a +@media rule in a CSS style sheet. A +@media rule can be used to delimit style rules for +specific media types.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSSMediaRule : CSSRule {
+  readonly attribute stylesheets::MediaList  media;
+  readonly attribute CSSRuleList      cssRules;
+  unsigned long      insertRule(in DOMString rule, 
+                                in unsigned long index)
+                                        raises(DOMException);
+  void               deleteRule(in unsigned long index)
+                                        raises(DOMException);
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
cssRules of type CSSRuleList, +readonly
+ +
A list of all CSS rules contained within the media block.
+
+ +
media of type +stylesheets::MediaList, readonly
+ +
A list of +media types for this rule.
+
+
+
+ +
Methods
+ +
+
+
deleteRule
+ +
+
Used to delete a rule from the media block. + +
Parameters + +
+
+
index of type +unsigned long
+ +
The index within the media block's rule collection of the rule +to remove.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INDEX_SIZE_ERR: Raised if the specified index does not +correspond to a rule in the media rule list.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is +readonly.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
insertRule
+ +
+
Used to insert a new rule into the media block. + + +
Parameters + +
+
+
rule of type +DOMString
+ +
The parsable text representing the rule. For rule sets this +contains both the selector and the style declaration. For at-rules, +this specifies both the at-identifier and the rule content.
+
+ +
index of type +unsigned long
+ +
The index within the media block's rule collection of the rule +before which to insert the specified rule. If the specified index +is equal to the length of the media blocks's rule collection, the +rule will be added to the end of the media block.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

unsigned long

+
+

The index within the media block's rule collection of the newly +inserted rule.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at +the specified index, e.g., if an @import rule is +inserted after a standard rule set or other at-rule.

+ +

INDEX_SIZE_ERR: Raised if the specified index is not a valid +insertion point.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is +readonly.

+ +

SYNTAX_ERR: Raised if the specified rule has a syntax error and +is unparsable.

+
+
+
+ + +
+ + +
+
+
+
+
+ +
Interface CSSFontFaceRule (introduced +in DOM Level 2)
+ +
+

The CSSFontFaceRule interface represents a +@font-face rule in a CSS style sheet. The +@font-face rule is used to hold a set of font +descriptions.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSSFontFaceRule : CSSRule {
+  readonly attribute CSSStyleDeclaration  style;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
style of type CSSStyleDeclaration, +readonly
+ +
The +declaration-block of this rule.
+
+
+
+
+
+ +
Interface CSSPageRule (introduced in DOM Level 2)
+ +
+

The CSSPageRule interface represents a +@page rule within a CSS style sheet. The +@page rule is used to specify the dimensions, +orientation, margins, etc. of a page box for paged media.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSSPageRule : CSSRule {
+           attribute DOMString        selectorText;
+                                        // raises(DOMException) on setting
+
+  readonly attribute CSSStyleDeclaration  style;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
selectorText of type +DOMString
+ +
The parsable textual representation of the page selector for +the rule.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the specified CSS string value has a +syntax error and is unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is +readonly.

+
+
+
+ + +
+ +
style of type CSSStyleDeclaration, +readonly
+ +
The +declaration-block of this rule.
+
+
+
+
+
+ +
Interface CSSImportRule (introduced in +DOM Level 2)
+ +
+

The CSSImportRule interface represents a +@import rule within a CSS style sheet. The +@import rule is used to import style rules from other +style sheets.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSSImportRule : CSSRule {
+  readonly attribute DOMString        href;
+  readonly attribute stylesheets::MediaList  media;
+  readonly attribute CSSStyleSheet    styleSheet;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
href of type +DOMString, readonly
+ +
The location of the style sheet to be imported. The attribute +will not contain the "url(...)" specifier around the +URI.
+
+ +
media of type +stylesheets::MediaList, readonly
+ +
A list of media types for which this style sheet may be +used.
+
+ +
styleSheet of type +CSSStyleSheet, +readonly
+ +
The style sheet referred to by this rule, if it has been +loaded. The value of this attribute is null if the +style sheet has not yet been loaded or if it will not be loaded +(e.g. if the style sheet is for a media type not supported by the +user agent).
+
+
+
+
+
+ +
Interface CSSCharsetRule (introduced in +DOM Level 2)
+ +
+

The CSSCharsetRule interface represents a +@charset rule in a CSS style sheet. The value of the +encoding attribute does not affect the encoding of +text data in the DOM objects; this encoding is always UTF-16. After +a stylesheet is loaded, the value of the encoding +attribute is the value found in the @charset rule. If +there was no @charset in the original document, then +no CSSCharsetRule is created. The value of the +encoding attribute may also be used as a hint for the +encoding used on serialization of the style sheet.

+ +

The value of the +@charset rule (and therefore of the +CSSCharsetRule) may not correspond to the encoding the +document actually came in; character encoding information e.g. in +an HTTP header, has priority (see +CSS document representation) but this is not reflected +in the CSSCharsetRule.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSSCharsetRule : CSSRule {
+           attribute DOMString        encoding;
+                                        // raises(DOMException) on setting
+
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
encoding of type +DOMString
+ +
The encoding information used in this @charset +rule.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the specified encoding value has a syntax +error and is unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this encoding rule is +readonly.

+
+
+
+ + +
+
+
+
+
+ +
Interface CSSUnknownRule (introduced in +DOM Level 2)
+ +
+

The CSSUnknownRule interface represents an at-rule +not supported by this user agent.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSSUnknownRule : CSSRule {
+};
+
+
+ +
+
+
+
+ +
Interface CSSStyleDeclaration +(introduced in DOM Level 2)
+ +
+

The CSSStyleDeclaration interface represents a +single +CSS declaration block. This interface may be used to +determine the style properties currently set in a block or to set +style properties explicitly within the block.

+ +

While an implementation may not recognize all CSS properties +within a CSS declaration block, it is expected to provide access to +all specified properties in the style sheet through the +CSSStyleDeclaration interface. Furthermore, +implementations that support a specific level of CSS should +correctly handle +CSS shorthand properties for that level. For a further +discussion of shorthand properties, see the CSS2Properties +interface.

+ +

This interface is also used to provide a read-only access +to the +computed values of an element. See also the ViewCSS interface.

+ +

Note: The CSS Object Model doesn't provide an access to +the +specified or +actual values of the CSS cascade.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSSStyleDeclaration {
+           attribute DOMString        cssText;
+                                        // raises(DOMException) on setting
+
+  DOMString          getPropertyValue(in DOMString propertyName);
+  CSSValue           getPropertyCSSValue(in DOMString propertyName);
+  DOMString          removeProperty(in DOMString propertyName)
+                                        raises(DOMException);
+  DOMString          getPropertyPriority(in DOMString propertyName);
+  void               setProperty(in DOMString propertyName, 
+                                 in DOMString value, 
+                                 in DOMString priority)
+                                        raises(DOMException);
+  readonly attribute unsigned long    length;
+  DOMString          item(in unsigned long index);
+  readonly attribute CSSRule          parentRule;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
cssText of type +DOMString
+ +
The parsable textual representation of the declaration block +(excluding the surrounding curly braces). Setting this attribute +will result in the parsing of the new value and resetting of all +the properties in the declaration block including the removal or +addition of properties.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the specified CSS string value has a +syntax error and is unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is +readonly or a property is readonly.

+
+
+
+ + +
+ +
length of type +unsigned long, readonly
+ +
The number of properties that have been explicitly set in this +declaration block. The range of valid indices is 0 to length-1 +inclusive.
+
+ +
parentRule of +type CSSRule, +readonly
+ +
The CSS rule that contains this declaration block or +null if this CSSStyleDeclaration is not +attached to a CSSRule.
+
+
+
+ +
Methods
+ +
+
+
getPropertyCSSValue
+ +
+
Used to retrieve the object representation of +the value of a CSS property if it has been explicitly set within +this declaration block. This method returns null if +the property is a +shorthand property. Shorthand property values can only +be accessed and modified as strings, using the +getPropertyValue and setProperty methods. + + +
Parameters + +
+
+
propertyName of type +DOMString
+ +
The name of the CSS property. See the +CSS property index.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

CSSValue

+
+

Returns the value of the property if it has been explicitly set +for this declaration block. Returns null if the +property has not been set.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
getPropertyPriority
+ +
+
Used to retrieve the priority of a CSS property +(e.g. the "important" qualifier) if the property has +been explicitly set in this declaration block. + +
Parameters + +
+
+
propertyName of type +DOMString
+ +
The name of the CSS property. See the +CSS property index.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

DOMString

+
+

A string representing the priority (e.g. +"important") if one exists. The empty string if none +exists.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
getPropertyValue
+ +
+
Used to retrieve the value of a CSS property if +it has been explicitly set within this declaration block. + +
Parameters + +
+
+
propertyName of type +DOMString
+ +
The name of the CSS property. See the +CSS property index.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

DOMString

+
+

Returns the value of the property if it has been explicitly set +for this declaration block. Returns the empty string if the +property has not been set.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
item
+ +
+
Used to retrieve the properties that have been +explicitly set in this declaration block. The order of the +properties retrieved using this method does not have to be the +order in which they were set. This method can be used to iterate +over all properties in this declaration block. + +
Parameters + +
+
+
index of type +unsigned long
+ +
Index of the property name to retrieve.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

DOMString

+
+

The name of the property at this ordinal position. The empty +string if no property exists at this position.

+
+
+
+ + +
No Exceptions
+
+ + +
+ +
removeProperty
+ +
+
Used to remove a CSS property if it has been +explicitly set within this declaration block. + +
Parameters + +
+
+
propertyName of type +DOMString
+ +
The name of the CSS property. See the +CSS property index.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

DOMString

+
+

Returns the value of the property if it has been explicitly set +for this declaration block. Returns the empty string if the +property has not been set or the property name does not correspond +to a known CSS property.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is +readonly or the property is readonly.

+
+
+
+ + +
+ + +
+ +
setProperty
+ +
+
Used to set a property value and priority +within this declaration block. + +
Parameters + +
+
+
propertyName of type +DOMString
+ +
The name of the CSS property. See the +CSS property index.
+
+ +
value of type +DOMString
+ +
The new value of the property.
+
+ +
priority of type +DOMString
+ +
The new priority of the property (e.g. +"important").
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the specified value has a syntax error and +is unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is +readonly or the property is readonly.

+
+
+
+ + +
No Return Value
+
+ + +
+
+
+
+
+ +
Interface CSSValue (introduced in DOM Level 2)
+ +
+

The CSSValue interface represents a simple or a +complex value. A CSSValue object only occurs in a +context of a CSS property.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSSValue {
+
+  // UnitTypes
+  const unsigned short      CSS_INHERIT                    = 0;
+  const unsigned short      CSS_PRIMITIVE_VALUE            = 1;
+  const unsigned short      CSS_VALUE_LIST                 = 2;
+  const unsigned short      CSS_CUSTOM                     = 3;
+
+           attribute DOMString        cssText;
+                                        // raises(DOMException) on setting
+
+  readonly attribute unsigned short   cssValueType;
+};
+
+
+ +
+
+ +
Definition group UnitTypes
+ +
+

An integer indicating which type of unit applies to the +value.

+ +
+
Defined Constants
+ +
+
+
CSS_CUSTOM
+ +
The value is a custom value.
+ +
CSS_INHERIT
+ +
The value is inherited and the cssText contains +"inherit".
+ +
CSS_PRIMITIVE_VALUE
+ +
The value is a primitive value and an instance of the CSSPrimitiveValue +interface can be obtained by using binding-specific casting methods +on this instance of the CSSValue interface.
+ +
CSS_VALUE_LIST
+ +
The value is a CSSValue list and an instance of +the CSSValueList +interface can be obtained by using binding-specific casting methods +on this instance of the CSSValue interface.
+
+
+
+
+ +
Attributes
+ +
+
+
cssText of type +DOMString
+ +
A string representation of the current value.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the specified CSS string value has a +syntax error (according to the attached property) or is +unparsable.

+ +

INVALID_MODIFICATION_ERR: Raised if the specified CSS string +value represents a different type of values than the values allowed +by the CSS property.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this value is +readonly.

+
+
+
+ + +
+ +
cssValueType of type +unsigned short, readonly
+ +
A code defining the type of the value as defined above.
+
+
+
+
+
+ +
Interface CSSPrimitiveValue +(introduced in DOM Level 2)
+ +
+

The CSSPrimitiveValue interface represents a single + +CSS value. This interface may be used to determine the +value of a specific style property currently set in a block or to +set a specific style property explicitly within the block. An +instance of this interface might be obtained from the +getPropertyCSSValue method of the CSSStyleDeclaration +interface. A CSSPrimitiveValue object only occurs in a +context of a CSS property.

+ +

Conversions are allowed between absolute values (from +millimeters to centimeters, from degrees to radians, and so on) but +not between relative values. (For example, a pixel value cannot be +converted to a centimeter value.) Percentage values can't be +converted since they are relative to the parent value (or another +property value). There is one exception for color percentage +values: since a color percentage value is relative to the range +0-255, a color percentage value can be converted to a number; (see +also the RGBColor +interface).

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSSPrimitiveValue : CSSValue {
+
+  // UnitTypes
+  const unsigned short      CSS_UNKNOWN                    = 0;
+  const unsigned short      CSS_NUMBER                     = 1;
+  const unsigned short      CSS_PERCENTAGE                 = 2;
+  const unsigned short      CSS_EMS                        = 3;
+  const unsigned short      CSS_EXS                        = 4;
+  const unsigned short      CSS_PX                         = 5;
+  const unsigned short      CSS_CM                         = 6;
+  const unsigned short      CSS_MM                         = 7;
+  const unsigned short      CSS_IN                         = 8;
+  const unsigned short      CSS_PT                         = 9;
+  const unsigned short      CSS_PC                         = 10;
+  const unsigned short      CSS_DEG                        = 11;
+  const unsigned short      CSS_RAD                        = 12;
+  const unsigned short      CSS_GRAD                       = 13;
+  const unsigned short      CSS_MS                         = 14;
+  const unsigned short      CSS_S                          = 15;
+  const unsigned short      CSS_HZ                         = 16;
+  const unsigned short      CSS_KHZ                        = 17;
+  const unsigned short      CSS_DIMENSION                  = 18;
+  const unsigned short      CSS_STRING                     = 19;
+  const unsigned short      CSS_URI                        = 20;
+  const unsigned short      CSS_IDENT                      = 21;
+  const unsigned short      CSS_ATTR                       = 22;
+  const unsigned short      CSS_COUNTER                    = 23;
+  const unsigned short      CSS_RECT                       = 24;
+  const unsigned short      CSS_RGBCOLOR                   = 25;
+
+  readonly attribute unsigned short   primitiveType;
+  void               setFloatValue(in unsigned short unitType, 
+                                   in float floatValue)
+                                        raises(DOMException);
+  float              getFloatValue(in unsigned short unitType)
+                                        raises(DOMException);
+  void               setStringValue(in unsigned short stringType, 
+                                    in DOMString stringValue)
+                                        raises(DOMException);
+  DOMString          getStringValue()
+                                        raises(DOMException);
+  Counter            getCounterValue()
+                                        raises(DOMException);
+  Rect               getRectValue()
+                                        raises(DOMException);
+  RGBColor           getRGBColorValue()
+                                        raises(DOMException);
+};
+
+
+ +
+
+ +
Definition group UnitTypes
+ +
+

An integer indicating which type of unit applies to the +value.

+ +
+
Defined Constants
+ +
+
+
CSS_ATTR
+ +
The value is a +attribute function. The value can be obtained by using +the getStringValue method.
+ +
CSS_CM
+ +
The value is a +length (cm). The value can be obtained by using the +getFloatValue method.
+ +
CSS_COUNTER
+ +
The value is a +counter or counters function. The value can be +obtained by using the getCounterValue method.
+ +
CSS_DEG
+ +
The value is an +angle (deg). The value can be obtained by using the +getFloatValue method.
+ +
CSS_DIMENSION
+ +
The value is a number with an unknown dimension. The value can +be obtained by using the getFloatValue method.
+ +
CSS_EMS
+ +
The value is a +length (ems). The value can be obtained by using the +getFloatValue method.
+ +
CSS_EXS
+ +
The value is a +length (exs). The value can be obtained by using the +getFloatValue method.
+ +
CSS_GRAD
+ +
The value is an +angle (grad). The value can be obtained by using the +getFloatValue method.
+ +
CSS_HZ
+ +
The value is a +frequency (Hz). The value can be obtained by using the +getFloatValue method.
+ +
CSS_IDENT
+ +
The value is an +identifier. The value can be obtained by using the +getStringValue method.
+ +
CSS_IN
+ +
The value is a +length (in). The value can be obtained by using the +getFloatValue method.
+ +
CSS_KHZ
+ +
The value is a +frequency (kHz). The value can be obtained by using +the getFloatValue method.
+ +
CSS_MM
+ +
The value is a +length (mm). The value can be obtained by using the +getFloatValue method.
+ +
CSS_MS
+ +
The value is a +time (ms). The value can be obtained by using the +getFloatValue method.
+ +
CSS_NUMBER
+ +
The value is a simple +number. The value can be obtained by using the +getFloatValue method.
+ +
CSS_PC
+ +
The value is a +length (pc). The value can be obtained by using the +getFloatValue method.
+ +
CSS_PERCENTAGE
+ +
The value is a +percentage. The value can be obtained by using the +getFloatValue method.
+ +
CSS_PT
+ +
The value is a +length (pt). The value can be obtained by using the +getFloatValue method.
+ +
CSS_PX
+ +
The value is a +length (px). The value can be obtained by using the +getFloatValue method.
+ +
CSS_RAD
+ +
The value is an +angle (rad). The value can be obtained by using the +getFloatValue method.
+ +
CSS_RECT
+ +
The value is a +rect function. The value can be obtained by using the +getRectValue method.
+ +
CSS_RGBCOLOR
+ +
The value is a +RGB color. The value can be obtained by using the +getRGBColorValue method.
+ +
CSS_S
+ +
The value is a +time (s). The value can be obtained by using the +getFloatValue method.
+ +
CSS_STRING
+ +
The value is a +STRING. The value can be obtained by using the +getStringValue method.
+ +
CSS_UNKNOWN
+ +
The value is not a recognized CSS2 value. The value can only be +obtained by using the cssText attribute.
+ +
CSS_URI
+ +
The value is a +URI. The value can be obtained by using the +getStringValue method.
+
+
+
+
+ +
Attributes
+ +
+
+
primitiveType +of type unsigned short, readonly
+ +
The type of the value as defined by the constants specified +above.
+
+
+
+ +
Methods
+ +
+
+
getCounterValue
+ +
+
This method is used to get the Counter value. +If this CSS value doesn't contain a counter value, a +DOMException is raised. Modification to the +corresponding style property can be achieved using the Counter interface. + +
Return Value + +
+ + + + + +
+

Counter

+
+

The Counter value.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a +Counter value (e.g. this is not CSS_COUNTER).

+
+
+
+ + +
No Parameters
+
+ + +
+ +
getFloatValue
+ +
+
This method is used to get a float value in a +specified unit. If this CSS value doesn't contain a float value or +can't be converted into the specified unit, a +DOMException is raised. + +
Parameters + +
+
+
unitType of type +unsigned short
+ +
A unit code to get the float value. The unit code can only be a +float unit type (i.e. CSS_NUMBER, +CSS_PERCENTAGE, CSS_EMS, +CSS_EXS, CSS_PX, CSS_CM, +CSS_MM, CSS_IN, CSS_PT, +CSS_PC, CSS_DEG, CSS_RAD, +CSS_GRAD, CSS_MS, CSS_S, +CSS_HZ, CSS_KHZ, +CSS_DIMENSION).
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

float

+
+

The float value in the specified unit.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a +float value or if the float value can't be converted into the +specified unit.

+
+
+
+ + +
+ + +
+ +
getRGBColorValue
+ +
+
This method is used to get the RGB color. If +this CSS value doesn't contain a RGB color value, a +DOMException is raised. Modification to the +corresponding style property can be achieved using the RGBColor interface. + +
Return Value + +
+ + + + + +
+

RGBColor

+
+

the RGB color value.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_ACCESS_ERR: Raised if the attached property can't return +a RGB color value (e.g. this is not CSS_RGBCOLOR).

+
+
+
+ + +
No Parameters
+
+ + +
+ +
getRectValue
+ +
+
This method is used to get the Rect value. If +this CSS value doesn't contain a rect value, a +DOMException is raised. Modification to the +corresponding style property can be achieved using the Rect interface. + +
Return Value + +
+ + + + + +
+

Rect

+
+

The Rect value.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a +Rect value. (e.g. this is not CSS_RECT).

+
+
+
+ + +
No Parameters
+
+ + +
+ +
getStringValue
+ +
+
This method is used to get the string value. If +the CSS value doesn't contain a string value, a +DOMException is raised. + +

Note: Some properties (like +'font-family' or +'voice-family') convert a whitespace separated list of idents +to a string.

+ +
Return Value + +
+ + + + + +
+

DOMString

+
+

The string value in the current unit. The current +primitiveType can only be a string unit type (i.e. +CSS_STRING, CSS_URI, +CSS_IDENT and CSS_ATTR).

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a +string value.

+
+
+
+ + +
No Parameters
+
+ + +
+ +
setFloatValue
+ +
+
A method to set the float value with a +specified unit. If the property attached with this value can not +accept the specified unit or the float value, the value will be +unchanged and a DOMException will be raised. + +
Parameters + +
+
+
unitType of type +unsigned short
+ +
A unit code as defined above. The unit code can only be a float +unit type (i.e. CSS_NUMBER, +CSS_PERCENTAGE, CSS_EMS, +CSS_EXS, CSS_PX, CSS_CM, +CSS_MM, CSS_IN, CSS_PT, +CSS_PC, CSS_DEG, CSS_RAD, +CSS_GRAD, CSS_MS, CSS_S, +CSS_HZ, CSS_KHZ, +CSS_DIMENSION).
+
+ +
floatValue of type +float
+ +
The new float value.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_ACCESS_ERR: Raised if the attached property doesn't +support the float value or the unit type.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
setStringValue
+ +
+
A method to set the string value with the +specified unit. If the property attached to this value can't accept +the specified unit or the string value, the value will be unchanged +and a DOMException will be raised. + +
Parameters + +
+
+
stringType of type +unsigned short
+ +
A string code as defined above. The string code can only be a +string unit type (i.e. CSS_STRING, +CSS_URI, CSS_IDENT, and +CSS_ATTR).
+
+ +
stringValue of type +DOMString
+ +
The new string value.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a +string value or if the string value can't be converted into the +specified unit.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
No Return Value
+
+ + +
+
+
+
+
+ +
Interface CSSValueList (introduced in DOM Level 2)
+ +
+

The CSSValueList interface provides the abstraction +of an ordered collection of CSS values.

+ +

Some properties allow an empty list into their syntax. In that +case, these properties take the none identifier. So, +an empty list means that the property has the value +none.

+ +

The items in the CSSValueList are accessible via an +integral index, starting from 0.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSSValueList : CSSValue {
+  readonly attribute unsigned long    length;
+  CSSValue           item(in unsigned long index);
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
length of type +unsigned long, readonly
+ +
The number of CSSValues in the +list. The range of valid values of the indices is 0 to +length-1 inclusive.
+
+
+
+ +
Methods
+ +
+
+
item
+ +
+
Used to retrieve a CSSValue by ordinal +index. The order in this collection represents the order of the +values in the CSS style property. If index is greater than or equal +to the number of values in the list, this returns +null. + +
Parameters + +
+
+
index of type +unsigned long
+ +
Index into the collection.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

CSSValue

+
+

The CSSValue at the +index position in the CSSValueList, or +null if that is not a valid index.

+
+
+
+ + +
No Exceptions
+
+ + +
+
+
+
+
+ +
Interface RGBColor (introduced in DOM Level 2)
+ +
+

The RGBColor interface is used to represent any +RGB color value. This interface reflects the values in +the underlying style property. Hence, modifications made to the CSSPrimitiveValue +objects modify the style property.

+ +

A specified RGB color is not clipped (even if the number is +outside the range 0-255 or 0%-100%). A computed RGB color is +clipped depending on the device.

+ +

Even if a style sheet can only contain an integer for a color +value, the internal storage of this integer is a float, and this +can be used as a float in the specified or the computed style.

+ +

A color percentage value can always be converted to a number and +vice versa.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface RGBColor {
+  readonly attribute CSSPrimitiveValue  red;
+  readonly attribute CSSPrimitiveValue  green;
+  readonly attribute CSSPrimitiveValue  blue;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
blue of type CSSPrimitiveValue, +readonly
+ +
This attribute is used for the blue value of the RGB +color.
+
+ +
green of type CSSPrimitiveValue, +readonly
+ +
This attribute is used for the green value of the RGB +color.
+
+ +
red of type CSSPrimitiveValue, +readonly
+ +
This attribute is used for the red value of the RGB +color.
+
+
+
+
+
+ +
Interface Rect (introduced in DOM Level 2)
+ +
+

The Rect interface is used to represent any +rect value. This interface reflects the values in the +underlying style property. Hence, modifications made to the CSSPrimitiveValue +objects modify the style property.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface Rect {
+  readonly attribute CSSPrimitiveValue  top;
+  readonly attribute CSSPrimitiveValue  right;
+  readonly attribute CSSPrimitiveValue  bottom;
+  readonly attribute CSSPrimitiveValue  left;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
bottom of type CSSPrimitiveValue, +readonly
+ +
This attribute is used for the bottom of the rect.
+
+ +
left of type CSSPrimitiveValue, +readonly
+ +
This attribute is used for the left of the rect.
+
+ +
right of type CSSPrimitiveValue, +readonly
+ +
This attribute is used for the right of the rect.
+
+ +
top of type CSSPrimitiveValue, +readonly
+ +
This attribute is used for the top of the rect.
+
+
+
+
+
+ +
Interface Counter (introduced in DOM Level 2)
+ +
+

The Counter interface is used to represent any +counter or counters function value. This interface +reflects the values in the underlying style property.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface Counter {
+  readonly attribute DOMString        identifier;
+  readonly attribute DOMString        listStyle;
+  readonly attribute DOMString        separator;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
identifier of type +DOMString, readonly
+ +
This attribute is used for the identifier of the counter.
+
+ +
listStyle of type +DOMString, readonly
+ +
This attribute is used for the style of the list.
+
+ +
separator of type +DOMString, readonly
+ +
This attribute is used for the separator of the nested +counters.
+
+
+
+
+
+
+ +
+ +

2.2.1. Override +and computed style sheet

+ +
+
Interface ViewCSS (introduced in DOM Level 2)
+ +
+

This interface represents a CSS view. The +getComputedStyle method provides a read only +access to the +computed values of an element.

+ +

The expectation is that an instance of the ViewCSS +interface can be obtained by using binding-specific casting methods +on an instance of the AbstractView interface.

+ +

Since a computed style is related to an Element +node, if this element is removed from the document, the associated +CSSStyleDeclaration +and CSSValue +related to this declaration are no longer valid.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface ViewCSS : views::AbstractView {
+  CSSStyleDeclaration getComputedStyle(in Element elt, 
+                                       in DOMString pseudoElt);
+};
+
+
+ +
+
+ +
Methods
+ +
+
+
getComputedStyle
+ +
+
This method is used to get the computed style +as it is defined in [CSS2]. + +
Parameters + +
+
+
elt of type +Element
+ +
The element whose style is to be computed. This parameter +cannot be null.
+
+ +
pseudoElt of type +DOMString
+ +
The pseudo-element or null if none.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

CSSStyleDeclaration

+
+

The computed style. The CSSStyleDeclaration +is read-only and contains only absolute values.

+
+
+
+ + +
No Exceptions
+
+ + +
+
+
+
+
+ +
Interface DocumentCSS (introduced in DOM Level 2)
+ +
+

This interface represents a document with a CSS view.

+ +

The getOverrideStyle method provides a mechanism +through which a DOM author could effect immediate change to the +style of an element without modifying the explicitly linked style +sheets of a document or the inline style of elements in the style +sheets. This style sheet comes after the author style sheet in the +cascade algorithm and is called override style sheet. The +override style sheet takes precedence over author style sheets. An +"!important" declaration still takes precedence over a normal +declaration. Override, author, and user style sheets all may +contain "!important" declarations. User "!important" rules take +precedence over both override and author "!important" rules, and +override "!important" rules take precedence over author +"!important" rules.

+ +

The expectation is that an instance of the +DocumentCSS interface can be obtained by using +binding-specific casting methods on an instance of the +Document interface.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface DocumentCSS : stylesheets::DocumentStyle {
+  CSSStyleDeclaration getOverrideStyle(in Element elt, 
+                                       in DOMString pseudoElt);
+};
+
+
+ +
+
+ +
Methods
+ +
+
+
getOverrideStyle
+ +
+
This method is used to retrieve the override +style declaration for a specified element and a specified +pseudo-element. + +
Parameters + +
+
+
elt of type +Element
+ +
The element whose style is to be modified. This parameter +cannot be null.
+
+ +
pseudoElt of type +DOMString
+ +
The pseudo-element or null if none.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

CSSStyleDeclaration

+
+

The override style declaration.

+
+
+
+ + +
No Exceptions
+
+ + +
+
+
+
+
+
+
+ + +
+ +

2.2.2. Style sheet +creation

+ +
+
Interface DOMImplementationCSS +(introduced in DOM Level 2)
+ +
+

This interface allows the DOM user to create a CSSStyleSheet +outside the context of a document. There is no way to associate the +new CSSStyleSheet +with a document in DOM Level 2.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM   Level 2:
+interface DOMImplementationCSS : DOMImplementation {
+  CSSStyleSheet      createCSSStyleSheet(in DOMString title, 
+                                         in DOMString media)
+                                        raises(DOMException);
+};
+
+
+ +
+
+ +
Methods
+ +
+
+
createCSSStyleSheet
+ +
+
Creates a new CSSStyleSheet. + +
Parameters + +
+
+
title of type +DOMString
+ +
The advisory title. See also the Style Sheet +Interfaces section.
+
+ +
media of type +DOMString
+ +
The comma-separated list of media associated with the new style +sheet. See also the Style Sheet +Interfaces section.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

CSSStyleSheet

+
+

A new CSS style sheet.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the specified media string value has a +syntax error and is unparsable.

+
+
+
+ + +
+ + +
+
+
+
+
+
+
+ + +
+ +

2.2.3. Element with CSS +inline style

+ +
+
Interface ElementCSSInlineStyle +(introduced in DOM Level 2)
+ +
+

Inline style information attached to elements is exposed through +the style attribute. This represents the contents of +the +STYLE attribute for HTML elements (or elements in +other schemas or DTDs which use the STYLE attribute in the same +way). The expectation is that an instance of the +ElementCSSInlineStyle interface can be obtained by using +binding-specific casting methods on an instance of the Element +interface when the element supports inline CSS style +informations.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface ElementCSSInlineStyle {
+  readonly attribute CSSStyleDeclaration  style;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
style of type CSSStyleDeclaration, +readonly
+ +
The style attribute.
+
+
+
+
+
+
+
+ +
+ + +
+ +

2.3. CSS2 Extended +Interface

+ +

The interface found within this section are not mandatory. A DOM +application may use the hasFeature(feature, version) +method of the DOMImplementation interface with +parameter values "CSS2" and "2.0" (respectively) to determine +whether or not this module is supported by the implementation. In +order to fully support this module, an implementation must also +support the "CSS" feature defined defined in CSS Fundamental Interfaces. +Please refer to additional information about +conformance in the DOM Level 2 Core specification [DOM Level 2 +Core].

+ +
+
Interface CSS2Properties (introduced in +DOM Level 2)
+ +
+

The CSS2Properties interface represents a +convenience mechanism for retrieving and setting properties within +a CSSStyleDeclaration. +The attributes of this interface correspond to all the +properties specified in CSS2. Getting an attribute of this +interface is equivalent to calling the +getPropertyValue method of the CSSStyleDeclaration +interface. Setting an attribute of this interface is equivalent to +calling the setProperty method of the CSSStyleDeclaration +interface.

+ +

A conformant implementation of the CSS module is not required to +implement the CSS2Properties interface. If an +implementation does implement this interface, the expectation is +that language-specific methods can be used to cast from an instance +of the CSSStyleDeclaration +interface to the CSS2Properties interface.

+ +

If an implementation does implement this interface, it is +expected to understand the specific syntax of the shorthand +properties, and apply their semantics; when the margin +property is set, for example, the marginTop, +marginRight, marginBottom and +marginLeft properties are actually being set by the +underlying implementation.

+ +

When dealing with CSS "shorthand" properties, the shorthand +properties should be decomposed into their component longhand +properties as appropriate, and when querying for their value, the +form returned should be the shortest form exactly equivalent to the +declarations made in the ruleset. However, if there is no shorthand +declaration that could be added to the ruleset without changing in +any way the rules already declared in the ruleset (i.e., by adding +longhand rules that were previously not declared in the ruleset), +then the empty string should be returned for the shorthand +property.

+ +

For example, querying for the font property should +not return "normal normal normal 14pt/normal Arial, sans-serif", +when "14pt Arial, sans-serif" suffices. (The normals are initial +values, and are implied by use of the longhand property.)

+ +

If the values for all the longhand properties that compose a +particular string are the initial values, then a string consisting +of all the initial values should be returned (e.g. a +border-width value of "medium" should be returned as +such, not as "").

+ +

For some shorthand properties that take missing values from +other sides, such as the margin, padding, +and border-[width|style|color] properties, the minimum +number of sides possible should be used; i.e., "0px 10px" will be +returned instead of "0px 10px 0px 10px".

+ +

If the value of a shorthand property can not be decomposed into +its component longhand properties, as is the case for the +font property with a value of "menu", querying for the +values of the component longhand properties should return the empty +string.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface CSS2Properties {
+           attribute DOMString        azimuth;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        background;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        backgroundAttachment;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        backgroundColor;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        backgroundImage;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        backgroundPosition;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        backgroundRepeat;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        border;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderCollapse;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderColor;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderSpacing;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderStyle;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderTop;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderRight;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderBottom;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderLeft;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderTopColor;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderRightColor;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderBottomColor;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderLeftColor;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderTopStyle;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderRightStyle;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderBottomStyle;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderLeftStyle;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderTopWidth;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderRightWidth;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderBottomWidth;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderLeftWidth;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        borderWidth;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        bottom;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        captionSide;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        clear;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        clip;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        color;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        content;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        counterIncrement;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        counterReset;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        cue;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        cueAfter;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        cueBefore;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        cursor;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        direction;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        display;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        elevation;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        emptyCells;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        cssFloat;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        font;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        fontFamily;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        fontSize;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        fontSizeAdjust;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        fontStretch;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        fontStyle;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        fontVariant;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        fontWeight;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        height;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        left;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        letterSpacing;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        lineHeight;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        listStyle;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        listStyleImage;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        listStylePosition;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        listStyleType;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        margin;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        marginTop;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        marginRight;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        marginBottom;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        marginLeft;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        markerOffset;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        marks;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        maxHeight;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        maxWidth;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        minHeight;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        minWidth;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        orphans;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        outline;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        outlineColor;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        outlineStyle;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        outlineWidth;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        overflow;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        padding;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        paddingTop;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        paddingRight;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        paddingBottom;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        paddingLeft;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        page;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        pageBreakAfter;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        pageBreakBefore;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        pageBreakInside;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        pause;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        pauseAfter;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        pauseBefore;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        pitch;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        pitchRange;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        playDuring;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        position;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        quotes;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        richness;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        right;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        size;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        speak;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        speakHeader;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        speakNumeral;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        speakPunctuation;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        speechRate;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        stress;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        tableLayout;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        textAlign;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        textDecoration;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        textIndent;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        textShadow;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        textTransform;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        top;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        unicodeBidi;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        verticalAlign;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        visibility;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        voiceFamily;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        volume;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        whiteSpace;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        widows;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        width;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        wordSpacing;
+                                        // raises(DOMException) on setting
+
+           attribute DOMString        zIndex;
+                                        // raises(DOMException) on setting
+
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
azimuth of type +DOMString
+ +
See the +azimuth property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
background of type +DOMString
+ +
See the +background property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
backgroundAttachment +of type DOMString
+ +
See the +background-attachment property definition in +CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
backgroundColor +of type DOMString
+ +
See the +background-color property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
backgroundImage +of type DOMString
+ +
See the +background-image property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
backgroundPosition +of type DOMString
+ +
See the +background-position property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
backgroundRepeat +of type DOMString
+ +
See the +background-repeat property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
border of type +DOMString
+ +
See the +border property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderBottom of +type DOMString
+ +
See the +border-bottom property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderBottomColor +of type DOMString
+ +
See the +border-bottom-color property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderBottomStyle +of type DOMString
+ +
See the +border-bottom-style property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderBottomWidth +of type DOMString
+ +
See the +border-bottom-width property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderCollapse +of type DOMString
+ +
See the +border-collapse property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderColor of +type DOMString
+ +
See the +border-color property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderLeft of type +DOMString
+ +
See the +border-left property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderLeftColor +of type DOMString
+ +
See the +border-left-color property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderLeftStyle +of type DOMString
+ +
See the +border-left-style property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderLeftWidth +of type DOMString
+ +
See the +border-left-width property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderRight of +type DOMString
+ +
See the +border-right property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderRightColor +of type DOMString
+ +
See the +border-right-color property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderRightStyle +of type DOMString
+ +
See the +border-right-style property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderRightWidth +of type DOMString
+ +
See the +border-right-width property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderSpacing of +type DOMString
+ +
See the +border-spacing property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderStyle of +type DOMString
+ +
See the +border-style property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderTop of type +DOMString
+ +
See the +border-top property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderTopColor +of type DOMString
+ +
See the +border-top-color property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderTopStyle +of type DOMString
+ +
See the +border-top-style property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderTopWidth +of type DOMString
+ +
See the +border-top-width property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
borderWidth of +type DOMString
+ +
See the +border-width property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
bottom of type +DOMString
+ +
See the +bottom property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
captionSide of +type DOMString
+ +
See the +caption-side property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
clear of type +DOMString
+ +
See the +clear property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
clip of type +DOMString
+ +
See the +clip property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
color of type +DOMString
+ +
See the +color property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
content of type +DOMString
+ +
See the +content property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
counterIncrement +of type DOMString
+ +
See the +counter-increment property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
counterReset of +type DOMString
+ +
See the +counter-reset property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
cssFloat of type +DOMString
+ +
See the +float property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
cue of type +DOMString
+ +
See the +cue property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
cueAfter of type +DOMString
+ +
See the +cue-after property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
cueBefore of type +DOMString
+ +
See the +cue-before property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
cursor of type +DOMString
+ +
See the +cursor property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
direction of type +DOMString
+ +
See the +direction property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
display of type +DOMString
+ +
See the +display property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
elevation of type +DOMString
+ +
See the +elevation property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
emptyCells of type +DOMString
+ +
See the +empty-cells property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
font of type +DOMString
+ +
See the +font property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
fontFamily of type +DOMString
+ +
See the +font-family property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
fontSize of type +DOMString
+ +
See the +font-size property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
fontSizeAdjust +of type DOMString
+ +
See the +font-size-adjust property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
fontStretch of +type DOMString
+ +
See the +font-stretch property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
fontStyle of type +DOMString
+ +
See the +font-style property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
fontVariant of +type DOMString
+ +
See the +font-variant property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
fontWeight of type +DOMString
+ +
See the +font-weight property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
height of type +DOMString
+ +
See the +height property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
left of type +DOMString
+ +
See the +left property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
letterSpacing of +type DOMString
+ +
See the +letter-spacing property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
lineHeight of type +DOMString
+ +
See the +line-height property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
listStyle of type +DOMString
+ +
See the +list-style property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
listStyleImage +of type DOMString
+ +
See the +list-style-image property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
listStylePosition +of type DOMString
+ +
See the +list-style-position property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
listStyleType of +type DOMString
+ +
See the +list-style-type property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
margin of type +DOMString
+ +
See the +margin property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
marginBottom of +type DOMString
+ +
See the +margin-bottom property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
marginLeft of type +DOMString
+ +
See the +margin-left property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
marginRight of +type DOMString
+ +
See the +margin-right property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
marginTop of type +DOMString
+ +
See the +margin-top property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
markerOffset of +type DOMString
+ +
See the +marker-offset property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
marks of type +DOMString
+ +
See the +marks property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
maxHeight of type +DOMString
+ +
See the +max-height property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
maxWidth of type +DOMString
+ +
See the +max-width property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
minHeight of type +DOMString
+ +
See the +min-height property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
minWidth of type +DOMString
+ +
See the +min-width property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
orphans of type +DOMString
+ +
See the +orphans property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
outline of type +DOMString
+ +
See the +outline property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
outlineColor of +type DOMString
+ +
See the +outline-color property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
outlineStyle of +type DOMString
+ +
See the +outline-style property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
outlineWidth of +type DOMString
+ +
See the +outline-width property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
overflow of type +DOMString
+ +
See the +overflow property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
padding of type +DOMString
+ +
See the +padding property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
paddingBottom of +type DOMString
+ +
See the +padding-bottom property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
paddingLeft of +type DOMString
+ +
See the +padding-left property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
paddingRight of +type DOMString
+ +
See the +padding-right property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
paddingTop of type +DOMString
+ +
See the +padding-top property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
page of type +DOMString
+ +
See the +page property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
pageBreakAfter +of type DOMString
+ +
See the +page-break-after property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
pageBreakBefore +of type DOMString
+ +
See the +page-break-before property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
pageBreakInside +of type DOMString
+ +
See the +page-break-inside property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
pause of type +DOMString
+ +
See the +pause property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
pauseAfter of type +DOMString
+ +
See the +pause-after property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
pauseBefore of +type DOMString
+ +
See the +pause-before property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
pitch of type +DOMString
+ +
See the +pitch property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
pitchRange of type +DOMString
+ +
See the +pitch-range property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
playDuring of type +DOMString
+ +
See the +play-during property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
position of type +DOMString
+ +
See the +position property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
quotes of type +DOMString
+ +
See the +quotes property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
richness of type +DOMString
+ +
See the +richness property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
right of type +DOMString
+ +
See the +right property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
size of type +DOMString
+ +
See the +size property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
speak of type +DOMString
+ +
See the +speak property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
speakHeader of +type DOMString
+ +
See the +speak-header property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
speakNumeral of +type DOMString
+ +
See the +speak-numeral property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
speakPunctuation +of type DOMString
+ +
See the +speak-punctuation property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
speechRate of type +DOMString
+ +
See the +speech-rate property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
stress of type +DOMString
+ +
See the +stress property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
tableLayout of +type DOMString
+ +
See the +table-layout property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
textAlign of type +DOMString
+ +
See the +text-align property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
textDecoration +of type DOMString
+ +
See the +text-decoration property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
textIndent of type +DOMString
+ +
See the +text-indent property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
textShadow of type +DOMString
+ +
See the +text-shadow property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
textTransform of +type DOMString
+ +
See the +text-transform property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
top of type +DOMString
+ +
See the +top property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
unicodeBidi of +type DOMString
+ +
See the +unicode-bidi property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
verticalAlign of +type DOMString
+ +
See the +vertical-align property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
visibility of type +DOMString
+ +
See the +visibility property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
voiceFamily of +type DOMString
+ +
See the +voice-family property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
volume of type +DOMString
+ +
See the +volume property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
whiteSpace of type +DOMString
+ +
See the +white-space property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
widows of type +DOMString
+ +
See the +widows property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
width of type +DOMString
+ +
See the +width property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
wordSpacing of +type DOMString
+ +
See the +word-spacing property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+ +
zIndex of type +DOMString
+ +
See the +z-index property definition in CSS2.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the new value has a syntax error and is +unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is +readonly.

+
+
+
+ + +
+
+
+
+
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/style/def-index.html b/java/external/xdocs/dom/style/def-index.html new file mode 100644 index 0000000..dedc2f7 --- /dev/null +++ b/java/external/xdocs/dom/style/def-index.html @@ -0,0 +1,967 @@ + + + + +Index + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Index

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
appendMediumazimuth
 
backgroundbackgroundAttachmentbackgroundColor
backgroundImagebackgroundPositionbackgroundRepeat
blueborderborderBottom
borderBottomColorborderBottomStyleborderBottomWidth
borderCollapseborderColorborderLeft
borderLeftColorborderLeftStyleborderLeftWidth
borderRightborderRightColorborderRightStyle
borderRightWidthborderSpacingborderStyle
borderTopborderTopColorborderTopStyle
borderTopWidthborderWidthbottom 1, 2
 
captionSideCHARSET_RULEclear
clipcolorcontent
CountercounterIncrementcounterReset
createCSSStyleSheetCSS2 1, 2, 3CSS2Properties
CSS_ATTRCSS_CMCSS_COUNTER
CSS_CUSTOMCSS_DEGCSS_DIMENSION
CSS_EMSCSS_EXSCSS_GRAD
CSS_HZCSS_IDENTCSS_IN
CSS_INHERITCSS_KHZCSS_MM
CSS_MSCSS_NUMBERCSS_PC
CSS_PERCENTAGECSS_PRIMITIVE_VALUECSS_PT
CSS_PXCSS_RADCSS_RECT
CSS_RGBCOLORCSS_SCSS_STRING
CSS_UNKNOWNCSS_URICSS_VALUE_LIST
CSSCharsetRulecssFloatCSSFontFaceRule
CSSImportRuleCSSMediaRuleCSSPageRule
CSSPrimitiveValueCSSRuleCSSRuleList
cssRules 1, 2CSSStyleDeclarationCSSStyleRule
CSSStyleSheetcssText 1, 2, 3CSSUnknownRule
CSSValueCSSValueListcssValueType
cuecueAftercueBefore
cursor
 
deleteMediumdeleteRule 1, 2direction
disableddisplayDocumentCSS
DocumentStyleDOM Level 2 Core +1, 2, 3, 4DOM Level 2 +HTML 1, 2
DOM Level 2 Views 1, 2DOMImplementationCSS
 
ECMAScriptElementCSSInlineStyleelevation
emptyCellsencoding
 
fontFONT_FACE_RULEfontFamily
fontSizefontSizeAdjustfontStretch
fontStylefontVariantfontWeight
 
getComputedStylegetCounterValuegetFloatValue
getOverrideStylegetPropertyCSSValuegetPropertyPriority
getPropertyValuegetRectValuegetRGBColorValue
getStringValuegreen
 
heighthref 1, 2HTML4.0 1, 2
 
identifierIMPORT_RULEinsertRule 1, 2
item 1, 2, 3, 4, 5
 
Java
 
left 1, 2length +1, 2, 3, 4, 5letterSpacing
lineHeightLinkStylelistStyle 1, 2
listStyleImagelistStylePositionlistStyleType
 
marginmarginBottommarginLeft
marginRightmarginTopmarkerOffset
marksmaxHeightmaxWidth
media 1, 2, 3MEDIA_RULEMediaList
mediaTextminHeightminWidth
 
OMGIDLorphansoutline
outlineColoroutlineStyleoutlineWidth
overflowownerNodeownerRule
 
paddingpaddingBottompaddingLeft
paddingRightpaddingToppage
PAGE_RULEpageBreakAfterpageBreakBefore
pageBreakInsideparentRule 1, 2parentStyleSheet +1, +2
pausepauseAfterpauseBefore
pitchpitchRangeplayDuring
positionprimitiveType
 
quotes
 
RectredremoveProperty
RGBColorrichnessright 1, 2
 
selectorText 1, 2separatorsetFloatValue
setPropertysetStringValuesheet
sizespeakspeakHeader
speakNumeralspeakPunctuationspeechRate
stressstyle 1, 2, +3, +4STYLE_RULE
StyleSheet 1, 2StyleSheetListstyleSheets
 
tableLayouttextAligntextDecoration
textIndenttextShadowtextTransform
titletop 1, 2type 1, 2
 
unicodeBidiUNKNOWN_RULE
 
verticalAlignViewCSSvisibility
voiceFamilyvolume
 
whiteSpacewidowswidth
wordSpacing
 
XML-StyleSheet +1, +2, 3
 
zIndex
+
+ + + + + + diff --git a/java/external/xdocs/dom/style/ecma-script-binding.html b/java/external/xdocs/dom/style/ecma-script-binding.html new file mode 100644 index 0000000..f947e19 --- /dev/null +++ b/java/external/xdocs/dom/style/ecma-script-binding.html @@ -0,0 +1,1735 @@ + + + + +ECMAScript Language Binding + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix C: ECMAScript +Language Binding

+ +

This appendix contains the complete ECMAScript [ECMAScript] +binding for the Level 2 Document Object Model Style definitions. +The definitions are divided into StyleSheets and CSS.

+ +

Note: Exceptions handling is only supported by ECMAScript +implementation conformant with the Standard ECMA-262 3rd. Edition +([ECMAScript]).

+ +
+ +

C.1: Document Object +Model StyleSheets

+ +
+
+
Object StyleSheet
+ +
+
+
The StyleSheet object has the following properties:
+ +
+
+
type
+ +
This read-only property is of type String.
+ +
disabled
+ +
This property is of type Boolean.
+ +
ownerNode
+ +
This read-only property is a Node object.
+ +
parentStyleSheet
+ +
This read-only property is a StyleSheet object.
+ +
href
+ +
This read-only property is of type String.
+ +
title
+ +
This read-only property is of type String.
+ +
media
+ +
This read-only property is a MediaList object.
+
+
+
+
+ +
Object StyleSheetList
+ +
+
+
The StyleSheetList object has the following +properties:
+ +
+
+
length
+ +
This read-only property is of type Number.
+
+
+ +
The StyleSheetList object has the following +methods:
+ +
+
+
item(index)
+ +
This method returns a StyleSheet object.
+The index parameter is of type Number.
+Note: This object can also be dereferenced using square +bracket notation (e.g. obj[1]). Dereferencing with an integer +index is equivalent to invoking the item method with +that index.
+
+
+
+
+ +
Object MediaList
+ +
+
+
The MediaList object has the following properties:
+ +
+
+
mediaText
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
length
+ +
This read-only property is of type Number.
+
+
+ +
The MediaList object has the following methods:
+ +
+
+
item(index)
+ +
This method returns a String.
+The index parameter is of type Number.
+Note: This object can also be dereferenced using square +bracket notation (e.g. obj[1]). Dereferencing with an integer +index is equivalent to invoking the item method with +that index.
+ +
deleteMedium(oldMedium)
+ +
This method has no return value.
+The oldMedium parameter is of type String.
+This method can raise a DOMException object.
+ +
appendMedium(newMedium)
+ +
This method has no return value.
+The newMedium parameter is of type String.
+This method can raise a DOMException object.
+
+
+
+
+ +
Object LinkStyle
+ +
+
+
The LinkStyle object has the following properties:
+ +
+
+
sheet
+ +
This read-only property is a StyleSheet object.
+
+
+
+
+ +
Object DocumentStyle
+ +
+
+
The DocumentStyle object has the following +properties:
+ +
+
+
styleSheets
+ +
This read-only property is a StyleSheetList object.
+
+
+
+
+
+
+ + +
+ + +
+ +

C.2: Document Object Model +CSS

+ +
+
+
Object CSSStyleSheet
+ +
+
+
CSSStyleSheet has the all the properties and methods of +the StyleSheet object as well as the properties and methods +defined below.
+ +
The CSSStyleSheet object has the following +properties:
+ +
+
+
ownerRule
+ +
This read-only property is a CSSRule object.
+ +
cssRules
+ +
This read-only property is a CSSRuleList object.
+
+
+ +
The CSSStyleSheet object has the following methods:
+ +
+
+
insertRule(rule, index)
+ +
This method returns a Number.
+The rule parameter is of type String.
+The index parameter is of type Number.
+This method can raise a DOMException object.
+ +
deleteRule(index)
+ +
This method has no return value.
+The index parameter is of type Number.
+This method can raise a DOMException object.
+
+
+
+
+ +
Object CSSRuleList
+ +
+
+
The CSSRuleList object has the following +properties:
+ +
+
+
length
+ +
This read-only property is of type Number.
+
+
+ +
The CSSRuleList object has the following methods:
+ +
+
+
item(index)
+ +
This method returns a CSSRule object.
+The index parameter is of type Number.
+Note: This object can also be dereferenced using square +bracket notation (e.g. obj[1]). Dereferencing with an integer +index is equivalent to invoking the item method with +that index.
+
+
+
+
+ +
Prototype Object CSSRule
+ +
+
+
The CSSRule class has the following constants:
+ +
+
+
CSSRule.UNKNOWN_RULE
+ +
This constant is of type Number and its value is +0.
+ +
CSSRule.STYLE_RULE
+ +
This constant is of type Number and its value is +1.
+ +
CSSRule.CHARSET_RULE
+ +
This constant is of type Number and its value is +2.
+ +
CSSRule.IMPORT_RULE
+ +
This constant is of type Number and its value is +3.
+ +
CSSRule.MEDIA_RULE
+ +
This constant is of type Number and its value is +4.
+ +
CSSRule.FONT_FACE_RULE
+ +
This constant is of type Number and its value is +5.
+ +
CSSRule.PAGE_RULE
+ +
This constant is of type Number and its value is +6.
+
+
+
+
+ +
Object CSSRule
+ +
+
+
The CSSRule object has the following properties:
+ +
+
+
type
+ +
This read-only property is of type Number.
+ +
cssText
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
parentStyleSheet
+ +
This read-only property is a CSSStyleSheet object.
+ +
parentRule
+ +
This read-only property is a CSSRule object.
+
+
+
+
+ +
Object CSSStyleRule
+ +
+
+
CSSStyleRule has the all the properties and methods of +the CSSRule object as well as the properties and methods +defined below.
+ +
The CSSStyleRule object has the following +properties:
+ +
+
+
selectorText
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
style
+ +
This read-only property is a CSSStyleDeclaration +object.
+
+
+
+
+ +
Object CSSMediaRule
+ +
+
+
CSSMediaRule has the all the properties and methods of +the CSSRule object as well as the properties and methods +defined below.
+ +
The CSSMediaRule object has the following +properties:
+ +
+
+
media
+ +
This read-only property is a MediaList object.
+ +
cssRules
+ +
This read-only property is a CSSRuleList object.
+
+
+ +
The CSSMediaRule object has the following methods:
+ +
+
+
insertRule(rule, index)
+ +
This method returns a Number.
+The rule parameter is of type String.
+The index parameter is of type Number.
+This method can raise a DOMException object.
+ +
deleteRule(index)
+ +
This method has no return value.
+The index parameter is of type Number.
+This method can raise a DOMException object.
+
+
+
+
+ +
Object CSSFontFaceRule
+ +
+
+
CSSFontFaceRule has the all the properties and methods +of the CSSRule object as well as the properties and methods +defined below.
+ +
The CSSFontFaceRule object has the following +properties:
+ +
+
+
style
+ +
This read-only property is a CSSStyleDeclaration +object.
+
+
+
+
+ +
Object CSSPageRule
+ +
+
+
CSSPageRule has the all the properties and methods of +the CSSRule object as well as the properties and methods +defined below.
+ +
The CSSPageRule object has the following +properties:
+ +
+
+
selectorText
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
style
+ +
This read-only property is a CSSStyleDeclaration +object.
+
+
+
+
+ +
Object CSSImportRule
+ +
+
+
CSSImportRule has the all the properties and methods of +the CSSRule object as well as the properties and methods +defined below.
+ +
The CSSImportRule object has the following +properties:
+ +
+
+
href
+ +
This read-only property is of type String.
+ +
media
+ +
This read-only property is a MediaList object.
+ +
styleSheet
+ +
This read-only property is a CSSStyleSheet object.
+
+
+
+
+ +
Object CSSCharsetRule
+ +
+
+
CSSCharsetRule has the all the properties and methods of +the CSSRule object as well as the properties and methods +defined below.
+ +
The CSSCharsetRule object has the following +properties:
+ +
+
+
encoding
+ +
This property is of type String and can raise a +DOMException object on setting.
+
+
+
+
+ +
Object CSSUnknownRule
+ +
+
+
CSSUnknownRule has the all the properties and methods of +the CSSRule object as well as the properties and methods +defined below.
+
+
+ +
Object CSSStyleDeclaration
+ +
+
+
The CSSStyleDeclaration object has the following +properties:
+ +
+
+
cssText
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
length
+ +
This read-only property is of type Number.
+ +
parentRule
+ +
This read-only property is a CSSRule object.
+
+
+ +
The CSSStyleDeclaration object has the following +methods:
+ +
+
+
getPropertyValue(propertyName)
+ +
This method returns a String.
+The propertyName parameter is of type String.
+ +
getPropertyCSSValue(propertyName)
+ +
This method returns a CSSValue object.
+The propertyName parameter is of type String.
+ +
removeProperty(propertyName)
+ +
This method returns a String.
+The propertyName parameter is of type String.
+This method can raise a DOMException object.
+ +
getPropertyPriority(propertyName)
+ +
This method returns a String.
+The propertyName parameter is of type String.
+ +
setProperty(propertyName, value, priority)
+ +
This method has no return value.
+The propertyName parameter is of type String.
+The value parameter is of type String.
+The priority parameter is of type String.
+This method can raise a DOMException object.
+ +
item(index)
+ +
This method returns a String.
+The index parameter is of type Number.
+Note: This object can also be dereferenced using square +bracket notation (e.g. obj[1]). Dereferencing with an integer +index is equivalent to invoking the item method with +that index.
+
+
+
+
+ +
Prototype Object CSSValue
+ +
+
+
The CSSValue class has the following constants:
+ +
+
+
CSSValue.CSS_INHERIT
+ +
This constant is of type Number and its value is +0.
+ +
CSSValue.CSS_PRIMITIVE_VALUE
+ +
This constant is of type Number and its value is +1.
+ +
CSSValue.CSS_VALUE_LIST
+ +
This constant is of type Number and its value is +2.
+ +
CSSValue.CSS_CUSTOM
+ +
This constant is of type Number and its value is +3.
+
+
+
+
+ +
Object CSSValue
+ +
+
+
The CSSValue object has the following properties:
+ +
+
+
cssText
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
cssValueType
+ +
This read-only property is of type Number.
+
+
+
+
+ +
Prototype Object CSSPrimitiveValue
+ +
+
+
The CSSPrimitiveValue class has the following +constants:
+ +
+
+
CSSPrimitiveValue.CSS_UNKNOWN
+ +
This constant is of type Number and its value is +0.
+ +
CSSPrimitiveValue.CSS_NUMBER
+ +
This constant is of type Number and its value is +1.
+ +
CSSPrimitiveValue.CSS_PERCENTAGE
+ +
This constant is of type Number and its value is +2.
+ +
CSSPrimitiveValue.CSS_EMS
+ +
This constant is of type Number and its value is +3.
+ +
CSSPrimitiveValue.CSS_EXS
+ +
This constant is of type Number and its value is +4.
+ +
CSSPrimitiveValue.CSS_PX
+ +
This constant is of type Number and its value is +5.
+ +
CSSPrimitiveValue.CSS_CM
+ +
This constant is of type Number and its value is +6.
+ +
CSSPrimitiveValue.CSS_MM
+ +
This constant is of type Number and its value is +7.
+ +
CSSPrimitiveValue.CSS_IN
+ +
This constant is of type Number and its value is +8.
+ +
CSSPrimitiveValue.CSS_PT
+ +
This constant is of type Number and its value is +9.
+ +
CSSPrimitiveValue.CSS_PC
+ +
This constant is of type Number and its value is +10.
+ +
CSSPrimitiveValue.CSS_DEG
+ +
This constant is of type Number and its value is +11.
+ +
CSSPrimitiveValue.CSS_RAD
+ +
This constant is of type Number and its value is +12.
+ +
CSSPrimitiveValue.CSS_GRAD
+ +
This constant is of type Number and its value is +13.
+ +
CSSPrimitiveValue.CSS_MS
+ +
This constant is of type Number and its value is +14.
+ +
CSSPrimitiveValue.CSS_S
+ +
This constant is of type Number and its value is +15.
+ +
CSSPrimitiveValue.CSS_HZ
+ +
This constant is of type Number and its value is +16.
+ +
CSSPrimitiveValue.CSS_KHZ
+ +
This constant is of type Number and its value is +17.
+ +
CSSPrimitiveValue.CSS_DIMENSION
+ +
This constant is of type Number and its value is +18.
+ +
CSSPrimitiveValue.CSS_STRING
+ +
This constant is of type Number and its value is +19.
+ +
CSSPrimitiveValue.CSS_URI
+ +
This constant is of type Number and its value is +20.
+ +
CSSPrimitiveValue.CSS_IDENT
+ +
This constant is of type Number and its value is +21.
+ +
CSSPrimitiveValue.CSS_ATTR
+ +
This constant is of type Number and its value is +22.
+ +
CSSPrimitiveValue.CSS_COUNTER
+ +
This constant is of type Number and its value is +23.
+ +
CSSPrimitiveValue.CSS_RECT
+ +
This constant is of type Number and its value is +24.
+ +
CSSPrimitiveValue.CSS_RGBCOLOR
+ +
This constant is of type Number and its value is +25.
+
+
+
+
+ +
Object CSSPrimitiveValue
+ +
+
+
CSSPrimitiveValue has the all the properties and methods +of the CSSValue object as well as the properties and methods +defined below.
+ +
The CSSPrimitiveValue object has the following +properties:
+ +
+
+
primitiveType
+ +
This read-only property is of type Number.
+
+
+ +
The CSSPrimitiveValue object has the following +methods:
+ +
+
+
setFloatValue(unitType, floatValue)
+ +
This method has no return value.
+The unitType parameter is of type Number.
+The floatValue parameter is a float object.
+This method can raise a DOMException object.
+ +
getFloatValue(unitType)
+ +
This method returns a float object.
+The unitType parameter is of type Number.
+This method can raise a DOMException object.
+ +
setStringValue(stringType, stringValue)
+ +
This method has no return value.
+The stringType parameter is of type Number.
+The stringValue parameter is of type String.
+This method can raise a DOMException object.
+ +
getStringValue()
+ +
This method returns a String.
+This method can raise a DOMException object.
+ +
getCounterValue()
+ +
This method returns a Counter object.
+This method can raise a DOMException object.
+ +
getRectValue()
+ +
This method returns a Rect object.
+This method can raise a DOMException object.
+ +
getRGBColorValue()
+ +
This method returns a RGBColor object.
+This method can raise a DOMException object.
+
+
+
+
+ +
Object CSSValueList
+ +
+
+
CSSValueList has the all the properties and methods of +the CSSValue object as well as the properties and methods +defined below.
+ +
The CSSValueList object has the following +properties:
+ +
+
+
length
+ +
This read-only property is of type Number.
+
+
+ +
The CSSValueList object has the following methods:
+ +
+
+
item(index)
+ +
This method returns a CSSValue object.
+The index parameter is of type Number.
+Note: This object can also be dereferenced using square +bracket notation (e.g. obj[1]). Dereferencing with an integer +index is equivalent to invoking the item method with +that index.
+
+
+
+
+ +
Object RGBColor
+ +
+
+
The RGBColor object has the following properties:
+ +
+
+
red
+ +
This read-only property is a CSSPrimitiveValue +object.
+ +
green
+ +
This read-only property is a CSSPrimitiveValue +object.
+ +
blue
+ +
This read-only property is a CSSPrimitiveValue +object.
+
+
+
+
+ +
Object Rect
+ +
+
+
The Rect object has the following properties:
+ +
+
+
top
+ +
This read-only property is a CSSPrimitiveValue +object.
+ +
right
+ +
This read-only property is a CSSPrimitiveValue +object.
+ +
bottom
+ +
This read-only property is a CSSPrimitiveValue +object.
+ +
left
+ +
This read-only property is a CSSPrimitiveValue +object.
+
+
+
+
+ +
Object Counter
+ +
+
+
The Counter object has the following properties:
+ +
+
+
identifier
+ +
This read-only property is of type String.
+ +
listStyle
+ +
This read-only property is of type String.
+ +
separator
+ +
This read-only property is of type String.
+
+
+
+
+ +
Object ViewCSS
+ +
+
+
ViewCSS has the all the properties and methods of the +AbstractView object as well as the properties and methods +defined below.
+ +
The ViewCSS object has the following methods:
+ +
+
+
getComputedStyle(elt, pseudoElt)
+ +
This method returns a CSSStyleDeclaration object.
+The elt parameter is a Element object.
+The pseudoElt parameter is of type String.
+
+
+
+
+ +
Object DocumentCSS
+ +
+
+
DocumentCSS has the all the properties and methods of +the DocumentStyle object as well as the properties and +methods defined below.
+ +
The DocumentCSS object has the following methods:
+ +
+
+
getOverrideStyle(elt, pseudoElt)
+ +
This method returns a CSSStyleDeclaration object.
+The elt parameter is a Element object.
+The pseudoElt parameter is of type String.
+
+
+
+
+ +
Object DOMImplementationCSS
+ +
+
+
DOMImplementationCSS has the all the properties and +methods of the DOMImplementation object as well as the +properties and methods defined below.
+ +
The DOMImplementationCSS object has the following +methods:
+ +
+
+
createCSSStyleSheet(title, media)
+ +
This method returns a CSSStyleSheet object.
+The title parameter is of type String.
+The media parameter is of type String.
+This method can raise a DOMException object.
+
+
+
+
+ +
Object ElementCSSInlineStyle
+ +
+
+
The ElementCSSInlineStyle object has the following +properties:
+ +
+
+
style
+ +
This read-only property is a CSSStyleDeclaration +object.
+
+
+
+
+ +
Object CSS2Properties
+ +
+
+
The CSS2Properties object has the following +properties:
+ +
+
+
azimuth
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
background
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
backgroundAttachment
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
backgroundColor
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
backgroundImage
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
backgroundPosition
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
backgroundRepeat
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
border
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderCollapse
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderColor
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderSpacing
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderStyle
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderTop
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderRight
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderBottom
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderLeft
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderTopColor
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderRightColor
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderBottomColor
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderLeftColor
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderTopStyle
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderRightStyle
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderBottomStyle
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderLeftStyle
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderTopWidth
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderRightWidth
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderBottomWidth
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderLeftWidth
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
borderWidth
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
bottom
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
captionSide
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
clear
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
clip
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
color
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
content
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
counterIncrement
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
counterReset
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
cue
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
cueAfter
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
cueBefore
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
cursor
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
direction
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
display
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
elevation
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
emptyCells
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
cssFloat
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
font
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
fontFamily
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
fontSize
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
fontSizeAdjust
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
fontStretch
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
fontStyle
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
fontVariant
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
fontWeight
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
height
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
left
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
letterSpacing
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
lineHeight
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
listStyle
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
listStyleImage
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
listStylePosition
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
listStyleType
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
margin
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
marginTop
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
marginRight
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
marginBottom
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
marginLeft
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
markerOffset
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
marks
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
maxHeight
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
maxWidth
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
minHeight
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
minWidth
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
orphans
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
outline
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
outlineColor
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
outlineStyle
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
outlineWidth
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
overflow
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
padding
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
paddingTop
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
paddingRight
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
paddingBottom
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
paddingLeft
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
page
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
pageBreakAfter
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
pageBreakBefore
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
pageBreakInside
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
pause
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
pauseAfter
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
pauseBefore
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
pitch
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
pitchRange
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
playDuring
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
position
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
quotes
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
richness
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
right
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
size
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
speak
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
speakHeader
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
speakNumeral
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
speakPunctuation
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
speechRate
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
stress
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
tableLayout
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
textAlign
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
textDecoration
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
textIndent
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
textShadow
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
textTransform
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
top
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
unicodeBidi
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
verticalAlign
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
visibility
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
voiceFamily
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
volume
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
whiteSpace
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
widows
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
width
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
wordSpacing
+ +
This property is of type String and can raise a +DOMException object on setting.
+ +
zIndex
+ +
This property is of type String and can raise a +DOMException object on setting.
+
+
+
+
+
+
+ + +
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/style/expanded-toc.html b/java/external/xdocs/dom/style/expanded-toc.html new file mode 100644 index 0000000..0b6dcef --- /dev/null +++ b/java/external/xdocs/dom/style/expanded-toc.html @@ -0,0 +1,193 @@ + + + + +Expanded Table of Contents + + + + + + + + + + +
+

13 November, +2000

+
+ + + + + + + + diff --git a/java/external/xdocs/dom/style/idl-definitions.html b/java/external/xdocs/dom/style/idl-definitions.html new file mode 100644 index 0000000..4464469 --- /dev/null +++ b/java/external/xdocs/dom/style/idl-definitions.html @@ -0,0 +1,764 @@ + + + + +IDL Definitions + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix A: IDL Definitions

+ +

This appendix contains the complete OMG IDL [OMGIDL] for the Level 2 Document +Object Model Style definitions. The definitions are divided into Stylesheets and CSS.

+ +

The IDL files are also available as: http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/idl.zip

+ +
+ +

A.1: Document Object +Model Style Sheets

+ +

stylesheets.idl:

+ +
+
+// File: stylesheets.idl
+
+#ifndef _STYLESHEETS_IDL_
+#define _STYLESHEETS_IDL_
+
+#include "dom.idl"
+
+#pragma prefix "dom.w3c.org"
+module stylesheets
+{
+
+  typedef dom::DOMString DOMString;
+  typedef dom::Node Node;
+
+  interface MediaList;
+
+  // Introduced in DOM Level 2:
+  interface StyleSheet {
+    readonly attribute DOMString        type;
+             attribute boolean          disabled;
+    readonly attribute Node             ownerNode;
+    readonly attribute StyleSheet       parentStyleSheet;
+    readonly attribute DOMString        href;
+    readonly attribute DOMString        title;
+    readonly attribute MediaList        media;
+  };
+
+  // Introduced in DOM Level 2:
+  interface StyleSheetList {
+    readonly attribute unsigned long    length;
+    StyleSheet         item(in unsigned long index);
+  };
+
+  // Introduced in DOM Level 2:
+  interface MediaList {
+             attribute DOMString        mediaText;
+                                        // raises(dom::DOMException) on setting
+
+    readonly attribute unsigned long    length;
+    DOMString          item(in unsigned long index);
+    void               deleteMedium(in DOMString oldMedium)
+                                        raises(dom::DOMException);
+    void               appendMedium(in DOMString newMedium)
+                                        raises(dom::DOMException);
+  };
+
+  // Introduced in DOM Level 2:
+  interface LinkStyle {
+    readonly attribute StyleSheet       sheet;
+  };
+
+  // Introduced in DOM Level 2:
+  interface DocumentStyle {
+    readonly attribute StyleSheetList   styleSheets;
+  };
+};
+
+#endif // _STYLESHEETS_IDL_
+
+
+
+
+ + +
+ +

A.2: Document Object Model +CSS

+ +

css.idl:

+ +
+
+// File: css.idl
+
+#ifndef _CSS_IDL_
+#define _CSS_IDL_
+
+#include "dom.idl"
+#include "stylesheets.idl"
+#include "views.idl"
+
+#pragma prefix "dom.w3c.org"
+module css
+{
+
+  typedef dom::DOMString DOMString;
+  typedef dom::Element Element;
+  typedef dom::DOMImplementation DOMImplementation;
+
+  interface CSSRule;
+  interface CSSStyleSheet;
+  interface CSSStyleDeclaration;
+  interface CSSValue;
+  interface Counter;
+  interface Rect;
+  interface RGBColor;
+
+  // Introduced in DOM Level 2:
+  interface CSSRuleList {
+    readonly attribute unsigned long    length;
+    CSSRule            item(in unsigned long index);
+  };
+
+  // Introduced in DOM Level 2:
+  interface CSSRule {
+
+    // RuleType
+    const unsigned short      UNKNOWN_RULE                   = 0;
+    const unsigned short      STYLE_RULE                     = 1;
+    const unsigned short      CHARSET_RULE                   = 2;
+    const unsigned short      IMPORT_RULE                    = 3;
+    const unsigned short      MEDIA_RULE                     = 4;
+    const unsigned short      FONT_FACE_RULE                 = 5;
+    const unsigned short      PAGE_RULE                      = 6;
+
+    readonly attribute unsigned short   type;
+             attribute DOMString        cssText;
+                                        // raises(dom::DOMException) on setting
+
+    readonly attribute CSSStyleSheet    parentStyleSheet;
+    readonly attribute CSSRule          parentRule;
+  };
+
+  // Introduced in DOM Level 2:
+  interface CSSStyleRule : CSSRule {
+             attribute DOMString        selectorText;
+                                        // raises(dom::DOMException) on setting
+
+    readonly attribute CSSStyleDeclaration  style;
+  };
+
+  // Introduced in DOM Level 2:
+  interface CSSMediaRule : CSSRule {
+    readonly attribute stylesheets::MediaList  media;
+    readonly attribute CSSRuleList      cssRules;
+    unsigned long      insertRule(in DOMString rule, 
+                                  in unsigned long index)
+                                        raises(dom::DOMException);
+    void               deleteRule(in unsigned long index)
+                                        raises(dom::DOMException);
+  };
+
+  // Introduced in DOM Level 2:
+  interface CSSFontFaceRule : CSSRule {
+    readonly attribute CSSStyleDeclaration  style;
+  };
+
+  // Introduced in DOM Level 2:
+  interface CSSPageRule : CSSRule {
+             attribute DOMString        selectorText;
+                                        // raises(dom::DOMException) on setting
+
+    readonly attribute CSSStyleDeclaration  style;
+  };
+
+  // Introduced in DOM Level 2:
+  interface CSSImportRule : CSSRule {
+    readonly attribute DOMString        href;
+    readonly attribute stylesheets::MediaList  media;
+    readonly attribute CSSStyleSheet    styleSheet;
+  };
+
+  // Introduced in DOM Level 2:
+  interface CSSCharsetRule : CSSRule {
+             attribute DOMString        encoding;
+                                        // raises(dom::DOMException) on setting
+
+  };
+
+  // Introduced in DOM Level 2:
+  interface CSSUnknownRule : CSSRule {
+  };
+
+  // Introduced in DOM Level 2:
+  interface CSSStyleDeclaration {
+             attribute DOMString        cssText;
+                                        // raises(dom::DOMException) on setting
+
+    DOMString          getPropertyValue(in DOMString propertyName);
+    CSSValue           getPropertyCSSValue(in DOMString propertyName);
+    DOMString          removeProperty(in DOMString propertyName)
+                                        raises(dom::DOMException);
+    DOMString          getPropertyPriority(in DOMString propertyName);
+    void               setProperty(in DOMString propertyName, 
+                                   in DOMString value, 
+                                   in DOMString priority)
+                                        raises(dom::DOMException);
+    readonly attribute unsigned long    length;
+    DOMString          item(in unsigned long index);
+    readonly attribute CSSRule          parentRule;
+  };
+
+  // Introduced in DOM Level 2:
+  interface CSSValue {
+
+    // UnitTypes
+    const unsigned short      CSS_INHERIT                    = 0;
+    const unsigned short      CSS_PRIMITIVE_VALUE            = 1;
+    const unsigned short      CSS_VALUE_LIST                 = 2;
+    const unsigned short      CSS_CUSTOM                     = 3;
+
+             attribute DOMString        cssText;
+                                        // raises(dom::DOMException) on setting
+
+    readonly attribute unsigned short   cssValueType;
+  };
+
+  // Introduced in DOM Level 2:
+  interface CSSPrimitiveValue : CSSValue {
+
+    // UnitTypes
+    const unsigned short      CSS_UNKNOWN                    = 0;
+    const unsigned short      CSS_NUMBER                     = 1;
+    const unsigned short      CSS_PERCENTAGE                 = 2;
+    const unsigned short      CSS_EMS                        = 3;
+    const unsigned short      CSS_EXS                        = 4;
+    const unsigned short      CSS_PX                         = 5;
+    const unsigned short      CSS_CM                         = 6;
+    const unsigned short      CSS_MM                         = 7;
+    const unsigned short      CSS_IN                         = 8;
+    const unsigned short      CSS_PT                         = 9;
+    const unsigned short      CSS_PC                         = 10;
+    const unsigned short      CSS_DEG                        = 11;
+    const unsigned short      CSS_RAD                        = 12;
+    const unsigned short      CSS_GRAD                       = 13;
+    const unsigned short      CSS_MS                         = 14;
+    const unsigned short      CSS_S                          = 15;
+    const unsigned short      CSS_HZ                         = 16;
+    const unsigned short      CSS_KHZ                        = 17;
+    const unsigned short      CSS_DIMENSION                  = 18;
+    const unsigned short      CSS_STRING                     = 19;
+    const unsigned short      CSS_URI                        = 20;
+    const unsigned short      CSS_IDENT                      = 21;
+    const unsigned short      CSS_ATTR                       = 22;
+    const unsigned short      CSS_COUNTER                    = 23;
+    const unsigned short      CSS_RECT                       = 24;
+    const unsigned short      CSS_RGBCOLOR                   = 25;
+
+    readonly attribute unsigned short   primitiveType;
+    void               setFloatValue(in unsigned short unitType, 
+                                     in float floatValue)
+                                        raises(dom::DOMException);
+    float              getFloatValue(in unsigned short unitType)
+                                        raises(dom::DOMException);
+    void               setStringValue(in unsigned short stringType, 
+                                      in DOMString stringValue)
+                                        raises(dom::DOMException);
+    DOMString          getStringValue()
+                                        raises(dom::DOMException);
+    Counter            getCounterValue()
+                                        raises(dom::DOMException);
+    Rect               getRectValue()
+                                        raises(dom::DOMException);
+    RGBColor           getRGBColorValue()
+                                        raises(dom::DOMException);
+  };
+
+  // Introduced in DOM Level 2:
+  interface CSSValueList : CSSValue {
+    readonly attribute unsigned long    length;
+    CSSValue           item(in unsigned long index);
+  };
+
+  // Introduced in DOM Level 2:
+  interface RGBColor {
+    readonly attribute CSSPrimitiveValue  red;
+    readonly attribute CSSPrimitiveValue  green;
+    readonly attribute CSSPrimitiveValue  blue;
+  };
+
+  // Introduced in DOM Level 2:
+  interface Rect {
+    readonly attribute CSSPrimitiveValue  top;
+    readonly attribute CSSPrimitiveValue  right;
+    readonly attribute CSSPrimitiveValue  bottom;
+    readonly attribute CSSPrimitiveValue  left;
+  };
+
+  // Introduced in DOM Level 2:
+  interface Counter {
+    readonly attribute DOMString        identifier;
+    readonly attribute DOMString        listStyle;
+    readonly attribute DOMString        separator;
+  };
+
+  // Introduced in DOM Level 2:
+  interface ElementCSSInlineStyle {
+    readonly attribute CSSStyleDeclaration  style;
+  };
+
+  // Introduced in DOM Level 2:
+  interface CSS2Properties {
+             attribute DOMString        azimuth;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        background;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        backgroundAttachment;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        backgroundColor;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        backgroundImage;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        backgroundPosition;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        backgroundRepeat;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        border;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderCollapse;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderColor;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderSpacing;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderStyle;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderTop;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderRight;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderBottom;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderLeft;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderTopColor;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderRightColor;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderBottomColor;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderLeftColor;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderTopStyle;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderRightStyle;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderBottomStyle;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderLeftStyle;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderTopWidth;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderRightWidth;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderBottomWidth;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderLeftWidth;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        borderWidth;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        bottom;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        captionSide;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        clear;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        clip;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        color;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        content;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        counterIncrement;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        counterReset;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        cue;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        cueAfter;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        cueBefore;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        cursor;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        direction;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        display;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        elevation;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        emptyCells;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        cssFloat;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        font;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        fontFamily;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        fontSize;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        fontSizeAdjust;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        fontStretch;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        fontStyle;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        fontVariant;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        fontWeight;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        height;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        left;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        letterSpacing;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        lineHeight;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        listStyle;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        listStyleImage;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        listStylePosition;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        listStyleType;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        margin;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        marginTop;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        marginRight;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        marginBottom;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        marginLeft;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        markerOffset;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        marks;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        maxHeight;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        maxWidth;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        minHeight;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        minWidth;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        orphans;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        outline;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        outlineColor;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        outlineStyle;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        outlineWidth;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        overflow;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        padding;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        paddingTop;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        paddingRight;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        paddingBottom;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        paddingLeft;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        page;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        pageBreakAfter;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        pageBreakBefore;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        pageBreakInside;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        pause;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        pauseAfter;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        pauseBefore;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        pitch;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        pitchRange;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        playDuring;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        position;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        quotes;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        richness;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        right;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        size;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        speak;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        speakHeader;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        speakNumeral;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        speakPunctuation;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        speechRate;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        stress;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        tableLayout;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        textAlign;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        textDecoration;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        textIndent;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        textShadow;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        textTransform;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        top;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        unicodeBidi;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        verticalAlign;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        visibility;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        voiceFamily;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        volume;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        whiteSpace;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        widows;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        width;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        wordSpacing;
+                                        // raises(dom::DOMException) on setting
+
+             attribute DOMString        zIndex;
+                                        // raises(dom::DOMException) on setting
+
+  };
+
+  // Introduced in DOM Level 2:
+  interface CSSStyleSheet : stylesheets::StyleSheet {
+    readonly attribute CSSRule          ownerRule;
+    readonly attribute CSSRuleList      cssRules;
+    unsigned long      insertRule(in DOMString rule, 
+                                  in unsigned long index)
+                                        raises(dom::DOMException);
+    void               deleteRule(in unsigned long index)
+                                        raises(dom::DOMException);
+  };
+
+  // Introduced in DOM Level 2:
+  interface ViewCSS : views::AbstractView {
+    CSSStyleDeclaration getComputedStyle(in Element elt, 
+                                         in DOMString pseudoElt);
+  };
+
+  // Introduced in DOM Level 2:
+  interface DocumentCSS : stylesheets::DocumentStyle {
+    CSSStyleDeclaration getOverrideStyle(in Element elt, 
+                                         in DOMString pseudoElt);
+  };
+
+  // Introduced in DOM   Level 2:
+  interface DOMImplementationCSS : DOMImplementation {
+    CSSStyleSheet      createCSSStyleSheet(in DOMString title, 
+                                           in DOMString media)
+                                        raises(dom::DOMException);
+  };
+};
+
+#endif // _CSS_IDL_
+
+
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/style/idl/css.idl b/java/external/xdocs/dom/style/idl/css.idl new file mode 100644 index 0000000..5033f90 --- /dev/null +++ b/java/external/xdocs/dom/style/idl/css.idl @@ -0,0 +1,633 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +// File: http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.idl + +#ifndef _CSS_IDL_ +#define _CSS_IDL_ + +#include "dom.idl" +#include "stylesheets.idl" +#include "views.idl" + +#pragma prefix "dom.w3c.org" +module css +{ + + typedef dom::DOMString DOMString; + typedef dom::Element Element; + typedef dom::DOMImplementation DOMImplementation; + + interface CSSRule; + interface CSSStyleSheet; + interface CSSStyleDeclaration; + interface CSSValue; + interface Counter; + interface Rect; + interface RGBColor; + + // Introduced in DOM Level 2: + interface CSSRuleList { + readonly attribute unsigned long length; + CSSRule item(in unsigned long index); + }; + + // Introduced in DOM Level 2: + interface CSSRule { + + // RuleType + const unsigned short UNKNOWN_RULE = 0; + const unsigned short STYLE_RULE = 1; + const unsigned short CHARSET_RULE = 2; + const unsigned short IMPORT_RULE = 3; + const unsigned short MEDIA_RULE = 4; + const unsigned short FONT_FACE_RULE = 5; + const unsigned short PAGE_RULE = 6; + + readonly attribute unsigned short type; + attribute DOMString cssText; + // raises(dom::DOMException) on setting + + readonly attribute CSSStyleSheet parentStyleSheet; + readonly attribute CSSRule parentRule; + }; + + // Introduced in DOM Level 2: + interface CSSStyleRule : CSSRule { + attribute DOMString selectorText; + // raises(dom::DOMException) on setting + + readonly attribute CSSStyleDeclaration style; + }; + + // Introduced in DOM Level 2: + interface CSSMediaRule : CSSRule { + readonly attribute stylesheets::MediaList media; + readonly attribute CSSRuleList cssRules; + unsigned long insertRule(in DOMString rule, + in unsigned long index) + raises(dom::DOMException); + void deleteRule(in unsigned long index) + raises(dom::DOMException); + }; + + // Introduced in DOM Level 2: + interface CSSFontFaceRule : CSSRule { + readonly attribute CSSStyleDeclaration style; + }; + + // Introduced in DOM Level 2: + interface CSSPageRule : CSSRule { + attribute DOMString selectorText; + // raises(dom::DOMException) on setting + + readonly attribute CSSStyleDeclaration style; + }; + + // Introduced in DOM Level 2: + interface CSSImportRule : CSSRule { + readonly attribute DOMString href; + readonly attribute stylesheets::MediaList media; + readonly attribute CSSStyleSheet styleSheet; + }; + + // Introduced in DOM Level 2: + interface CSSCharsetRule : CSSRule { + attribute DOMString encoding; + // raises(dom::DOMException) on setting + + }; + + // Introduced in DOM Level 2: + interface CSSUnknownRule : CSSRule { + }; + + // Introduced in DOM Level 2: + interface CSSStyleDeclaration { + attribute DOMString cssText; + // raises(dom::DOMException) on setting + + DOMString getPropertyValue(in DOMString propertyName); + CSSValue getPropertyCSSValue(in DOMString propertyName); + DOMString removeProperty(in DOMString propertyName) + raises(dom::DOMException); + DOMString getPropertyPriority(in DOMString propertyName); + void setProperty(in DOMString propertyName, + in DOMString value, + in DOMString priority) + raises(dom::DOMException); + readonly attribute unsigned long length; + DOMString item(in unsigned long index); + readonly attribute CSSRule parentRule; + }; + + // Introduced in DOM Level 2: + interface CSSValue { + + // UnitTypes + const unsigned short CSS_INHERIT = 0; + const unsigned short CSS_PRIMITIVE_VALUE = 1; + const unsigned short CSS_VALUE_LIST = 2; + const unsigned short CSS_CUSTOM = 3; + + attribute DOMString cssText; + // raises(dom::DOMException) on setting + + readonly attribute unsigned short cssValueType; + }; + + // Introduced in DOM Level 2: + interface CSSPrimitiveValue : CSSValue { + + // UnitTypes + const unsigned short CSS_UNKNOWN = 0; + const unsigned short CSS_NUMBER = 1; + const unsigned short CSS_PERCENTAGE = 2; + const unsigned short CSS_EMS = 3; + const unsigned short CSS_EXS = 4; + const unsigned short CSS_PX = 5; + const unsigned short CSS_CM = 6; + const unsigned short CSS_MM = 7; + const unsigned short CSS_IN = 8; + const unsigned short CSS_PT = 9; + const unsigned short CSS_PC = 10; + const unsigned short CSS_DEG = 11; + const unsigned short CSS_RAD = 12; + const unsigned short CSS_GRAD = 13; + const unsigned short CSS_MS = 14; + const unsigned short CSS_S = 15; + const unsigned short CSS_HZ = 16; + const unsigned short CSS_KHZ = 17; + const unsigned short CSS_DIMENSION = 18; + const unsigned short CSS_STRING = 19; + const unsigned short CSS_URI = 20; + const unsigned short CSS_IDENT = 21; + const unsigned short CSS_ATTR = 22; + const unsigned short CSS_COUNTER = 23; + const unsigned short CSS_RECT = 24; + const unsigned short CSS_RGBCOLOR = 25; + + readonly attribute unsigned short primitiveType; + void setFloatValue(in unsigned short unitType, + in float floatValue) + raises(dom::DOMException); + float getFloatValue(in unsigned short unitType) + raises(dom::DOMException); + void setStringValue(in unsigned short stringType, + in DOMString stringValue) + raises(dom::DOMException); + DOMString getStringValue() + raises(dom::DOMException); + Counter getCounterValue() + raises(dom::DOMException); + Rect getRectValue() + raises(dom::DOMException); + RGBColor getRGBColorValue() + raises(dom::DOMException); + }; + + // Introduced in DOM Level 2: + interface CSSValueList : CSSValue { + readonly attribute unsigned long length; + CSSValue item(in unsigned long index); + }; + + // Introduced in DOM Level 2: + interface RGBColor { + readonly attribute CSSPrimitiveValue red; + readonly attribute CSSPrimitiveValue green; + readonly attribute CSSPrimitiveValue blue; + }; + + // Introduced in DOM Level 2: + interface Rect { + readonly attribute CSSPrimitiveValue top; + readonly attribute CSSPrimitiveValue right; + readonly attribute CSSPrimitiveValue bottom; + readonly attribute CSSPrimitiveValue left; + }; + + // Introduced in DOM Level 2: + interface Counter { + readonly attribute DOMString identifier; + readonly attribute DOMString listStyle; + readonly attribute DOMString separator; + }; + + // Introduced in DOM Level 2: + interface ElementCSSInlineStyle { + readonly attribute CSSStyleDeclaration style; + }; + + // Introduced in DOM Level 2: + interface CSS2Properties { + attribute DOMString azimuth; + // raises(dom::DOMException) on setting + + attribute DOMString background; + // raises(dom::DOMException) on setting + + attribute DOMString backgroundAttachment; + // raises(dom::DOMException) on setting + + attribute DOMString backgroundColor; + // raises(dom::DOMException) on setting + + attribute DOMString backgroundImage; + // raises(dom::DOMException) on setting + + attribute DOMString backgroundPosition; + // raises(dom::DOMException) on setting + + attribute DOMString backgroundRepeat; + // raises(dom::DOMException) on setting + + attribute DOMString border; + // raises(dom::DOMException) on setting + + attribute DOMString borderCollapse; + // raises(dom::DOMException) on setting + + attribute DOMString borderColor; + // raises(dom::DOMException) on setting + + attribute DOMString borderSpacing; + // raises(dom::DOMException) on setting + + attribute DOMString borderStyle; + // raises(dom::DOMException) on setting + + attribute DOMString borderTop; + // raises(dom::DOMException) on setting + + attribute DOMString borderRight; + // raises(dom::DOMException) on setting + + attribute DOMString borderBottom; + // raises(dom::DOMException) on setting + + attribute DOMString borderLeft; + // raises(dom::DOMException) on setting + + attribute DOMString borderTopColor; + // raises(dom::DOMException) on setting + + attribute DOMString borderRightColor; + // raises(dom::DOMException) on setting + + attribute DOMString borderBottomColor; + // raises(dom::DOMException) on setting + + attribute DOMString borderLeftColor; + // raises(dom::DOMException) on setting + + attribute DOMString borderTopStyle; + // raises(dom::DOMException) on setting + + attribute DOMString borderRightStyle; + // raises(dom::DOMException) on setting + + attribute DOMString borderBottomStyle; + // raises(dom::DOMException) on setting + + attribute DOMString borderLeftStyle; + // raises(dom::DOMException) on setting + + attribute DOMString borderTopWidth; + // raises(dom::DOMException) on setting + + attribute DOMString borderRightWidth; + // raises(dom::DOMException) on setting + + attribute DOMString borderBottomWidth; + // raises(dom::DOMException) on setting + + attribute DOMString borderLeftWidth; + // raises(dom::DOMException) on setting + + attribute DOMString borderWidth; + // raises(dom::DOMException) on setting + + attribute DOMString bottom; + // raises(dom::DOMException) on setting + + attribute DOMString captionSide; + // raises(dom::DOMException) on setting + + attribute DOMString clear; + // raises(dom::DOMException) on setting + + attribute DOMString clip; + // raises(dom::DOMException) on setting + + attribute DOMString color; + // raises(dom::DOMException) on setting + + attribute DOMString content; + // raises(dom::DOMException) on setting + + attribute DOMString counterIncrement; + // raises(dom::DOMException) on setting + + attribute DOMString counterReset; + // raises(dom::DOMException) on setting + + attribute DOMString cue; + // raises(dom::DOMException) on setting + + attribute DOMString cueAfter; + // raises(dom::DOMException) on setting + + attribute DOMString cueBefore; + // raises(dom::DOMException) on setting + + attribute DOMString cursor; + // raises(dom::DOMException) on setting + + attribute DOMString direction; + // raises(dom::DOMException) on setting + + attribute DOMString display; + // raises(dom::DOMException) on setting + + attribute DOMString elevation; + // raises(dom::DOMException) on setting + + attribute DOMString emptyCells; + // raises(dom::DOMException) on setting + + attribute DOMString cssFloat; + // raises(dom::DOMException) on setting + + attribute DOMString font; + // raises(dom::DOMException) on setting + + attribute DOMString fontFamily; + // raises(dom::DOMException) on setting + + attribute DOMString fontSize; + // raises(dom::DOMException) on setting + + attribute DOMString fontSizeAdjust; + // raises(dom::DOMException) on setting + + attribute DOMString fontStretch; + // raises(dom::DOMException) on setting + + attribute DOMString fontStyle; + // raises(dom::DOMException) on setting + + attribute DOMString fontVariant; + // raises(dom::DOMException) on setting + + attribute DOMString fontWeight; + // raises(dom::DOMException) on setting + + attribute DOMString height; + // raises(dom::DOMException) on setting + + attribute DOMString left; + // raises(dom::DOMException) on setting + + attribute DOMString letterSpacing; + // raises(dom::DOMException) on setting + + attribute DOMString lineHeight; + // raises(dom::DOMException) on setting + + attribute DOMString listStyle; + // raises(dom::DOMException) on setting + + attribute DOMString listStyleImage; + // raises(dom::DOMException) on setting + + attribute DOMString listStylePosition; + // raises(dom::DOMException) on setting + + attribute DOMString listStyleType; + // raises(dom::DOMException) on setting + + attribute DOMString margin; + // raises(dom::DOMException) on setting + + attribute DOMString marginTop; + // raises(dom::DOMException) on setting + + attribute DOMString marginRight; + // raises(dom::DOMException) on setting + + attribute DOMString marginBottom; + // raises(dom::DOMException) on setting + + attribute DOMString marginLeft; + // raises(dom::DOMException) on setting + + attribute DOMString markerOffset; + // raises(dom::DOMException) on setting + + attribute DOMString marks; + // raises(dom::DOMException) on setting + + attribute DOMString maxHeight; + // raises(dom::DOMException) on setting + + attribute DOMString maxWidth; + // raises(dom::DOMException) on setting + + attribute DOMString minHeight; + // raises(dom::DOMException) on setting + + attribute DOMString minWidth; + // raises(dom::DOMException) on setting + + attribute DOMString orphans; + // raises(dom::DOMException) on setting + + attribute DOMString outline; + // raises(dom::DOMException) on setting + + attribute DOMString outlineColor; + // raises(dom::DOMException) on setting + + attribute DOMString outlineStyle; + // raises(dom::DOMException) on setting + + attribute DOMString outlineWidth; + // raises(dom::DOMException) on setting + + attribute DOMString overflow; + // raises(dom::DOMException) on setting + + attribute DOMString padding; + // raises(dom::DOMException) on setting + + attribute DOMString paddingTop; + // raises(dom::DOMException) on setting + + attribute DOMString paddingRight; + // raises(dom::DOMException) on setting + + attribute DOMString paddingBottom; + // raises(dom::DOMException) on setting + + attribute DOMString paddingLeft; + // raises(dom::DOMException) on setting + + attribute DOMString page; + // raises(dom::DOMException) on setting + + attribute DOMString pageBreakAfter; + // raises(dom::DOMException) on setting + + attribute DOMString pageBreakBefore; + // raises(dom::DOMException) on setting + + attribute DOMString pageBreakInside; + // raises(dom::DOMException) on setting + + attribute DOMString pause; + // raises(dom::DOMException) on setting + + attribute DOMString pauseAfter; + // raises(dom::DOMException) on setting + + attribute DOMString pauseBefore; + // raises(dom::DOMException) on setting + + attribute DOMString pitch; + // raises(dom::DOMException) on setting + + attribute DOMString pitchRange; + // raises(dom::DOMException) on setting + + attribute DOMString playDuring; + // raises(dom::DOMException) on setting + + attribute DOMString position; + // raises(dom::DOMException) on setting + + attribute DOMString quotes; + // raises(dom::DOMException) on setting + + attribute DOMString richness; + // raises(dom::DOMException) on setting + + attribute DOMString right; + // raises(dom::DOMException) on setting + + attribute DOMString size; + // raises(dom::DOMException) on setting + + attribute DOMString speak; + // raises(dom::DOMException) on setting + + attribute DOMString speakHeader; + // raises(dom::DOMException) on setting + + attribute DOMString speakNumeral; + // raises(dom::DOMException) on setting + + attribute DOMString speakPunctuation; + // raises(dom::DOMException) on setting + + attribute DOMString speechRate; + // raises(dom::DOMException) on setting + + attribute DOMString stress; + // raises(dom::DOMException) on setting + + attribute DOMString tableLayout; + // raises(dom::DOMException) on setting + + attribute DOMString textAlign; + // raises(dom::DOMException) on setting + + attribute DOMString textDecoration; + // raises(dom::DOMException) on setting + + attribute DOMString textIndent; + // raises(dom::DOMException) on setting + + attribute DOMString textShadow; + // raises(dom::DOMException) on setting + + attribute DOMString textTransform; + // raises(dom::DOMException) on setting + + attribute DOMString top; + // raises(dom::DOMException) on setting + + attribute DOMString unicodeBidi; + // raises(dom::DOMException) on setting + + attribute DOMString verticalAlign; + // raises(dom::DOMException) on setting + + attribute DOMString visibility; + // raises(dom::DOMException) on setting + + attribute DOMString voiceFamily; + // raises(dom::DOMException) on setting + + attribute DOMString volume; + // raises(dom::DOMException) on setting + + attribute DOMString whiteSpace; + // raises(dom::DOMException) on setting + + attribute DOMString widows; + // raises(dom::DOMException) on setting + + attribute DOMString width; + // raises(dom::DOMException) on setting + + attribute DOMString wordSpacing; + // raises(dom::DOMException) on setting + + attribute DOMString zIndex; + // raises(dom::DOMException) on setting + + }; + + // Introduced in DOM Level 2: + interface CSSStyleSheet : stylesheets::StyleSheet { + readonly attribute CSSRule ownerRule; + readonly attribute CSSRuleList cssRules; + unsigned long insertRule(in DOMString rule, + in unsigned long index) + raises(dom::DOMException); + void deleteRule(in unsigned long index) + raises(dom::DOMException); + }; + + // Introduced in DOM Level 2: + interface ViewCSS : views::AbstractView { + CSSStyleDeclaration getComputedStyle(in Element elt, + in DOMString pseudoElt); + }; + + // Introduced in DOM Level 2: + interface DocumentCSS : stylesheets::DocumentStyle { + CSSStyleDeclaration getOverrideStyle(in Element elt, + in DOMString pseudoElt); + }; + + // Introduced in DOM Level 2: + interface DOMImplementationCSS : DOMImplementation { + CSSStyleSheet createCSSStyleSheet(in DOMString title, + in DOMString media) + raises(dom::DOMException); + }; +}; + +#endif // _CSS_IDL_ + diff --git a/java/external/xdocs/dom/style/idl/stylesheets.idl b/java/external/xdocs/dom/style/idl/stylesheets.idl new file mode 100644 index 0000000..1bc3073 --- /dev/null +++ b/java/external/xdocs/dom/style/idl/stylesheets.idl @@ -0,0 +1,71 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +// File: http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/stylesheets.idl + +#ifndef _STYLESHEETS_IDL_ +#define _STYLESHEETS_IDL_ + +#include "dom.idl" + +#pragma prefix "dom.w3c.org" +module stylesheets +{ + + typedef dom::DOMString DOMString; + typedef dom::Node Node; + + interface MediaList; + + // Introduced in DOM Level 2: + interface StyleSheet { + readonly attribute DOMString type; + attribute boolean disabled; + readonly attribute Node ownerNode; + readonly attribute StyleSheet parentStyleSheet; + readonly attribute DOMString href; + readonly attribute DOMString title; + readonly attribute MediaList media; + }; + + // Introduced in DOM Level 2: + interface StyleSheetList { + readonly attribute unsigned long length; + StyleSheet item(in unsigned long index); + }; + + // Introduced in DOM Level 2: + interface MediaList { + attribute DOMString mediaText; + // raises(dom::DOMException) on setting + + readonly attribute unsigned long length; + DOMString item(in unsigned long index); + void deleteMedium(in DOMString oldMedium) + raises(dom::DOMException); + void appendMedium(in DOMString newMedium) + raises(dom::DOMException); + }; + + // Introduced in DOM Level 2: + interface LinkStyle { + readonly attribute StyleSheet sheet; + }; + + // Introduced in DOM Level 2: + interface DocumentStyle { + readonly attribute StyleSheetList styleSheets; + }; +}; + +#endif // _STYLESHEETS_IDL_ + diff --git a/java/external/xdocs/dom/style/images/REC.gif b/java/external/xdocs/dom/style/images/REC.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0007d058a9843a4bfa3492b01d4d2c021d3101e GIT binary patch literal 903 zcmV;219<#LNk%w1VHp7I0JHx909u?7WTG&6uT_z~Wt+pQ$lkirhkXN`2YX^EC2ui02u)6000F45XecZy*TU5yZ>M)j$~<`XsWJk>%MR- z&vXqFg`w}@@-#c%$Dueq5~o7ZBya>whKF=21rZe3EY?OrFdWhX64Y!gu!jc$R5&~* zU(jPv2^>H7O1^U_R1^J31eI;4@Fc|1|14WT3Tyd3Y!%T zp`4@?21}?F36LC_nNFOe4W9~v9SNtEE&&Cy4J8k zz`?Ca*=T(b5M_!10V4uTqUTEmjvzY!di(&{Z^J?odr16aB9TNzSytq+;(}lrDFt*U zI&hFiLN*XOG!6q0j$*3@beUa0tX_iOMXJP?Ql08U<>=-xg z#I;n~zO5|hE(yCQ@}A)9R|{Zaf(gr!`vLKZ#U~sefc(KG?T#nBfGNZpLm9tm5=(VM zA`!S>)d=s_Dfh4*R;DCu4@D)}lfDG2b7xV!lfPEj_GJ#`itTsVX82KncgLqIv zqzCp`REtas2#4E~P)50pfE5U!K#&^%V$=i;DC3Qn7K~RO1`{?lmwyg884i{iFi?_D zSe+;iJb;84<^wBY!GI%RGQ>a{c#0wA2+uHpQGPlO^1uNHIM9%H!PrTGa|VKmVJu^m z34o?&Lf8#@5+rKDnjHLz!KE8mshW3#w#5JeTe7iRmjjTf0RjZEEZB1E+_`f+?sFGzzj@*I z8-DlsK0ZD?JUp?nvG?xXd-v|0j*gC6-t zPDVy1H#c|E>dP5jhc_O65K^;?+hwkejg4i-#^(8F*R5Mu+`qTCx3{yiv$V8y*REYI zE-nfR3P6{T3Uoj|0QrT1?Vm$KfrpM%|A{3S{t?g#+tIzZ>#n{*ifMp zIx}2n)2`J{Gwyb5m08WTMQN==?Ya5aVs$gCnV4IdnSxl_n8R7w`q{fDwRS`mGHRD` z=n7P`a4z8F3gTYK*%QjMZ1tKI{v5mveEb6bfiB{=y4If<+gKg))n;IkjLN zqlBA;pCrTjG_8I9VhcrsMHUK&ik&>YS}K6ULt2oJK{}jy8FvuZGL{gT$4?fXmGzL7 zb6OOu$aX41gmIaj&rcIRmnj0vT5K!LT%6eW|F&5iNON`3;0rcs5i)%0+?1lM_4n2? zBZf{zCT5ok0~Kens)cV{KZ>nd`cJt3q?e0f;whFX90p4-+?m0exFRr+qlrsVRZ)a7 z=%Aye;uA*E?r4jio*=D9hbsaq{CbUe9oA}cSR@%rX1&l_>wo1DFN6M+of;dZ)@bhj z)_EiJQ|HOFo%8{xe^}HPs+yI&)mZwxiP`*#l-*onlzYY2X~OUu~bpjn0E*@ftG%7e;0? z-Z*kRf4|}nx$=z2g<(vcI}aakPP4ptJvQQB&h!SS+LUEH>3$EsONz}Bl~~ltxy2+g zF{DTzU`BS2n6 zf^R}oQ`i!Q1DtU#l~09Nw?2>7P}#*6-7UZ%FjItM!{Mi5t0hHTYrd`wZOmazkdSf6 z-*>2QcHEKcJR*~CzKmy8# zO7~`~*#b|-^UM5PR`Rgh1(vihPp@I*FFd^E)va#%r!USda4DIfE%CzhgtiE?$??0J r0v#SSvN%ncaH!unZS~u2cgkMB-Tt6WJFmlMO7^>*EHAhOSs1JVY`nC@ literal 0 HcmV?d00001 diff --git a/java/external/xdocs/dom/style/java-binding.html b/java/external/xdocs/dom/style/java-binding.html new file mode 100644 index 0000000..3144bfb --- /dev/null +++ b/java/external/xdocs/dom/style/java-binding.html @@ -0,0 +1,1146 @@ + + + + +Java Language Binding + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix B: Java Language +Binding

+ +

This appendix contains the complete Java Language [Java] binding for +the Level 2 Document Object Model Style. The definitions are +divided into StyleSheets and CSS.

+ +

The Java files are also available as http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/java-binding.zip

+ +
+ +

B.1: Document Object +Model Style Sheets

+ +

+org/w3c/dom/stylesheets/StyleSheet.java:

+ +
+
+package org.w3c.dom.stylesheets;
+
+import org.w3c.dom.Node;
+
+public interface StyleSheet {
+    public String getType();
+
+    public boolean getDisabled();
+    public void setDisabled(boolean disabled);
+
+    public Node getOwnerNode();
+
+    public StyleSheet getParentStyleSheet();
+
+    public String getHref();
+
+    public String getTitle();
+
+    public MediaList getMedia();
+
+}
+
+
+ +

+org/w3c/dom/stylesheets/StyleSheetList.java:

+ +
+
+package org.w3c.dom.stylesheets;
+
+public interface StyleSheetList {
+    public int getLength();
+
+    public StyleSheet item(int index);
+
+}
+
+
+ +

+org/w3c/dom/stylesheets/MediaList.java:

+ +
+
+package org.w3c.dom.stylesheets;
+
+import org.w3c.dom.DOMException;
+
+public interface MediaList {
+    public String getMediaText();
+    public void setMediaText(String mediaText)
+                           throws DOMException;
+
+    public int getLength();
+
+    public String item(int index);
+
+    public void deleteMedium(String oldMedium)
+                             throws DOMException;
+
+    public void appendMedium(String newMedium)
+                             throws DOMException;
+
+}
+
+
+ +

+org/w3c/dom/stylesheets/LinkStyle.java:

+ +
+
+package org.w3c.dom.stylesheets;
+
+public interface LinkStyle {
+    public StyleSheet getSheet();
+
+}
+
+
+ +

+org/w3c/dom/stylesheets/DocumentStyle.java:

+ +
+
+package org.w3c.dom.stylesheets;
+
+public interface DocumentStyle {
+    public StyleSheetList getStyleSheets();
+
+}
+
+
+
+ + +
+ +

B.2: Document Object Model +CSS

+ +

+org/w3c/dom/css/CSSStyleSheet.java:

+ +
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.stylesheets.StyleSheet;
+
+public interface CSSStyleSheet extends StyleSheet {
+    public CSSRule getOwnerRule();
+
+    public CSSRuleList getCssRules();
+
+    public int insertRule(String rule, 
+                          int index)
+                          throws DOMException;
+
+    public void deleteRule(int index)
+                           throws DOMException;
+
+}
+
+
+ +

+org/w3c/dom/css/CSSRuleList.java:

+ +
+
+package org.w3c.dom.css;
+
+public interface CSSRuleList {
+    public int getLength();
+
+    public CSSRule item(int index);
+
+}
+
+
+ +

org/w3c/dom/css/CSSRule.java:

+ +
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+public interface CSSRule {
+    // RuleType
+    public static final short UNKNOWN_RULE              = 0;
+    public static final short STYLE_RULE                = 1;
+    public static final short CHARSET_RULE              = 2;
+    public static final short IMPORT_RULE               = 3;
+    public static final short MEDIA_RULE                = 4;
+    public static final short FONT_FACE_RULE            = 5;
+    public static final short PAGE_RULE                 = 6;
+
+    public short getType();
+
+    public String getCssText();
+    public void setCssText(String cssText)
+                        throws DOMException;
+
+    public CSSStyleSheet getParentStyleSheet();
+
+    public CSSRule getParentRule();
+
+}
+
+
+ +

+org/w3c/dom/css/CSSStyleRule.java:

+ +
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+public interface CSSStyleRule extends CSSRule {
+    public String getSelectorText();
+    public void setSelectorText(String selectorText)
+                        throws DOMException;
+
+    public CSSStyleDeclaration getStyle();
+
+}
+
+
+ +

+org/w3c/dom/css/CSSMediaRule.java:

+ +
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+import org.w3c.dom.stylesheets.MediaList;
+
+public interface CSSMediaRule extends CSSRule {
+    public MediaList getMedia();
+
+    public CSSRuleList getCssRules();
+
+    public int insertRule(String rule, 
+                          int index)
+                          throws DOMException;
+
+    public void deleteRule(int index)
+                           throws DOMException;
+
+}
+
+
+ +

+org/w3c/dom/css/CSSFontFaceRule.java:

+ +
+
+package org.w3c.dom.css;
+
+public interface CSSFontFaceRule extends CSSRule {
+    public CSSStyleDeclaration getStyle();
+
+}
+
+
+ +

+org/w3c/dom/css/CSSPageRule.java:

+ +
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+public interface CSSPageRule extends CSSRule {
+    public String getSelectorText();
+    public void setSelectorText(String selectorText)
+                           throws DOMException;
+
+    public CSSStyleDeclaration getStyle();
+
+}
+
+
+ +

+org/w3c/dom/css/CSSImportRule.java:

+ +
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.stylesheets.MediaList;
+
+public interface CSSImportRule extends CSSRule {
+    public String getHref();
+
+    public MediaList getMedia();
+
+    public CSSStyleSheet getStyleSheet();
+
+}
+
+
+ +

+org/w3c/dom/css/CSSCharsetRule.java:

+ +
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+public interface CSSCharsetRule extends CSSRule {
+    public String getEncoding();
+    public void setEncoding(String encoding)
+                           throws DOMException;
+
+}
+
+
+ +

+org/w3c/dom/css/CSSUnknownRule.java:

+ +
+
+package org.w3c.dom.css;
+
+public interface CSSUnknownRule extends CSSRule {
+}
+
+
+ +

+org/w3c/dom/css/CSSStyleDeclaration.java:

+ +
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+public interface CSSStyleDeclaration {
+    public String getCssText();
+    public void setCssText(String cssText)
+                           throws DOMException;
+
+    public String getPropertyValue(String propertyName);
+
+    public CSSValue getPropertyCSSValue(String propertyName);
+
+    public String removeProperty(String propertyName)
+                                 throws DOMException;
+
+    public String getPropertyPriority(String propertyName);
+
+    public void setProperty(String propertyName, 
+                            String value, 
+                            String priority)
+                            throws DOMException;
+
+    public int getLength();
+
+    public String item(int index);
+
+    public CSSRule getParentRule();
+
+}
+
+
+ +

+org/w3c/dom/css/CSSValue.java:

+ +
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+public interface CSSValue {
+    // UnitTypes
+    public static final short CSS_INHERIT               = 0;
+    public static final short CSS_PRIMITIVE_VALUE       = 1;
+    public static final short CSS_VALUE_LIST            = 2;
+    public static final short CSS_CUSTOM                = 3;
+
+    public String getCssText();
+    public void setCssText(String cssText)
+                       throws DOMException;
+
+    public short getCssValueType();
+
+}
+
+
+ +

+org/w3c/dom/css/CSSPrimitiveValue.java:

+ +
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+public interface CSSPrimitiveValue extends CSSValue {
+    // UnitTypes
+    public static final short CSS_UNKNOWN               = 0;
+    public static final short CSS_NUMBER                = 1;
+    public static final short CSS_PERCENTAGE            = 2;
+    public static final short CSS_EMS                   = 3;
+    public static final short CSS_EXS                   = 4;
+    public static final short CSS_PX                    = 5;
+    public static final short CSS_CM                    = 6;
+    public static final short CSS_MM                    = 7;
+    public static final short CSS_IN                    = 8;
+    public static final short CSS_PT                    = 9;
+    public static final short CSS_PC                    = 10;
+    public static final short CSS_DEG                   = 11;
+    public static final short CSS_RAD                   = 12;
+    public static final short CSS_GRAD                  = 13;
+    public static final short CSS_MS                    = 14;
+    public static final short CSS_S                     = 15;
+    public static final short CSS_HZ                    = 16;
+    public static final short CSS_KHZ                   = 17;
+    public static final short CSS_DIMENSION             = 18;
+    public static final short CSS_STRING                = 19;
+    public static final short CSS_URI                   = 20;
+    public static final short CSS_IDENT                 = 21;
+    public static final short CSS_ATTR                  = 22;
+    public static final short CSS_COUNTER               = 23;
+    public static final short CSS_RECT                  = 24;
+    public static final short CSS_RGBCOLOR              = 25;
+
+    public short getPrimitiveType();
+
+    public void setFloatValue(short unitType, 
+                              float floatValue)
+                              throws DOMException;
+
+    public float getFloatValue(short unitType)
+                               throws DOMException;
+
+    public void setStringValue(short stringType, 
+                               String stringValue)
+                               throws DOMException;
+
+    public String getStringValue()
+                                 throws DOMException;
+
+    public Counter getCounterValue()
+                                   throws DOMException;
+
+    public Rect getRectValue()
+                             throws DOMException;
+
+    public RGBColor getRGBColorValue()
+                                     throws DOMException;
+
+}
+
+
+ +

+org/w3c/dom/css/CSSValueList.java:

+ +
+
+package org.w3c.dom.css;
+
+public interface CSSValueList extends CSSValue {
+    public int getLength();
+
+    public CSSValue item(int index);
+
+}
+
+
+ +

+org/w3c/dom/css/RGBColor.java:

+ +
+
+package org.w3c.dom.css;
+
+public interface RGBColor {
+    public CSSPrimitiveValue getRed();
+
+    public CSSPrimitiveValue getGreen();
+
+    public CSSPrimitiveValue getBlue();
+
+}
+
+
+ +

org/w3c/dom/css/Rect.java:

+ +
+
+package org.w3c.dom.css;
+
+public interface Rect {
+    public CSSPrimitiveValue getTop();
+
+    public CSSPrimitiveValue getRight();
+
+    public CSSPrimitiveValue getBottom();
+
+    public CSSPrimitiveValue getLeft();
+
+}
+
+
+ +

org/w3c/dom/css/Counter.java:

+ +
+
+package org.w3c.dom.css;
+
+public interface Counter {
+    public String getIdentifier();
+
+    public String getListStyle();
+
+    public String getSeparator();
+
+}
+
+
+ +

org/w3c/dom/css/ViewCSS.java:

+ +
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.views.AbstractView;
+import org.w3c.dom.Element;
+
+public interface ViewCSS extends AbstractView {
+    public CSSStyleDeclaration getComputedStyle(Element elt, 
+                                                String pseudoElt);
+
+}
+
+
+ +

+org/w3c/dom/css/DocumentCSS.java:

+ +
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.stylesheets.DocumentStyle;
+import org.w3c.dom.Element;
+
+public interface DocumentCSS extends DocumentStyle {
+    public CSSStyleDeclaration getOverrideStyle(Element elt, 
+                                                String pseudoElt);
+
+}
+
+
+ +

+org/w3c/dom/css/DOMImplementationCSS.java:

+ +
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMImplementation;
+import org.w3c.dom.DOMException;
+
+public interface DOMImplementationCSS extends DOMImplementation {
+    public CSSStyleSheet createCSSStyleSheet(String title, 
+                                             String media)
+                                             throws DOMException;
+
+}
+
+
+ +

+org/w3c/dom/css/ElementCSSInlineStyle.java:

+ +
+
+package org.w3c.dom.css;
+
+public interface ElementCSSInlineStyle {
+    public CSSStyleDeclaration getStyle();
+
+}
+
+
+ +

+org/w3c/dom/css/CSS2Properties.java:

+ +
+
+package org.w3c.dom.css;
+
+import org.w3c.dom.DOMException;
+
+public interface CSS2Properties {
+    public String getAzimuth();
+    public void setAzimuth(String azimuth)
+                                             throws DOMException;
+
+    public String getBackground();
+    public void setBackground(String background)
+                                             throws DOMException;
+
+    public String getBackgroundAttachment();
+    public void setBackgroundAttachment(String backgroundAttachment)
+                                             throws DOMException;
+
+    public String getBackgroundColor();
+    public void setBackgroundColor(String backgroundColor)
+                                             throws DOMException;
+
+    public String getBackgroundImage();
+    public void setBackgroundImage(String backgroundImage)
+                                             throws DOMException;
+
+    public String getBackgroundPosition();
+    public void setBackgroundPosition(String backgroundPosition)
+                                             throws DOMException;
+
+    public String getBackgroundRepeat();
+    public void setBackgroundRepeat(String backgroundRepeat)
+                                             throws DOMException;
+
+    public String getBorder();
+    public void setBorder(String border)
+                                             throws DOMException;
+
+    public String getBorderCollapse();
+    public void setBorderCollapse(String borderCollapse)
+                                             throws DOMException;
+
+    public String getBorderColor();
+    public void setBorderColor(String borderColor)
+                                             throws DOMException;
+
+    public String getBorderSpacing();
+    public void setBorderSpacing(String borderSpacing)
+                                             throws DOMException;
+
+    public String getBorderStyle();
+    public void setBorderStyle(String borderStyle)
+                                             throws DOMException;
+
+    public String getBorderTop();
+    public void setBorderTop(String borderTop)
+                                             throws DOMException;
+
+    public String getBorderRight();
+    public void setBorderRight(String borderRight)
+                                             throws DOMException;
+
+    public String getBorderBottom();
+    public void setBorderBottom(String borderBottom)
+                                             throws DOMException;
+
+    public String getBorderLeft();
+    public void setBorderLeft(String borderLeft)
+                                             throws DOMException;
+
+    public String getBorderTopColor();
+    public void setBorderTopColor(String borderTopColor)
+                                             throws DOMException;
+
+    public String getBorderRightColor();
+    public void setBorderRightColor(String borderRightColor)
+                                             throws DOMException;
+
+    public String getBorderBottomColor();
+    public void setBorderBottomColor(String borderBottomColor)
+                                             throws DOMException;
+
+    public String getBorderLeftColor();
+    public void setBorderLeftColor(String borderLeftColor)
+                                             throws DOMException;
+
+    public String getBorderTopStyle();
+    public void setBorderTopStyle(String borderTopStyle)
+                                             throws DOMException;
+
+    public String getBorderRightStyle();
+    public void setBorderRightStyle(String borderRightStyle)
+                                             throws DOMException;
+
+    public String getBorderBottomStyle();
+    public void setBorderBottomStyle(String borderBottomStyle)
+                                             throws DOMException;
+
+    public String getBorderLeftStyle();
+    public void setBorderLeftStyle(String borderLeftStyle)
+                                             throws DOMException;
+
+    public String getBorderTopWidth();
+    public void setBorderTopWidth(String borderTopWidth)
+                                             throws DOMException;
+
+    public String getBorderRightWidth();
+    public void setBorderRightWidth(String borderRightWidth)
+                                             throws DOMException;
+
+    public String getBorderBottomWidth();
+    public void setBorderBottomWidth(String borderBottomWidth)
+                                             throws DOMException;
+
+    public String getBorderLeftWidth();
+    public void setBorderLeftWidth(String borderLeftWidth)
+                                             throws DOMException;
+
+    public String getBorderWidth();
+    public void setBorderWidth(String borderWidth)
+                                             throws DOMException;
+
+    public String getBottom();
+    public void setBottom(String bottom)
+                                             throws DOMException;
+
+    public String getCaptionSide();
+    public void setCaptionSide(String captionSide)
+                                             throws DOMException;
+
+    public String getClear();
+    public void setClear(String clear)
+                                             throws DOMException;
+
+    public String getClip();
+    public void setClip(String clip)
+                                             throws DOMException;
+
+    public String getColor();
+    public void setColor(String color)
+                                             throws DOMException;
+
+    public String getContent();
+    public void setContent(String content)
+                                             throws DOMException;
+
+    public String getCounterIncrement();
+    public void setCounterIncrement(String counterIncrement)
+                                             throws DOMException;
+
+    public String getCounterReset();
+    public void setCounterReset(String counterReset)
+                                             throws DOMException;
+
+    public String getCue();
+    public void setCue(String cue)
+                                             throws DOMException;
+
+    public String getCueAfter();
+    public void setCueAfter(String cueAfter)
+                                             throws DOMException;
+
+    public String getCueBefore();
+    public void setCueBefore(String cueBefore)
+                                             throws DOMException;
+
+    public String getCursor();
+    public void setCursor(String cursor)
+                                             throws DOMException;
+
+    public String getDirection();
+    public void setDirection(String direction)
+                                             throws DOMException;
+
+    public String getDisplay();
+    public void setDisplay(String display)
+                                             throws DOMException;
+
+    public String getElevation();
+    public void setElevation(String elevation)
+                                             throws DOMException;
+
+    public String getEmptyCells();
+    public void setEmptyCells(String emptyCells)
+                                             throws DOMException;
+
+    public String getCssFloat();
+    public void setCssFloat(String cssFloat)
+                                             throws DOMException;
+
+    public String getFont();
+    public void setFont(String font)
+                                             throws DOMException;
+
+    public String getFontFamily();
+    public void setFontFamily(String fontFamily)
+                                             throws DOMException;
+
+    public String getFontSize();
+    public void setFontSize(String fontSize)
+                                             throws DOMException;
+
+    public String getFontSizeAdjust();
+    public void setFontSizeAdjust(String fontSizeAdjust)
+                                             throws DOMException;
+
+    public String getFontStretch();
+    public void setFontStretch(String fontStretch)
+                                             throws DOMException;
+
+    public String getFontStyle();
+    public void setFontStyle(String fontStyle)
+                                             throws DOMException;
+
+    public String getFontVariant();
+    public void setFontVariant(String fontVariant)
+                                             throws DOMException;
+
+    public String getFontWeight();
+    public void setFontWeight(String fontWeight)
+                                             throws DOMException;
+
+    public String getHeight();
+    public void setHeight(String height)
+                                             throws DOMException;
+
+    public String getLeft();
+    public void setLeft(String left)
+                                             throws DOMException;
+
+    public String getLetterSpacing();
+    public void setLetterSpacing(String letterSpacing)
+                                             throws DOMException;
+
+    public String getLineHeight();
+    public void setLineHeight(String lineHeight)
+                                             throws DOMException;
+
+    public String getListStyle();
+    public void setListStyle(String listStyle)
+                                             throws DOMException;
+
+    public String getListStyleImage();
+    public void setListStyleImage(String listStyleImage)
+                                             throws DOMException;
+
+    public String getListStylePosition();
+    public void setListStylePosition(String listStylePosition)
+                                             throws DOMException;
+
+    public String getListStyleType();
+    public void setListStyleType(String listStyleType)
+                                             throws DOMException;
+
+    public String getMargin();
+    public void setMargin(String margin)
+                                             throws DOMException;
+
+    public String getMarginTop();
+    public void setMarginTop(String marginTop)
+                                             throws DOMException;
+
+    public String getMarginRight();
+    public void setMarginRight(String marginRight)
+                                             throws DOMException;
+
+    public String getMarginBottom();
+    public void setMarginBottom(String marginBottom)
+                                             throws DOMException;
+
+    public String getMarginLeft();
+    public void setMarginLeft(String marginLeft)
+                                             throws DOMException;
+
+    public String getMarkerOffset();
+    public void setMarkerOffset(String markerOffset)
+                                             throws DOMException;
+
+    public String getMarks();
+    public void setMarks(String marks)
+                                             throws DOMException;
+
+    public String getMaxHeight();
+    public void setMaxHeight(String maxHeight)
+                                             throws DOMException;
+
+    public String getMaxWidth();
+    public void setMaxWidth(String maxWidth)
+                                             throws DOMException;
+
+    public String getMinHeight();
+    public void setMinHeight(String minHeight)
+                                             throws DOMException;
+
+    public String getMinWidth();
+    public void setMinWidth(String minWidth)
+                                             throws DOMException;
+
+    public String getOrphans();
+    public void setOrphans(String orphans)
+                                             throws DOMException;
+
+    public String getOutline();
+    public void setOutline(String outline)
+                                             throws DOMException;
+
+    public String getOutlineColor();
+    public void setOutlineColor(String outlineColor)
+                                             throws DOMException;
+
+    public String getOutlineStyle();
+    public void setOutlineStyle(String outlineStyle)
+                                             throws DOMException;
+
+    public String getOutlineWidth();
+    public void setOutlineWidth(String outlineWidth)
+                                             throws DOMException;
+
+    public String getOverflow();
+    public void setOverflow(String overflow)
+                                             throws DOMException;
+
+    public String getPadding();
+    public void setPadding(String padding)
+                                             throws DOMException;
+
+    public String getPaddingTop();
+    public void setPaddingTop(String paddingTop)
+                                             throws DOMException;
+
+    public String getPaddingRight();
+    public void setPaddingRight(String paddingRight)
+                                             throws DOMException;
+
+    public String getPaddingBottom();
+    public void setPaddingBottom(String paddingBottom)
+                                             throws DOMException;
+
+    public String getPaddingLeft();
+    public void setPaddingLeft(String paddingLeft)
+                                             throws DOMException;
+
+    public String getPage();
+    public void setPage(String page)
+                                             throws DOMException;
+
+    public String getPageBreakAfter();
+    public void setPageBreakAfter(String pageBreakAfter)
+                                             throws DOMException;
+
+    public String getPageBreakBefore();
+    public void setPageBreakBefore(String pageBreakBefore)
+                                             throws DOMException;
+
+    public String getPageBreakInside();
+    public void setPageBreakInside(String pageBreakInside)
+                                             throws DOMException;
+
+    public String getPause();
+    public void setPause(String pause)
+                                             throws DOMException;
+
+    public String getPauseAfter();
+    public void setPauseAfter(String pauseAfter)
+                                             throws DOMException;
+
+    public String getPauseBefore();
+    public void setPauseBefore(String pauseBefore)
+                                             throws DOMException;
+
+    public String getPitch();
+    public void setPitch(String pitch)
+                                             throws DOMException;
+
+    public String getPitchRange();
+    public void setPitchRange(String pitchRange)
+                                             throws DOMException;
+
+    public String getPlayDuring();
+    public void setPlayDuring(String playDuring)
+                                             throws DOMException;
+
+    public String getPosition();
+    public void setPosition(String position)
+                                             throws DOMException;
+
+    public String getQuotes();
+    public void setQuotes(String quotes)
+                                             throws DOMException;
+
+    public String getRichness();
+    public void setRichness(String richness)
+                                             throws DOMException;
+
+    public String getRight();
+    public void setRight(String right)
+                                             throws DOMException;
+
+    public String getSize();
+    public void setSize(String size)
+                                             throws DOMException;
+
+    public String getSpeak();
+    public void setSpeak(String speak)
+                                             throws DOMException;
+
+    public String getSpeakHeader();
+    public void setSpeakHeader(String speakHeader)
+                                             throws DOMException;
+
+    public String getSpeakNumeral();
+    public void setSpeakNumeral(String speakNumeral)
+                                             throws DOMException;
+
+    public String getSpeakPunctuation();
+    public void setSpeakPunctuation(String speakPunctuation)
+                                             throws DOMException;
+
+    public String getSpeechRate();
+    public void setSpeechRate(String speechRate)
+                                             throws DOMException;
+
+    public String getStress();
+    public void setStress(String stress)
+                                             throws DOMException;
+
+    public String getTableLayout();
+    public void setTableLayout(String tableLayout)
+                                             throws DOMException;
+
+    public String getTextAlign();
+    public void setTextAlign(String textAlign)
+                                             throws DOMException;
+
+    public String getTextDecoration();
+    public void setTextDecoration(String textDecoration)
+                                             throws DOMException;
+
+    public String getTextIndent();
+    public void setTextIndent(String textIndent)
+                                             throws DOMException;
+
+    public String getTextShadow();
+    public void setTextShadow(String textShadow)
+                                             throws DOMException;
+
+    public String getTextTransform();
+    public void setTextTransform(String textTransform)
+                                             throws DOMException;
+
+    public String getTop();
+    public void setTop(String top)
+                                             throws DOMException;
+
+    public String getUnicodeBidi();
+    public void setUnicodeBidi(String unicodeBidi)
+                                             throws DOMException;
+
+    public String getVerticalAlign();
+    public void setVerticalAlign(String verticalAlign)
+                                             throws DOMException;
+
+    public String getVisibility();
+    public void setVisibility(String visibility)
+                                             throws DOMException;
+
+    public String getVoiceFamily();
+    public void setVoiceFamily(String voiceFamily)
+                                             throws DOMException;
+
+    public String getVolume();
+    public void setVolume(String volume)
+                                             throws DOMException;
+
+    public String getWhiteSpace();
+    public void setWhiteSpace(String whiteSpace)
+                                             throws DOMException;
+
+    public String getWidows();
+    public void setWidows(String widows)
+                                             throws DOMException;
+
+    public String getWidth();
+    public void setWidth(String width)
+                                             throws DOMException;
+
+    public String getWordSpacing();
+    public void setWordSpacing(String wordSpacing)
+                                             throws DOMException;
+
+    public String getZIndex();
+    public void setZIndex(String zIndex)
+                                             throws DOMException;
+
+}
+
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/style/references.html b/java/external/xdocs/dom/style/references.html new file mode 100644 index 0000000..81cb532 --- /dev/null +++ b/java/external/xdocs/dom/style/references.html @@ -0,0 +1,139 @@ + + + + +References + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

References

+ +

For the latest version of any W3C specification please consult +the list of W3C Technical +Reports available at http://www.w3.org/TR.

+ +
+ +

E.1: Normative +references

+ +
+
DOM Level 2 Core
+ +
W3C (World Wide Web Consortium) Document +Object Model Level 2 Core Specification, November 2000. +Available at +http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113
+ +
CSS2
+ +
W3C (World Wide Web Consortium) Cascading Style +Sheets, level 2 Specification, May 1998. Available at +http://www.w3.org/TR/1998/REC-CSS2-19980512
+ +
ECMAScript
+ +
ECMA (European Computer Manufacturers Association) ECMAScript +Language Specification. Available at +http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM
+ +
HTML4.0
+ +
W3C (World Wide Web Consortium) HTML 4.0 +Specification, April 1998. Available at +http://www.w3.org/TR/1998/REC-html40-19980424
+ +
Java
+ +
Sun Microsystems Inc. The Java Language +Specification, James Gosling, Bill Joy, and Guy Steele, +September 1996. Available at +http://java.sun.com/docs/books/jls
+ +
OMGIDL
+ +
OMG (Object Management Group) +IDL (Interface Definition Language) defined in The Common Object +Request Broker: Architecture and Specification, version 2.3.1, +October 1999. Available from http://www.omg.org/
+ +
DOM Level 2 +Views
+ +
W3C (World Wide Web Consortium) Document +Object Model Level 2 Views Specification, November 2000. +Available at +http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113
+ +
XML-StyleSheet
+ +
W3C (World Wide Web Consortium) Associating +Style Sheets with XML documents Version 1.0, June 1999. +Available at +http://www.w3.org/1999/06/REC-xml-stylesheet-19990629.
+
+
+ + +
+ +

E.2: Informative +references

+ +
+
DOM Level 2 +HTML
+ +
W3C (World Wide Web Consortium) Document Object Model +Level 2 HTML Specification. Available at +http://www.w3.org/TR/DOM-Level-2-HTML
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/style/spec.css b/java/external/xdocs/dom/style/spec.css new file mode 100644 index 0000000..6a6bf13 --- /dev/null +++ b/java/external/xdocs/dom/style/spec.css @@ -0,0 +1,75 @@ +H4 { + text-align: left; + font-family: sans-serif; + font-weight: normal; + color: #0050B2; +} +.idl-code { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} +.java-code { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} + + +.code-block { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} + + +.ecma-block { + border: 1px solid black; + color: black; + background-color: #dfdfdf; +} + + +.interface-name { + font-weight: bold +} + +.attribute-name { + color: black; + background-color: #FFFFD2; +} + +.constant-name { + color: black; + background-color: #DDFFD2; +} + +.method-name { + color: black; + background-color: #D9E6F8; +} + +.parameter-name { + color: black; + background-color: #FEE6F8; +} + +UL.toc, OL.toc {list-style: none} +DIV.toc UL UL, DIV.toc OL OL {margin-left: 0} +DIV.toc UL UL UL, DIV.toc OL OL OL {margin-left: 1em} +DIV.toc UL UL UL UL, DIV.toc OL OL OL OL {margin-left: 0} +LI.tocline1 {font-weight: bold} +LI.tocline2 {font-weight: normal} +LI.tocline4 {font-style: italic} + +code { font-family: monospace } + +div.paramtable { margin-left: 1em } +div.returntable { margin-left: 1em } +div.exceptiontable { margin-left: 1em } diff --git a/java/external/xdocs/dom/style/stylesheets.html b/java/external/xdocs/dom/style/stylesheets.html new file mode 100644 index 0000000..d314081 --- /dev/null +++ b/java/external/xdocs/dom/style/stylesheets.html @@ -0,0 +1,814 @@ + + + + +Document Object Model Style Sheets + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

1. Document Object Model Style +Sheets

+ +
+
Editors
+ +
Chris Wilson, Microsoft Corp.
+ +
Philippe Le Hégaret, W3C
+ +
Vidur Apparao, Netscape Communications Corp.
+
+ + + +
+ +

1.1. +Introduction

+ +

The DOM Level 2 Style Sheet interfaces are base interfaces used +to represent any type of style sheet. The expectation is that DOM +modules that represent a specific style sheet language may contain +interfaces that derive from these interfaces.

+ +

The interfaces found within this section are not mandatory. A +DOM application may use the hasFeature(feature, +version) method of the DOMImplementation +interface with parameter values "StyleSheets" and "2.0" +(respectively) to determine whether or not this module is supported +by the implementation. In order to fully support this module, an +implementation must also support the "Core" feature defined defined +in the DOM 2 Core specification [DOM Level 2 Core]. Please refer +to additional information about +conformance in the DOM Level 2 Core specification [DOM Level 2 +Core].

+
+ + +
+ +

1.2. Style Sheet +Interfaces

+ +

This set of interfaces represents the generic notion of style +sheets.

+ +
+
Interface StyleSheet (introduced in +DOM Level 2)
+ +
+

The StyleSheet interface is the abstract base +interface for any type of style sheet. It represents a single style +sheet associated with a structured document. In HTML, the +StyleSheet interface represents either an external style sheet, +included via the HTML +LINK element, or an inline +STYLE element. In XML, this interface represents an +external style sheet, included via a style +sheet processing instruction.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface StyleSheet {
+  readonly attribute DOMString        type;
+           attribute boolean          disabled;
+  readonly attribute Node             ownerNode;
+  readonly attribute StyleSheet       parentStyleSheet;
+  readonly attribute DOMString        href;
+  readonly attribute DOMString        title;
+  readonly attribute MediaList        media;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
disabled of type +boolean
+ +
false if the style sheet is applied to the +document. true if it is not. Modifying this attribute +may cause a new resolution of style for the document. A stylesheet +only applies if both an appropriate medium definition is present +and the disabled attribute is false. So, if the media doesn't apply +to the current user agent, the disabled attribute is +ignored.
+
+ +
href of type +DOMString, readonly
+ +
If the style sheet is a linked style sheet, the value of its +attribute is its location. For inline style sheets, the value of +this attribute is null. See the +href attribute definition for the LINK +element in HTML 4.0, and the href pseudo-attribute for the XML +style sheet processing instruction.
+
+ +
media of type MediaList, +readonly
+ +
The intended destination media for style information. The media +is often specified in the ownerNode. If no media has +been specified, the MediaList +will be empty. See the +media attribute definition for the LINK +element in HTML 4.0, and the media pseudo-attribute for the XML +style sheet processing instruction . Modifying the +media list may cause a change to the attribute +disabled.
+
+ +
ownerNode of +type Node, readonly
+ +
The node that associates this style sheet with the document. +For HTML, this may be the corresponding LINK or +STYLE element. For XML, it may be the linking +processing instruction. For style sheets that are included by other +style sheets, the value of this attribute is +null.
+
+ +
parentStyleSheet +of type StyleSheet, +readonly
+ +
For style sheet languages that support the concept of style +sheet inclusion, this attribute represents the including style +sheet, if one exists. If the style sheet is a top-level style +sheet, or the style sheet language does not support inclusion, the +value of this attribute is null.
+
+ +
title of type +DOMString, readonly
+ +
The advisory title. The title is often specified in the +ownerNode. See the +title attribute definition for the LINK +element in HTML 4.0, and the title pseudo-attribute for the XML +style sheet processing instruction.
+
+ +
type of type +DOMString, readonly
+ +
This specifies the style sheet language for this style sheet. +The style sheet language is specified as a content type (e.g. +"text/css"). The +content type is often specified in the +ownerNode. Also see the +type attribute definition for the LINK +element in HTML 4.0, and the type pseudo-attribute for the XML style +sheet processing instruction.
+
+
+
+
+
+ +
Interface StyleSheetList +(introduced in DOM Level 2)
+ +
+

The StyleSheetList interface provides the +abstraction of an ordered collection of style sheets.

+ +

The items in the StyleSheetList are accessible via +an integral index, starting from 0.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface StyleSheetList {
+  readonly attribute unsigned long    length;
+  StyleSheet         item(in unsigned long index);
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
length of type +unsigned long, readonly
+ +
The number of StyleSheets +in the list. The range of valid child stylesheet indices is +0 to length-1 inclusive.
+
+
+
+ +
Methods
+ +
+
+
item
+ +
+
Used to retrieve a style sheet by ordinal +index. If index is greater than or equal to the number of style +sheets in the list, this returns null. + +
Parameters + +
+
+
index of type +unsigned long
+ +
Index into the collection
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

StyleSheet

+
+

The style sheet at the index position in the +StyleSheetList, or null if that is not a +valid index.

+
+
+
+ + +
No Exceptions
+
+ + +
+
+
+
+
+ +
Interface MediaList (introduced in +DOM Level 2)
+ +
+

The MediaList interface provides the abstraction of +an ordered collection of +media, without defining or constraining how this +collection is implemented. An empty list is the same as a list that +contains the medium "all".

+ +

The items in the MediaList are accessible via an +integral index, starting from 0.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface MediaList {
+           attribute DOMString        mediaText;
+                                        // raises(DOMException) on setting
+
+  readonly attribute unsigned long    length;
+  DOMString          item(in unsigned long index);
+  void               deleteMedium(in DOMString oldMedium)
+                                        raises(DOMException);
+  void               appendMedium(in DOMString newMedium)
+                                        raises(DOMException);
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
length of type +unsigned long, readonly
+ +
The number of media in the list. The range of valid media is +0 to length-1 inclusive.
+
+ +
mediaText of type +DOMString
+ +
The parsable textual representation of the media list. This is +a comma-separated list of media.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

SYNTAX_ERR: Raised if the specified string value has a syntax +error and is unparsable.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this media list is +readonly.

+
+
+
+ + +
+
+
+ +
Methods
+ +
+
+
appendMedium
+ +
+
Adds the medium newMedium to the +end of the list. If the newMedium is already used, it +is first removed. + +
Parameters + +
+
+
newMedium of type +DOMString
+ +
The new medium to add.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_CHARACTER_ERR: If the medium contains characters that +are invalid in the underlying style language.

+ +

NO_MODIFICATION_ALLOWED_ERR: Raised if this list is +readonly.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
deleteMedium
+ +
+
Deletes the medium indicated by +oldMedium from the list. + +
Parameters + +
+
+
oldMedium of type +DOMString
+ +
The medium to delete in the media list.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised if this list is +readonly.

+ +

NOT_FOUND_ERR: Raised if oldMedium is not in the +list.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
item
+ +
+
Returns the indexth in the list. +If index is greater than or equal to the number of +media in the list, this returns null. + +
Parameters + +
+
+
index of type +unsigned long
+ +
Index into the collection.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

DOMString

+
+

The medium at the indexth position in the +MediaList, or null if that is not a valid +index.

+
+
+
+ + +
No Exceptions
+
+ + +
+
+
+
+
+
+
+ + +
+ +

1.3. Document +Extensions

+ +
+
Interface LinkStyle (introduced in +DOM Level 2)
+ +
+

The LinkStyle interface provides a mechanism by +which a style sheet can be retrieved from the node responsible for +linking it into a document. An instance of the +LinkStyle interface can be obtained using +binding-specific casting methods on an instance of a linking node +(HTMLLinkElement, HTMLStyleElement or +ProcessingInstruction in DOM Level 2).

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface LinkStyle {
+  readonly attribute StyleSheet       sheet;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
sheet of type StyleSheet, +readonly
+ +
The style sheet.
+
+
+
+
+
+ +
Interface DocumentStyle +(introduced in DOM Level 2)
+ +
+

The DocumentStyle interface provides a mechanism by +which the style sheets embedded in a document can be retrieved. The +expectation is that an instance of the DocumentStyle +interface can be obtained by using binding-specific casting methods +on an instance of the Document interface.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface DocumentStyle {
+  readonly attribute StyleSheetList   styleSheets;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
styleSheets +of type StyleSheetList, +readonly
+ +
A list containing all the style sheets explicitly linked into +or embedded in a document. For HTML documents, this includes +external style sheets, included via the HTML +LINK element, and inline +STYLE elements. In XML, this includes external style +sheets, included via style sheet processing instructions (see [XML-StyleSheet]).
+
+
+
+
+
+
+
+ + +
+ +

1.4. Association +between a style sheet and a document.

+ +
+
HTML and Style Sheet Creation
+ +
A style sheet can be associated with an HTMLDocument in one of +two ways: + +
    +
  • By creating a new LINK HTML element (see the +HTMLLinkElement interface in the [DOM Level 2 HTML] and [HTML4.0]). The +underlying style sheet will be created after the element is +inserted into the document and both the href and the type attribute +have been set in a way indicating that the linked object is a style +sheet.
  • + +
  • By creating a new STYLE HTML element (see the +HTMLStyleElement interface in the [DOM Level 2 HTML] and [HTML4.0]). The +underlying style sheet will be created after the element is +inserted into the document and the type attribute is set in a way +indicating that the element corresponds to a style sheet language +interpreted by the user agent.
  • +
+
+ +
HTML and Style Sheet Removal
+ +
Removing a LINK HTML element or a STYLE HTML element removes +the underlying style sheet from the style sheet collection +associated with a document. Specifically, the removed style sheet +is no longer applied to the presentation of the document.
+ +
XML and Style Sheet Creation
+ +
A new style sheet can be created and associated with an XML +document by creating a processing instruction with the target +'xml-stylesheet' [XML-StyleSheet] and +inserting it into the document.
+ +
XML and Style Sheet Removal
+ +
Removing a processing instruction with a target of +'xml-stylesheet' [XML-StyleSheet] removes +the underlying style sheet from the style sheet collection +associated with a document. Specifically, the removed style sheet +is no longer applied to the presentation of the document.
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/traversal-range/COPYRIGHT.html b/java/external/xdocs/dom/traversal-range/COPYRIGHT.html new file mode 100644 index 0000000..26049b7 --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/COPYRIGHT.html @@ -0,0 +1,100 @@ + + + + + W3C IPR SOFTWARE NOTICE + + +

+ W3C IPR SOFTWARE NOTICE +

+

+ Copyright © 2000 World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. +

+

+ The DOM bindings are published under the W3C Software Copyright Notice + and License. The software license requires "Notice of any changes or + modifications to the W3C files, including the date changes were made." + Consequently, modified versions of the DOM bindings must document that + they do not conform to the W3C standard; in the case of the IDL binding, + the pragma prefix can no longer be 'w3c.org'; in the case of the Java + binding, the package names can no longer be in the 'org.w3c' package. +

+

+ Note: The original version of the W3C Software Copyright Notice + and License could be found at http://www.w3.org/Consortium/Legal/copyright-software-19980720 +

+

+ Copyright © 1994-2000 World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. http://www.w3.org/Consortium/Legal/ +

+

+ This W3C work (including software, documents, or other related items) is + being provided by the copyright holders under the following license. By + obtaining, using and/or copying this work, you (the licensee) agree that + you have read, understood, and will comply with the following terms and + conditions: +

+

+ Permission to use, copy, and modify this software and its documentation, + with or without modification,  for any purpose and without fee or + royalty is hereby granted, provided that you include the following on ALL + copies of the software and documentation or portions thereof, including + modifications, that you make: +

+
    +
  1. + The full text of this NOTICE in a location viewable to users of the + redistributed or derivative work. +
  2. +
  3. + Any pre-existing intellectual property disclaimers, notices, or terms + and conditions. If none exist, a short notice of the following form + (hypertext is preferred, text is permitted) should be used within the + body of any redistributed or derivative code: "Copyright © + [$date-of-software] World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. http://www.w3.org/Consortium/Legal/" +
  4. +
  5. + Notice of any changes or modifications to the W3C files, including the + date changes were made. (We recommend you provide URIs to the location + from which the code is derived.) +
  6. +
+

+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT + HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR + DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, + TRADEMARKS OR OTHER RIGHTS. +

+

+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR + CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR + DOCUMENTATION. +

+

+ The name and trademarks of copyright holders may NOT be used in + advertising or publicity pertaining to the software without specific, + written prior permission. Title to copyright in this software and any + associated documentation will at all times remain with copyright + holders. +

+ + diff --git a/java/external/xdocs/dom/traversal-range/Overview.html b/java/external/xdocs/dom/traversal-range/Overview.html new file mode 100644 index 0000000..eaae4f6 --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/Overview.html @@ -0,0 +1,215 @@ + + + + +Document Object Model (DOM) Level 2 Traversal and Range +Specification + + + + + + + + + +
+

+ +

Document Object Model (DOM) Level 2 Traversal and +Range Specification

+ +

Version 1.0

+ + +

W3C Recommendation 13 November, +2000

+ +
+
This version:
+ +
+http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113
+ ( +PostScript file , +PDF file , +plain text , +ZIP file)
+ +
Latest version:
+ +
http://www.w3.org/TR/DOM-Level-2-Traversal-Range
+ +
Previous version:
+ +
+http://www.w3.org/TR/2000/PR-DOM-Level-2-Traversal-Range-20000927
+
+ +
+
Editors:
+ +
Joe Kesselman, IBM
+ +
Jonathan Robie, Texcel Research and Software AG
+ +
Mike Champion, Arbortext and Software AG
+ +
Peter Sharpe, SoftQuad Software Inc.
+ +
Vidur Apparao, Netscape Communications Corp.
+ +
Lauren Wood, SoftQuad Software Inc., WG Chair
+
+ + +
+ +
+

Abstract

+ +
+

This specification defines the Document Object Model Level 2 +Traversal and Range, platform- and language-neutral interfaces that +allow programs and scripts to dynamically traverse and identify a +range of content in a document. The Document Object Model Level 2 +Traversal and Range build on the Document Object Model Level 2 Core +[DOM Level 2 +Core].

+ +

The DOM Level 2 Traversal and Range specification is composed of +two modules. The two modules contain specialized interfaces +dedicated to traversing the document structure and identifying and +manipulating a range in a document.

+
+ +

Status of this document

+ +
+

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 W3C.

+ +

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.

+ +

This document has been produced as part of the W3C DOM Activity. +The authors of this document are the DOM Working Group members. +Different modules of the Document Object Model have different +editors.

+ +

Please send general comments about this document to the public +mailing list www-dom@w3.org. An +archive +is available at http://lists.w3.org/Archives/Public/www-dom/.

+ +

The English version of this specification is the only normative +version. Information about translations +of this document is available at +http://www.w3.org/2000/11/DOM-Level-2-translations.

+ +

The list +of known errors in this document is available at +http://www.w3.org/2000/11/DOM-Level-2-errata

+ +

A list of current W3C +Recommendations and other technical documents can be found at +http://www.w3.org/TR.

+
+ +

Table +of contents

+ + + + + + + + + + + diff --git a/java/external/xdocs/dom/traversal-range/W3C-REC.css b/java/external/xdocs/dom/traversal-range/W3C-REC.css new file mode 100644 index 0000000..43eea27 --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/W3C-REC.css @@ -0,0 +1,94 @@ +/* This is an SSI script. Policy: + (1) Use CVS + (2) send e-mail to w3t-comm@w3.org if you edit this +*/ +/* Style for a "Recommendation" */ + +/* + This is an SSI script. Policy: + (1) Use CVS + (2) send e-mail to w3t-comm@w3.org if you edit this + + Acknowledgments: + + - 'background-color' doesn't work on Mac IE 3, but 'background' + does (Susan Lesch ) + + - 'smaller' leads to illegible text in both Mac IE and Mac NS, + 'small' is better: works in Mac NS, but is always 12pt in Mac IE + 3 (Susan Lesch ) + + $Id$ +*/ + +body { + margin: 2em 1em 2em 70px; + font-family: sans-serif; + color: black; + background: white; + background-position: top left; + background-attachment: fixed; + background-repeat: no-repeat; +} + +th, td { /* ns 4 */ + font-family: sans-serif; +} + +h1, h2, h3, h4, h5, h6 { text-align: left } +h1, h2, h3 { color: #005A9C } +h1 { font: 170% sans-serif } +h2 { font: 140% sans-serif } +h3 { font: 120% sans-serif } +h4 { font: bold 100% sans-serif } +h5 { font: italic 100% sans-serif } +h6 { font: small-caps 100% sans-serif } + +.hide { display: none } + +div.head { margin-bottom: 1em } +div.head h1 { margin-top: 2em; clear: both } +div.head table { margin-left: 2em; margin-top: 2em } +div.head img { color: white; border: none } /* remove border from top image */ + +p.copyright { font-size: small } +p.copyright small { font-size: small } + +@media screen { /* hide from IE3 */ +a:hover { background: #ffa } +} + +pre { margin-left: 2em } +/* +p { + margin-top: 0.6em; + margin-bottom: 0.6em; +} +*/ +dt, dd { margin-top: 0; margin-bottom: 0 } /* opera 3.50 */ +dt { font-weight: bold } + +pre, code { font-family: monospace } /* navigator 4 requires this */ + +ul.toc { + list-style: disc; /* Mac NS has problem with 'none' */ + list-style: none; +} + +@media aural { + h1, h2, h3 { stress: 20; richness: 90 } + .hide { speak: none } + p.copyright { volume: x-soft; speech-rate: x-fast } + dt { pause-before: 20% } + pre { speak-punctuation: code } +} + +/* Things (icons) that should only show up in projection mode */ +.projection { display: none } +@media projection { .projection { display: inline } } + + +body { + background-image: url(http://www.w3.org/StyleSheets/TR/logo-REC); +} + diff --git a/java/external/xdocs/dom/traversal-range/acknowledgements.html b/java/external/xdocs/dom/traversal-range/acknowledgements.html new file mode 100644 index 0000000..d89fa58 --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/acknowledgements.html @@ -0,0 +1,101 @@ + + + + +Acknowledgements + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix D: +Acknowledgements

+ +

Many people contributed to this specification, including members +of the DOM Working Group and the DOM Interest Group. We especially +thank the following:

+ +

Lauren Wood (SoftQuad Software Inc., chair), Andrew +Watson (Object Management Group), Andy Heninger (IBM), Arnaud Le +Hors (W3C and IBM), Ben Chang (Oracle), Bill Smith (Sun), Bill Shea +(Merrill Lynch), Bob Sutor (IBM), Chris Lovett (Microsoft), Chris +Wilson (Microsoft), David Brownell (Sun), David Singer (IBM), Don +Park (invited), Eric Vasilik (Microsoft), Gavin Nicol (INSO), Ian +Jacobs (W3C), James Clark (invited), James Davidson (Sun), Jared +Sorensen (Novell), Joe Kesselman (IBM), Joe Lapp (webMethods), Joe +Marini (Macromedia), Johnny Stenback (Netscape), Jonathan Marsh +(Microsoft), Jonathan Robie (Texcel Research and Software AG), Kim +Adamson-Sharpe (SoftQuad Software Inc.), Laurence Cable (Sun), Mark +Davis (IBM), Mark Scardina (Oracle), Martin Dürst (W3C), Mick +Goulish (Software AG), Mike Champion (Arbortext and Software AG), +Miles Sabin (Cromwell Media), Patti Lutsky (Arbortext), Paul Grosso +(Arbortext), Peter Sharpe (SoftQuad Software Inc.), Phil Karlton +(Netscape), Philippe Le Hégaret (W3C, W3C team +contact), Ramesh Lekshmynarayanan (Merrill Lynch), Ray Whitmer +(iMall, Excite@Home and Netscape), Rich Rollman (Microsoft), Rick +Gessner (Netscape), Scott Isaacs (Microsoft), Sharon Adler (INSO), +Steve Byrne (JavaSoft), Tim Bray (invited), Tom Pixley (Netscape), +Vidur Apparao (Netscape), Vinod Anupam (Lucent).

+ +

Thanks to all those who have helped to improve this +specification by sending suggestions and corrections.

+ +
+ +

D.1: Production Systems

+ +

This specification was written in XML. The HTML, OMG IDL, Java +and ECMA Script bindings were all produced automatically.

+ +

Thanks to Joe English, author of cost, which was used as +the basis for producing DOM Level 1. Thanks also to Gavin Nicol, +who wrote the scripts which run on top of cost. Arnaud Le Hors and +Philippe Le Hégaret maintained the scripts.

+ +

For DOM Level 2, we used Xerces as the basis DOM +implementation and wish to thank the authors. Philippe Le +Hégaret and Arnaud Le Hors wrote the +Java programs which are the DOM application.

+ +

Thanks also to Jan Kärrman, author of html2ps, which we +use in creating the PostScript version of the specification.

+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/traversal-range/copyright-notice.html b/java/external/xdocs/dom/traversal-range/copyright-notice.html new file mode 100644 index 0000000..85c9b4a --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/copyright-notice.html @@ -0,0 +1,229 @@ + + + + +Copyright Notice + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Copyright Notice

+ +

Copyright © 2000 World Wide +Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

This document is published under the W3C Document +Copyright Notice and License. The bindings within this document +are published under the W3C Software +Copyright Notice and License. The software license requires +"Notice of any changes or modifications to the W3C files, including +the date changes were made." Consequently, modified versions of the +DOM bindings must document that they do not conform to the W3C +standard; in the case of the IDL definitions, the pragma prefix can +no longer be 'w3c.org'; in the case of the Java Language binding, +the package names can no longer be in the 'org.w3c' package.

+ +
+ +
+ + +

Note: This section is a copy of the W3C Document Notice +and License and could be found at +http://www.w3.org/Consortium/Legal/copyright-documents-19990405.

+ +

Copyright © 1994-2000 World +Wide Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

http://www.w3.org/Consortium/Legal/

+ +

Public documents on the W3C site are provided by the copyright +holders under the following license. The software or Document Type +Definitions (DTDs) associated with W3C specifications are governed +by the Software +Notice. By using and/or copying this document, or the W3C +document from which this statement is linked, you (the licensee) +agree that you have read, understood, and will comply with the +following terms and conditions:

+ +

Permission to use, copy, and distribute the contents of this +document, or the W3C document from which this statement is linked, +in any medium for any purpose and without fee or royalty is hereby +granted, provided that you include the following on ALL +copies of the document, or portions thereof, that you use:

+ +
    +
  1. A link or URL to the original W3C document.
  2. + +
  3. The pre-existing copyright notice of the original author, or if +it doesn't exist, a notice of the form: "Copyright © +[$date-of-document] World Wide Web +Consortium, (Massachusetts +Institute of Technology, Institut National de Recherche en +Informatique et en Automatique, Keio University). All Rights +Reserved. http://www.w3.org/Consortium/Legal/" (Hypertext is +preferred, but a textual representation is permitted.)
  4. + +
  5. If it exists, the STATUS of the W3C document.
  6. +
+ +

When space permits, inclusion of the full text of this +NOTICE should be provided. We request that authorship +attribution be provided in any software, documents, or other items +or products that you create pursuant to the implementation of the +contents of this document, or any portion thereof.

+ +

No right to create modifications or derivatives of W3C documents +is granted pursuant to this license. However, if additional +requirements (documented in the Copyright +FAQ) are satisfied, the right to create modifications or +derivatives is sometimes granted by the W3C to individuals +complying with those requirements.

+ +

THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO +REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT +NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS +OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE +IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY +PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

+ +

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, +SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE +DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS +THEREOF.

+ +

The name and trademarks of copyright holders may NOT be used in +advertising or publicity pertaining to this document or its +contents without specific, written prior permission. Title to +copyright in this document will at all times remain with copyright +holders.

+
+ + +
+ +
+ + +

Note: This section is a copy of the W3C Software +Copyright Notice and License and could be found at +http://www.w3.org/Consortium/Legal/copyright-software-19980720

+ +

Copyright © 1994-2000 World +Wide Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

http://www.w3.org/Consortium/Legal/

+ +

This W3C work (including software, documents, or other related +items) is being provided by the copyright holders under the +following license. By obtaining, using and/or copying this work, +you (the licensee) agree that you have read, understood, and will +comply with the following terms and conditions:

+ +

Permission to use, copy, and modify this software and its +documentation, with or without modification, for any purpose and +without fee or royalty is hereby granted, provided that you include +the following on ALL copies of the software and documentation or +portions thereof, including modifications, that you make:

+ +
    +
  1. The full text of this NOTICE in a location viewable to users of +the redistributed or derivative work.
  2. + +
  3. Any pre-existing intellectual property disclaimers. If none +exist, then a notice of the following form: "Copyright © +[$date-of-software] World Wide Web +Consortium, (Massachusetts +Institute of Technology, Institut National de Recherche en +Informatique et en Automatique, Keio University). All Rights +Reserved. http://www.w3.org/Consortium/Legal/."
  4. + +
  5. Notice of any changes or modifications to the W3C files, +including the date changes were made. (We recommend you provide +URIs to the location from which the code is derived.)
  6. +
+ +

THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND +COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE +USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD +PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

+ +

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, +SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE +SOFTWARE OR DOCUMENTATION.

+ +

The name and trademarks of copyright holders may NOT be used in +advertising or publicity pertaining to the software without +specific, written prior permission. Title to copyright in this +software and any associated documentation will at all times remain +with copyright holders.

+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/traversal-range/def-index.html b/java/external/xdocs/dom/traversal-range/def-index.html new file mode 100644 index 0000000..085a3d6 --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/def-index.html @@ -0,0 +1,599 @@ + + + + +Index + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Index

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
16-bit unit 1, +2, 3, 4, 5
 
acceptNodeancestor 1, 2, 3, 4ancestor container 1, +2, 3, 4, +5, 6, 7, 8, 9, 10
 
BAD_BOUNDARYPOINTS_ERRbefore/after/equal toboundary-point 1, 2, +3, 4, 5, +6, 7, +8, 9
 
child 1, 2, 3, +4cloneContentscloneRange
collapsecollapsed 1, 2, 3, +4, 5commonAncestorContainer
compareBoundaryPointscontainer 1, 2, 3, 4, +5, 6, 7, 8, 9, 10, 11, 12context tree 1, 2, 3, 4, 5, +6, 7
+createNodeIteratorcreateRangecreateTreeWalker
currentNode
 
deepest 1, 2deleteContentsdescendant 1, +2, 3, +4, 5
detach 1, 2document order 1, +2DocumentRange
DocumentTraversalDOM Level 2 Core 1, +2, 3, +4
 
ECMAScriptEND_TO_ENDEND_TO_START
endContainerendOffset +expandEntityReferences +1, 2
extractContents
 
filter 1, 2FILTER_ACCEPTFILTER_REJECT
FILTER_SKIPfirstChild
 
insertNodeINVALID_NODE_TYPE_ERRISO/IEC 10646 1, 2
 
Java
 
lastChild
 
nextNode +1, 2nextSiblingNodeFilter
NodeIterator
 
offset 1, 2, 3, 4, +5, 6OMGIDL
 
parent 1, +2, 3, 4, 5, +6parentNodepartially selected 1, +2, 3, 4, 5, 6
previousNode +1, 2previousSibling
 
RangeRangeExceptionroot 1, 2
root container 1, 2, 3, +4, 5
 
selected 1, 2, 3selectNodeselectNodeContents
setEndsetEndAftersetEndBefore
setStartsetStartAftersetStartBefore
SHOW_ALLSHOW_ATTRIBUTESHOW_CDATA_SECTION
SHOW_COMMENTSHOW_DOCUMENTSHOW_DOCUMENT_FRAGMENT
SHOW_DOCUMENT_TYPESHOW_ELEMENTSHOW_ENTITY
SHOW_ENTITY_REFERENCESHOW_NOTATIONSHOW_PROCESSING_INSTRUCTION
SHOW_TEXTsibling 1, 2, 3, +4, 5, 6START_TO_END
START_TO_STARTstartContainerstartOffset
surroundContents
 
tokenizedtoStringTreeWalker
 
Unicode 1, 2
 
whatToShow +1, 2
+
+ + + + + + diff --git a/java/external/xdocs/dom/traversal-range/ecma-script-binding.html b/java/external/xdocs/dom/traversal-range/ecma-script-binding.html new file mode 100644 index 0000000..c286fef --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/ecma-script-binding.html @@ -0,0 +1,584 @@ + + + + +ECMAScript Language Binding + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix C: ECMAScript +Language Binding

+ +

This appendix contains the complete ECMAScript [ECMAScript] +binding for the Level 2 Document Object Model Traversal and Range +definitions. The definitions are divided into Traversal, and Range.

+ +

Note: Exceptions handling is only supported by ECMAScript +implementation conformant with the Standard ECMA-262 3rd. Edition +([ECMAScript]).

+ +
+ + +

C.1: Document Object Model +Traversal

+ +
+
+
Object NodeIterator
+ +
+
+
The NodeIterator object has the following +properties:
+ +
+
+
root
+ +
This read-only property is a Node object.
+ +
whatToShow
+ +
This read-only property is of type Number.
+ +
filter
+ +
This read-only property is a NodeFilter object.
+ +
expandEntityReferences
+ +
This read-only property is of type Boolean.
+
+
+ +
The NodeIterator object has the following methods:
+ +
+
+
nextNode()
+ +
This method returns a Node object.
+This method can raise a DOMException object.
+ +
previousNode()
+ +
This method returns a Node object.
+This method can raise a DOMException object.
+ +
detach()
+ +
This method has no return value.
+
+
+
+
+ +
Prototype Object NodeFilter
+ +
+
+
The NodeFilter class has the following constants:
+ +
+
+
NodeFilter.FILTER_ACCEPT
+ +
This constant is of type short and its value is +1.
+ +
NodeFilter.FILTER_REJECT
+ +
This constant is of type short and its value is +2.
+ +
NodeFilter.FILTER_SKIP
+ +
This constant is of type short and its value is +3.
+ +
NodeFilter.SHOW_ALL
+ +
This constant is of type Number and its value is +0xFFFFFFFF.
+ +
NodeFilter.SHOW_ELEMENT
+ +
This constant is of type Number and its value is +0x00000001.
+ +
NodeFilter.SHOW_ATTRIBUTE
+ +
This constant is of type Number and its value is +0x00000002.
+ +
NodeFilter.SHOW_TEXT
+ +
This constant is of type Number and its value is +0x00000004.
+ +
NodeFilter.SHOW_CDATA_SECTION
+ +
This constant is of type Number and its value is +0x00000008.
+ +
NodeFilter.SHOW_ENTITY_REFERENCE
+ +
This constant is of type Number and its value is +0x00000010.
+ +
NodeFilter.SHOW_ENTITY
+ +
This constant is of type Number and its value is +0x00000020.
+ +
NodeFilter.SHOW_PROCESSING_INSTRUCTION
+ +
This constant is of type Number and its value is +0x00000040.
+ +
NodeFilter.SHOW_COMMENT
+ +
This constant is of type Number and its value is +0x00000080.
+ +
NodeFilter.SHOW_DOCUMENT
+ +
This constant is of type Number and its value is +0x00000100.
+ +
NodeFilter.SHOW_DOCUMENT_TYPE
+ +
This constant is of type Number and its value is +0x00000200.
+ +
NodeFilter.SHOW_DOCUMENT_FRAGMENT
+ +
This constant is of type Number and its value is +0x00000400.
+ +
NodeFilter.SHOW_NOTATION
+ +
This constant is of type Number and its value is +0x00000800.
+
+
+
+
+ +
Object NodeFilter
+ +
This is an ECMAScript function reference. This method returns a +Number. The parameter is a Node object.
+ +
Object TreeWalker
+ +
+
+
The TreeWalker object has the following properties:
+ +
+
+
root
+ +
This read-only property is a Node object.
+ +
whatToShow
+ +
This read-only property is of type Number.
+ +
filter
+ +
This read-only property is a NodeFilter object.
+ +
expandEntityReferences
+ +
This read-only property is of type Boolean.
+ +
currentNode
+ +
This property is a Node object and can raise a +DOMException object on setting.
+
+
+ +
The TreeWalker object has the following methods:
+ +
+
+
parentNode()
+ +
This method returns a Node object.
+ +
firstChild()
+ +
This method returns a Node object.
+ +
lastChild()
+ +
This method returns a Node object.
+ +
previousSibling()
+ +
This method returns a Node object.
+ +
nextSibling()
+ +
This method returns a Node object.
+ +
previousNode()
+ +
This method returns a Node object.
+ +
nextNode()
+ +
This method returns a Node object.
+
+
+
+
+ +
Object DocumentTraversal
+ +
+
+
The DocumentTraversal object has the following +methods:
+ +
+
+
createNodeIterator(root, whatToShow, filter, +entityReferenceExpansion)
+ +
This method returns a NodeIterator object.
+The root parameter is a Node object.
+The whatToShow parameter is of type Number.
+The filter parameter is a NodeFilter object.
+The entityReferenceExpansion parameter is of type +Boolean.
+This method can raise a DOMException object.
+ +
createTreeWalker(root, whatToShow, filter, +entityReferenceExpansion)
+ +
This method returns a TreeWalker object.
+The root parameter is a Node object.
+The whatToShow parameter is of type Number.
+The filter parameter is a NodeFilter object.
+The entityReferenceExpansion parameter is of type +Boolean.
+This method can raise a DOMException object.
+
+
+
+
+
+
+ + +
+ + +
+ +

C.2: Document Object Model +Range

+ +
+
+
Prototype Object Range
+ +
+
+
The Range class has the following constants:
+ +
+
+
Range.START_TO_START
+ +
This constant is of type Number and its value is +0.
+ +
Range.START_TO_END
+ +
This constant is of type Number and its value is +1.
+ +
Range.END_TO_END
+ +
This constant is of type Number and its value is +2.
+ +
Range.END_TO_START
+ +
This constant is of type Number and its value is +3.
+
+
+
+
+ +
Object Range
+ +
+
+
The Range object has the following properties:
+ +
+
+
startContainer
+ +
This read-only property is a Node object and can raise a +DOMException object on retrieval.
+ +
startOffset
+ +
This read-only property is a long object and can raise a +DOMException object on retrieval.
+ +
endContainer
+ +
This read-only property is a Node object and can raise a +DOMException object on retrieval.
+ +
endOffset
+ +
This read-only property is a long object and can raise a +DOMException object on retrieval.
+ +
collapsed
+ +
This read-only property is of type Boolean and can raise +a DOMException object on retrieval.
+ +
commonAncestorContainer
+ +
This read-only property is a Node object and can raise a +DOMException object on retrieval.
+
+
+ +
The Range object has the following methods:
+ +
+
+
setStart(refNode, offset)
+ +
This method has no return value.
+The refNode parameter is a Node object.
+The offset parameter is a long object.
+This method can raise a RangeException object or a +DOMException object.
+ +
setEnd(refNode, offset)
+ +
This method has no return value.
+The refNode parameter is a Node object.
+The offset parameter is a long object.
+This method can raise a RangeException object or a +DOMException object.
+ +
setStartBefore(refNode)
+ +
This method has no return value.
+The refNode parameter is a Node object.
+This method can raise a RangeException object or a +DOMException object.
+ +
setStartAfter(refNode)
+ +
This method has no return value.
+The refNode parameter is a Node object.
+This method can raise a RangeException object or a +DOMException object.
+ +
setEndBefore(refNode)
+ +
This method has no return value.
+The refNode parameter is a Node object.
+This method can raise a RangeException object or a +DOMException object.
+ +
setEndAfter(refNode)
+ +
This method has no return value.
+The refNode parameter is a Node object.
+This method can raise a RangeException object or a +DOMException object.
+ +
collapse(toStart)
+ +
This method has no return value.
+The toStart parameter is of type Boolean.
+This method can raise a DOMException object.
+ +
selectNode(refNode)
+ +
This method has no return value.
+The refNode parameter is a Node object.
+This method can raise a RangeException object or a +DOMException object.
+ +
selectNodeContents(refNode)
+ +
This method has no return value.
+The refNode parameter is a Node object.
+This method can raise a RangeException object or a +DOMException object.
+ +
compareBoundaryPoints(how, sourceRange)
+ +
This method returns a short object.
+The how parameter is of type Number.
+The sourceRange parameter is a Range object.
+This method can raise a DOMException object.
+ +
deleteContents()
+ +
This method has no return value.
+This method can raise a DOMException object.
+ +
extractContents()
+ +
This method returns a DocumentFragment object.
+This method can raise a DOMException object.
+ +
cloneContents()
+ +
This method returns a DocumentFragment object.
+This method can raise a DOMException object.
+ +
insertNode(newNode)
+ +
This method has no return value.
+The newNode parameter is a Node object.
+This method can raise a DOMException object or a +RangeException object.
+ +
surroundContents(newParent)
+ +
This method has no return value.
+The newParent parameter is a Node object.
+This method can raise a DOMException object or a +RangeException object.
+ +
cloneRange()
+ +
This method returns a Range object.
+This method can raise a DOMException object.
+ +
toString()
+ +
This method returns a String.
+This method can raise a DOMException object.
+ +
detach()
+ +
This method has no return value.
+This method can raise a DOMException object.
+
+
+
+
+ +
Object DocumentRange
+ +
+
+
The DocumentRange object has the following methods:
+ +
+
+
createRange()
+ +
This method returns a Range object.
+
+
+
+
+ +
Prototype Object RangeException
+ +
+
+
The RangeException class has the following +constants:
+ +
+
+
RangeException.BAD_BOUNDARYPOINTS_ERR
+ +
This constant is of type Number and its value is +1.
+ +
RangeException.INVALID_NODE_TYPE_ERR
+ +
This constant is of type Number and its value is +2.
+
+
+
+
+ +
Object RangeException
+ +
+
+
The RangeException object has the following +properties:
+ +
+
+
code
+ +
This property is of type Number.
+
+
+
+
+
+
+ + +
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/traversal-range/expanded-toc.html b/java/external/xdocs/dom/traversal-range/expanded-toc.html new file mode 100644 index 0000000..426670b --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/expanded-toc.html @@ -0,0 +1,246 @@ + + + + +Expanded Table of Contents + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Expanded Table of Contents

+ + + + + + +
+ + + + + + diff --git a/java/external/xdocs/dom/traversal-range/glossary.html b/java/external/xdocs/dom/traversal-range/glossary.html new file mode 100644 index 0000000..6f72cdc --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/glossary.html @@ -0,0 +1,130 @@ + + + + +Glossary + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Glossary

+ +
+
Editors
+ +
Arnaud Le Hors, IBM
+ +
Lauren Wood, SoftQuad Software Inc.
+ +
Robert S. Sutor, IBM (for DOM Level 1)
+
+ +

Several of the following term definitions have been borrowed or +modified from similar definitions in other W3C or standards +documents. See the links within the definitions for more +information.

+ +
+
16-bit +unit
+ +
The base unit of a DOMString. This indicates that +indexing on a DOMString occurs in units of 16 bits. +This must not be misunderstood to mean that a +DOMString can store arbitrary 16-bit units. A +DOMString is a character string encoded in UTF-16; +this means that the restrictions of UTF-16 as well as the other +relevant restrictions on character strings must be maintained. A +single character, for example in the form of a numeric character +reference, may correspond to one or two 16-bit units.
+For more information, see [Unicode] and [ISO/IEC 10646].
+ +
ancestor
+ +
An ancestor node of any node A is any node above A in a +tree model of a document, where "above" means "toward the +root."
+ +
child
+ +
A child is an immediate descendant node of a +node.
+ +
deepest
+ +
The deepest element is that element which is furthest +from the root or document element in a tree model of the +document.
+ +
document +order
+ +
The term document order has the same meaning as depth +first, pre-order traversal, which is equivalent to the order in +which the start tags occur in the text representation of the +document.
+ +
descendant
+ +
A descendant node of any node A is any node below A in a +tree model of a document, where "above" means "toward the +root."
+ +
parent
+ +
A parent is an immediate ancestor node of a +node.
+ +
sibling
+ +
Two nodes are siblings if and only if they have the same +parent node.
+ +
tokenized
+ +
The description given to various information items (for +example, attribute values of various types, but not including the +StringType CDATA) after having been processed by the XML processor. +The process includes stripping leading and trailing white space, +and replacing multiple space characters by one. See the definition +of tokenized type.
+
+
+ + + + + + diff --git a/java/external/xdocs/dom/traversal-range/idl-definitions.html b/java/external/xdocs/dom/traversal-range/idl-definitions.html new file mode 100644 index 0000000..b1304bc --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/idl-definitions.html @@ -0,0 +1,284 @@ + + + + +IDL Definitions + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix A: IDL Definitions

+ +

This appendix contains the complete OMG IDL [OMGIDL] for the Level 2 Document +Object Model Traversal and Range definitions. The definitions are +divided into Traversal, and Range.

+ +

The IDL files are also available as: http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/idl.zip

+ +
+ +

A.1: Document Object Model +Traversal

+ +

traversal.idl:

+ +
+
+// File: traversal.idl
+
+#ifndef _TRAVERSAL_IDL_
+#define _TRAVERSAL_IDL_
+
+#include "dom.idl"
+
+#pragma prefix "dom.w3c.org"
+module traversal
+{
+
+  typedef dom::Node Node;
+
+  interface NodeFilter;
+
+  // Introduced in DOM Level 2:
+  interface NodeIterator {
+    readonly attribute Node             root;
+    readonly attribute unsigned long    whatToShow;
+    readonly attribute NodeFilter       filter;
+    readonly attribute boolean          expandEntityReferences;
+    Node               nextNode()
+                                        raises(dom::DOMException);
+    Node               previousNode()
+                                        raises(dom::DOMException);
+    void               detach();
+  };
+
+  // Introduced in DOM Level 2:
+  interface NodeFilter {
+
+    // Constants returned by acceptNode
+    const short               FILTER_ACCEPT                  = 1;
+    const short               FILTER_REJECT                  = 2;
+    const short               FILTER_SKIP                    = 3;
+
+
+    // Constants for whatToShow
+    const unsigned long       SHOW_ALL                       = 0xFFFFFFFF;
+    const unsigned long       SHOW_ELEMENT                   = 0x00000001;
+    const unsigned long       SHOW_ATTRIBUTE                 = 0x00000002;
+    const unsigned long       SHOW_TEXT                      = 0x00000004;
+    const unsigned long       SHOW_CDATA_SECTION             = 0x00000008;
+    const unsigned long       SHOW_ENTITY_REFERENCE          = 0x00000010;
+    const unsigned long       SHOW_ENTITY                    = 0x00000020;
+    const unsigned long       SHOW_PROCESSING_INSTRUCTION    = 0x00000040;
+    const unsigned long       SHOW_COMMENT                   = 0x00000080;
+    const unsigned long       SHOW_DOCUMENT                  = 0x00000100;
+    const unsigned long       SHOW_DOCUMENT_TYPE             = 0x00000200;
+    const unsigned long       SHOW_DOCUMENT_FRAGMENT         = 0x00000400;
+    const unsigned long       SHOW_NOTATION                  = 0x00000800;
+
+    short              acceptNode(in Node n);
+  };
+
+  // Introduced in DOM Level 2:
+  interface TreeWalker {
+    readonly attribute Node             root;
+    readonly attribute unsigned long    whatToShow;
+    readonly attribute NodeFilter       filter;
+    readonly attribute boolean          expandEntityReferences;
+             attribute Node             currentNode;
+                                        // raises(dom::DOMException) on setting
+
+    Node               parentNode();
+    Node               firstChild();
+    Node               lastChild();
+    Node               previousSibling();
+    Node               nextSibling();
+    Node               previousNode();
+    Node               nextNode();
+  };
+
+  // Introduced in DOM Level 2:
+  interface DocumentTraversal {
+    NodeIterator       createNodeIterator(in Node root, 
+                                          in unsigned long whatToShow, 
+                                          in NodeFilter filter, 
+                                          in boolean entityReferenceExpansion)
+                                        raises(dom::DOMException);
+    TreeWalker         createTreeWalker(in Node root, 
+                                        in unsigned long whatToShow, 
+                                        in NodeFilter filter, 
+                                        in boolean entityReferenceExpansion)
+                                        raises(dom::DOMException);
+  };
+};
+
+#endif // _TRAVERSAL_IDL_
+
+
+
+
+ + +
+ +

A.2: Document Object Model +Range

+ +

ranges.idl:

+ +
+
+// File: ranges.idl
+
+#ifndef _RANGES_IDL_
+#define _RANGES_IDL_
+
+#include "dom.idl"
+
+#pragma prefix "dom.w3c.org"
+module ranges
+{
+
+  typedef dom::Node Node;
+  typedef dom::DocumentFragment DocumentFragment;
+  typedef dom::DOMString DOMString;
+
+  // Introduced in DOM Level 2:
+  exception RangeException {
+    unsigned short   code;
+  };
+  // RangeExceptionCode
+  const unsigned short      BAD_BOUNDARYPOINTS_ERR         = 1;
+  const unsigned short      INVALID_NODE_TYPE_ERR          = 2;
+
+
+  // Introduced in DOM Level 2:
+  interface Range {
+    readonly attribute Node             startContainer;
+                                        // raises(dom::DOMException) on retrieval
+
+    readonly attribute long             startOffset;
+                                        // raises(dom::DOMException) on retrieval
+
+    readonly attribute Node             endContainer;
+                                        // raises(dom::DOMException) on retrieval
+
+    readonly attribute long             endOffset;
+                                        // raises(dom::DOMException) on retrieval
+
+    readonly attribute boolean          collapsed;
+                                        // raises(dom::DOMException) on retrieval
+
+    readonly attribute Node             commonAncestorContainer;
+                                        // raises(dom::DOMException) on retrieval
+
+    void               setStart(in Node refNode, 
+                                in long offset)
+                                        raises(RangeException, 
+                                               dom::DOMException);
+    void               setEnd(in Node refNode, 
+                              in long offset)
+                                        raises(RangeException, 
+                                               dom::DOMException);
+    void               setStartBefore(in Node refNode)
+                                        raises(RangeException, 
+                                               dom::DOMException);
+    void               setStartAfter(in Node refNode)
+                                        raises(RangeException, 
+                                               dom::DOMException);
+    void               setEndBefore(in Node refNode)
+                                        raises(RangeException, 
+                                               dom::DOMException);
+    void               setEndAfter(in Node refNode)
+                                        raises(RangeException, 
+                                               dom::DOMException);
+    void               collapse(in boolean toStart)
+                                        raises(dom::DOMException);
+    void               selectNode(in Node refNode)
+                                        raises(RangeException, 
+                                               dom::DOMException);
+    void               selectNodeContents(in Node refNode)
+                                        raises(RangeException, 
+                                               dom::DOMException);
+
+    // CompareHow
+    const unsigned short      START_TO_START                 = 0;
+    const unsigned short      START_TO_END                   = 1;
+    const unsigned short      END_TO_END                     = 2;
+    const unsigned short      END_TO_START                   = 3;
+
+    short              compareBoundaryPoints(in unsigned short how, 
+                                             in Range sourceRange)
+                                        raises(dom::DOMException);
+    void               deleteContents()
+                                        raises(dom::DOMException);
+    DocumentFragment   extractContents()
+                                        raises(dom::DOMException);
+    DocumentFragment   cloneContents()
+                                        raises(dom::DOMException);
+    void               insertNode(in Node newNode)
+                                        raises(dom::DOMException, 
+                                               RangeException);
+    void               surroundContents(in Node newParent)
+                                        raises(dom::DOMException, 
+                                               RangeException);
+    Range              cloneRange()
+                                        raises(dom::DOMException);
+    DOMString          toString()
+                                        raises(dom::DOMException);
+    void               detach()
+                                        raises(dom::DOMException);
+  };
+
+  // Introduced in DOM Level 2:
+  interface DocumentRange {
+    Range              createRange();
+  };
+};
+
+#endif // _RANGES_IDL_
+
+
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/traversal-range/idl/ranges.idl b/java/external/xdocs/dom/traversal-range/idl/ranges.idl new file mode 100644 index 0000000..205b1ba --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/idl/ranges.idl @@ -0,0 +1,122 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +// File: http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/ranges.idl + +#ifndef _RANGES_IDL_ +#define _RANGES_IDL_ + +#include "dom.idl" + +#pragma prefix "dom.w3c.org" +module ranges +{ + + typedef dom::Node Node; + typedef dom::DocumentFragment DocumentFragment; + typedef dom::DOMString DOMString; + + // Introduced in DOM Level 2: + exception RangeException { + unsigned short code; + }; + // RangeExceptionCode + const unsigned short BAD_BOUNDARYPOINTS_ERR = 1; + const unsigned short INVALID_NODE_TYPE_ERR = 2; + + + // Introduced in DOM Level 2: + interface Range { + readonly attribute Node startContainer; + // raises(dom::DOMException) on retrieval + + readonly attribute long startOffset; + // raises(dom::DOMException) on retrieval + + readonly attribute Node endContainer; + // raises(dom::DOMException) on retrieval + + readonly attribute long endOffset; + // raises(dom::DOMException) on retrieval + + readonly attribute boolean collapsed; + // raises(dom::DOMException) on retrieval + + readonly attribute Node commonAncestorContainer; + // raises(dom::DOMException) on retrieval + + void setStart(in Node refNode, + in long offset) + raises(RangeException, + dom::DOMException); + void setEnd(in Node refNode, + in long offset) + raises(RangeException, + dom::DOMException); + void setStartBefore(in Node refNode) + raises(RangeException, + dom::DOMException); + void setStartAfter(in Node refNode) + raises(RangeException, + dom::DOMException); + void setEndBefore(in Node refNode) + raises(RangeException, + dom::DOMException); + void setEndAfter(in Node refNode) + raises(RangeException, + dom::DOMException); + void collapse(in boolean toStart) + raises(dom::DOMException); + void selectNode(in Node refNode) + raises(RangeException, + dom::DOMException); + void selectNodeContents(in Node refNode) + raises(RangeException, + dom::DOMException); + + // CompareHow + const unsigned short START_TO_START = 0; + const unsigned short START_TO_END = 1; + const unsigned short END_TO_END = 2; + const unsigned short END_TO_START = 3; + + short compareBoundaryPoints(in unsigned short how, + in Range sourceRange) + raises(dom::DOMException); + void deleteContents() + raises(dom::DOMException); + DocumentFragment extractContents() + raises(dom::DOMException); + DocumentFragment cloneContents() + raises(dom::DOMException); + void insertNode(in Node newNode) + raises(dom::DOMException, + RangeException); + void surroundContents(in Node newParent) + raises(dom::DOMException, + RangeException); + Range cloneRange() + raises(dom::DOMException); + DOMString toString() + raises(dom::DOMException); + void detach() + raises(dom::DOMException); + }; + + // Introduced in DOM Level 2: + interface DocumentRange { + Range createRange(); + }; +}; + +#endif // _RANGES_IDL_ + diff --git a/java/external/xdocs/dom/traversal-range/idl/traversal.idl b/java/external/xdocs/dom/traversal-range/idl/traversal.idl new file mode 100644 index 0000000..660f457 --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/idl/traversal.idl @@ -0,0 +1,102 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +// File: http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/traversal.idl + +#ifndef _TRAVERSAL_IDL_ +#define _TRAVERSAL_IDL_ + +#include "dom.idl" + +#pragma prefix "dom.w3c.org" +module traversal +{ + + typedef dom::Node Node; + + interface NodeFilter; + + // Introduced in DOM Level 2: + interface NodeIterator { + readonly attribute Node root; + readonly attribute unsigned long whatToShow; + readonly attribute NodeFilter filter; + readonly attribute boolean expandEntityReferences; + Node nextNode() + raises(dom::DOMException); + Node previousNode() + raises(dom::DOMException); + void detach(); + }; + + // Introduced in DOM Level 2: + interface NodeFilter { + + // Constants returned by acceptNode + const short FILTER_ACCEPT = 1; + const short FILTER_REJECT = 2; + const short FILTER_SKIP = 3; + + + // Constants for whatToShow + const unsigned long SHOW_ALL = 0xFFFFFFFF; + const unsigned long SHOW_ELEMENT = 0x00000001; + const unsigned long SHOW_ATTRIBUTE = 0x00000002; + const unsigned long SHOW_TEXT = 0x00000004; + const unsigned long SHOW_CDATA_SECTION = 0x00000008; + const unsigned long SHOW_ENTITY_REFERENCE = 0x00000010; + const unsigned long SHOW_ENTITY = 0x00000020; + const unsigned long SHOW_PROCESSING_INSTRUCTION = 0x00000040; + const unsigned long SHOW_COMMENT = 0x00000080; + const unsigned long SHOW_DOCUMENT = 0x00000100; + const unsigned long SHOW_DOCUMENT_TYPE = 0x00000200; + const unsigned long SHOW_DOCUMENT_FRAGMENT = 0x00000400; + const unsigned long SHOW_NOTATION = 0x00000800; + + short acceptNode(in Node n); + }; + + // Introduced in DOM Level 2: + interface TreeWalker { + readonly attribute Node root; + readonly attribute unsigned long whatToShow; + readonly attribute NodeFilter filter; + readonly attribute boolean expandEntityReferences; + attribute Node currentNode; + // raises(dom::DOMException) on setting + + Node parentNode(); + Node firstChild(); + Node lastChild(); + Node previousSibling(); + Node nextSibling(); + Node previousNode(); + Node nextNode(); + }; + + // Introduced in DOM Level 2: + interface DocumentTraversal { + NodeIterator createNodeIterator(in Node root, + in unsigned long whatToShow, + in NodeFilter filter, + in boolean entityReferenceExpansion) + raises(dom::DOMException); + TreeWalker createTreeWalker(in Node root, + in unsigned long whatToShow, + in NodeFilter filter, + in boolean entityReferenceExpansion) + raises(dom::DOMException); + }; +}; + +#endif // _TRAVERSAL_IDL_ + diff --git a/java/external/xdocs/dom/traversal-range/images/REC.gif b/java/external/xdocs/dom/traversal-range/images/REC.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0007d058a9843a4bfa3492b01d4d2c021d3101e GIT binary patch literal 903 zcmV;219<#LNk%w1VHp7I0JHx909u?7WTG&6uT_z~Wt+pQ$lkirhkXN`2YX^EC2ui02u)6000F45XecZy*TU5yZ>M)j$~<`XsWJk>%MR- z&vXqFg`w}@@-#c%$Dueq5~o7ZBya>whKF=21rZe3EY?OrFdWhX64Y!gu!jc$R5&~* zU(jPv2^>H7O1^U_R1^J31eI;4@Fc|1|14WT3Tyd3Y!%T zp`4@?21}?F36LC_nNFOe4W9~v9SNtEE&&Cy4J8k zz`?Ca*=T(b5M_!10V4uTqUTEmjvzY!di(&{Z^J?odr16aB9TNzSytq+;(}lrDFt*U zI&hFiLN*XOG!6q0j$*3@beUa0tX_iOMXJP?Ql08U<>=-xg z#I;n~zO5|hE(yCQ@}A)9R|{Zaf(gr!`vLKZ#U~sefc(KG?T#nBfGNZpLm9tm5=(VM zA`!S>)d=s_Dfh4*R;DCu4@D)}lfDG2b7xV!lfPEj_GJ#`itTsVX82KncgLqIv zqzCp`REtas2#4E~P)50pfE5U!K#&^%V$=i;DC3Qn7K~RO1`{?lmwyg884i{iFi?_D zSe+;iJb;84<^wBY!GI%RGQ>a{c#0wA2+uHpQGPlO^1uNHIM9%H!PrTGa|VKmVJu^m z34o?&Lf8#@5+rKDnjHLz!KE8mshW3#w#5JeTe7iRmjjTf0RjZ3MWy5DV8l?=Q4vA_K?Ny-6oC^+p(T(4 zflw2ACj?MB37`Ukgrm;3cAZhBDes8%SCWOh!J{<0Fej~K!98X2u+2k zAu$LVqJ*%Z9yA!zhNK}a=rOouXsd<}fJAbUNN~#^G#07=010rB0JvorqJWxQ0LkSd zxgg{of`aZMK>!JIksxFb$^*iLUPEy}{vim+Aw&&{LC_E-bQR)&21DAAG^7P?CAZav zYUpqQ0Ne@^@&}EDDlQk`f>5rIU5El|0w5Ovp&X&4p#UH*=sFZMCVTI!R%o)V`=euO#Zf%Ur#>l-#Ei=rEvYKNQ5U7#1 zqU_fAL#EODEQ)j5lT;ljZtcan9jPb(w;=PnQwIIQTQsqg> z$cvx1QzznnRju1CNF_LegK-Xq{@-QOgKie$g^yQ^3%$(_7HtZre~xyydf?BQ2={(| zN_eo%<6nGOt%z=K7{~qE$7f8V0C#_h9-Ykdi>G!Tc(GzMgp1sVoyx=oMRxFFv$O}MNzrRyB)@}mOx=CI5#KVDHZD#sqCQ<;6i z`t{Bj^e9TRC3RioV>gKVO3*0t-JOylj8?_hkiJP&<%0H}B!TBjQ?a#RO z-C{59{*-giTcafw-t!m)y&G&c7a8eVZl#p+7w!!e## zZvTRWCNW%0N^oAvtwWt57MZTamRM2tOA)o7y9N#4!l;58mqdWFL^%cUEwzcviT!I!#3A6ol0#G&|0 z&7&?E>OEim@|PMfJ;f9kN|k4PKO=YI#mUB-4xP&bWcdEV^S2(+Pj%;EZT7a_&EEfC zqrDZbbZ|umob_jTX;*6u*z!l!w)=)+{vN@|dYq{eNmX3t`KSw5n9=L=8lzLFQ4}|3 zQJvL%kjhpoEj}xJR6{0okO<7n5+^#pWNCfx*l!9~nWJ0HBH!6`+ZHVpXm9G&fjn2( zG~ASbrk$`}AS^#x`%2fGL@uc^9gIod9N|W4%_JRvvN-f}H?a7=TQbwG#!VnQ_3Og7 zMjdedZa+BqePd-2`umU~!giY1!N&gxDY3E^`Kzr?O#e;j&e)h=M;@JH96uSZ;K>&~ zzP&!&nxP`k{m0H&HT9S8oRa*pOly7BhRnRL8ed`#OEj)rNKUgqBrSPM^8Qs*#>n26 zx;dZ3Kvx;lxX&js29uxmuH0?_10O`GKg^O&NNd6_KTyB4gJ4o%p17`86s`9u>qdw| zljemh$DKzM}^x`#}ZzQ1{8 zopWTTMcZZl?+LbH|K2_(-rg~EMK_f;`Dh`}#BxeIDWh-l0qbdXc%Y0%j!v%VB|VO{ zOl-pQ_6c?8nGE}ap3_2u^XkVV(`(`u*8`x56*Pzq+TyD;E=06Z)+ur?Z!9s5;uKR?H8kZ zGxYD0O+TyIgbEx;NBZ*=FH&sY3VL(&<+JRY4_&3AuaMBC`9C#KH+-4b3$NLcNQt^iF&3m4z=xs#`#mUQEG`;e_h1uiSB_rXz* zB8x}oqBYNs{?O_ZQ};-DQGQ}tQ=2J6^>~}}*NMgJ_c6YwZ+;s{Raxou3%OJLVfyD^ zD&QHxlbuzzFxl0*zyH;`XT|;?`uuF&;9~|-IfM87!Vp%bK;xylkCW)5ibme%*K^u# zol<80jYm>w|JhVI$&pt{R{@#Z&Td01w_mn|eojm}9sO?|WwJ&4M$t|5>_=>i4*if{ zhm$qNF-G9j68`q2TRe?-P`fhQyzD`2nEL0EKZiM?4c{FdSa*(`D`|H|YNYXxAxl-3 z!FD%eW@@`sn!15=;o}3}{n&=czfY_kJMaHrTu0Siy_L0&CwrL0V2pz5N@?4vQZ+2- zlX#v0aBNj{{DL&DD)aT)()%C#>W#iX6EEI(((iG`mEbE5=~4ak8>PT4oSkEmes8gs z4&5f*>+GUSX64v&VHn->(xOrq)3}Tt`P#=_ojpkY^@RCSbN-H_!BF;PM%nAX5|!_} z^0WLF1GG(VYh@odXKB8!@K%w_jqN_V;IYE@NlbZQb&T<&#XqQnPRtHrt9eg z;K4HiHXez|=}n(`8)aNNJ0IY0Oo@(7(@lI?xIg&C`k>xBv*XL&<-OC|3xV$m!OOX| zfeyBjXSk=7pJ;0Dn7QtV2ycseBAq0m=iV)JDL3w7JX)RYIK>|N*Y}vuPlaB!%RwcB z3s0n^;ZuL_ri|T$JEVkYpajAPBUrIRFvmZC1 z53)@pYKOTue=Wt`)tHD91bUPkHAL*J7RWDN9cXm_mNaOH@fclu*IKivgA?R9gs!(U zL-3*%)iaCuPEkobN6Ox4!Pm~EvUiLix@t($)ZXk_8e3{TcW-$bjh3nn%r?860e&~_ z-hj&*&x`E-wU|Iy|E_KPZQx+7VfneA3#qH?rFSoV|9oz9)H`_T%Zgo{X$YY_)J6r9 zGZ;cGcUX1|ZJPF9oqqZ?8Iv*?YWjB&kQ=h&6{h;HP~6VYNweUk*5E&0p(&yvo5w=r z%>(~hJt(p(*sC~fQ|DQ~*|W95u(K78w0F<)k)eH_m}E1R^+EKjouNlmgS2#?u9g^j z`6J+MPj>}854`gNea4}~G~CV6dED{oH2KBKJDnfDvU>*V z`n+!Q_YVjSPvM;bn(&vdc2}ChKCnDxC5IZs)W` z-ZX!;yc|s{i>~__)%fyNN=0O>dCZb$OkPBcb5_ih=c8B8AAOOFVKl!ed>hL#|EDX> z)<4p<<(l+QvMJJ2mY4RT^vP?vgxB877e{pCG>W?DlDe^lBj1MwZF4p=8%K4cMx_>_1|JYGZ3SxxWF z7clI=QN5&^k_*4KUo^BhGN$VEcYfk}*j}6Eq#ak1r9WM=6c1#YB}=wTOC=sUmw5Tk zjwEB?t(%4a?!<)grsQjhhj)n^+bSlW3QRDJI;0VpsH*qY{BVj!s__F0x&QQ1mmN~I za#8~-rDK*;p8@8#AYnBh?=bDWHca^GO!%cp+=j)&^oe3{ z;`*9`D4Hn7B1#E~%i@_bLc)Yz<}OsG0uQgq%KQQl<317hDG?6oXL^Qb9))M#Ow2rh zRXCxPH9MRoB{;rMB6}x1`!p(3o#Cg|{pYN)Kk5+_t#G7aDaBSH4xmRTm~91(2x z^Y_^o^s_Hvb5vP5=Pa`>QZhfc=lp8Vbw}q~qH^KbTx}Ho$6EGrOZ-_1>6#1a5+&=t zK8d>{_nriC;U2l~0qH3#_v=jVLm?qFI@^;%K%q!#(d1WHl8aK_UQj@e<&mFT5;0gZ zCOYq}L|(j*7>CW*R?6S6pO3c8f2l+X5aK@tQu2g2JQ^=*Ny&m!ys>0o%RDVszO)Nf zS&$QYi&`F?PeYMNsGJBEF;|I}B+PHMq_%KKO<0;Ag+z@e{==h22xx6Qa;po?j7JeV z(>Sa=9*X{fLJg{?o)_ld<Evz7c{>a!Qp&|wD2!UA zVjosPB&z6`H$#J8u+C#_VCnuYS#(}eC@3u2Ug!vQ+{4R)MZksZgJJXPvf+rK_^b ziY1Chuw}kfvWWo=Zou>pDt<>Pv2rao!BP$2Wh4~yp+rT41i1oE?ntIYvnyhQDBn%r8TOoRfUskmnB=-pk~OW0+U|m&t{ZSYmQjvw7XV~cT`7RtZnC4 z_qdiTN-`hC5IU4gb6psVlGSYGiURN2QFh&mckN7mZ8^I%T0jS9sfqj&SxkvnQ2nx6 z?RZCB>w5hU$@&F&fgGl;L!uVNFZsf*jp5Z77}V~aBb;`t)v7ApjA6@j>$_tbPw^Qi zmFi#{6%Ns5pA9H3L5({oc{A)9GYsP?r%97bxf)xS6I3a-QAwq;viX%x8O^7ZSZ*UM z$BkxudIMn4;)JaW3Tn~LXt`b0awoRgud4pKWu@m_^UZzr4=}AX^;Wb`3z6OYFg9zO zq?|%@n*%tK_mWl_XlSj;lI=UxE(32*)~G%zS*~cv4sofzCPiA(FP!aY-LF)&1Dk9A z5TCk_nD2w9&ebUJORvrnJy4wNjk4`k4L8{If2wjXTDDWGIGf_!l8>BbTD{V2X;D?j zGeLX4Yw69|#+Z?+`L&K{H+*W9(j=fbgyEX0=WKFnb-n9txHL8ILX<(5kz1$u2&bN= z#GmUN-KZH+>Y9vc@QQ8uu|d5b)L6>R9@y8Nq|v?2lDmDAy&l`8AKQJO)-6HjZW?md zr1A@9yXbE3qUZk1@F}W{ZI|+Gy&v15IQzbD<2{bkVr50M-p66G8sW5VbzIK%xgKrM zrFqVG?)$2(2X|wkLzvE6QyPkZOBV)tW==iyLXfO7vOTw3%x5 zpY!blqWffa_g@^%+cvAL03Ybx*K%Wj|L1+RE;hT_^#hhCGkr$~s(oq@w?V-8R{pnp=*2uCesf?_aTugE8Fbbfjx@z+ z(q6l_gc}VdyC3zmIg;f*fUWN8Tkq*|9gOsC4s#p!)Z`c2@Jev_7w#Rstl?LkyfeXr z7NhSNqkZN32k-A6Ueg=)s~!n(A39XctI`~yY>u2TYRxp_hZ*sQ=1218d$)mee86V( z(|m`w5u<=U=&#xIasOzK`)Coa*Tkso`tE_x^F`lATfJ;P=#I9m1oz)H>i-eU+??-s za?ie|*|$b--nHlBIu75Fl=+7r9k8x0rSb*7UDfM_W1HA5m1CQ_xT69t z^GH{He|qkw177s}ZfPx|rY&Ckz=ZS&<-6se${aOnzDduo%iVW8z_SF_DFzcKZ6~b#;yuR3Z^qTkca*9X)LheIW?A zW7DxUT$9)-IRVSfV|qJ!COTwl&Ncr^6@O%&eUILFZclTS!5A^5cd_%s68+=N&W}`l z&-Mj@=ooS5FTtwKEQssh9n#128<6ap#qleeJmy+L{^0|2oSHfA*j(4IxpxQVdyMD% RJmv>N=7;ti77>9N{15T=wbK9q literal 0 HcmV?d00001 diff --git a/java/external/xdocs/dom/traversal-range/images/w3c_home.gif b/java/external/xdocs/dom/traversal-range/images/w3c_home.gif new file mode 100644 index 0000000000000000000000000000000000000000..f4702b9abcf6cf19a13fe57f5e6d681d7655e681 GIT binary patch literal 988 zcmZ?wbh9u|^k6VxSjqqb|NsAg_vy#M^Uv--`?TZOlgX>EEZB1E+_`f+?sFGzzj@*I z8-DlsK0ZD?JUp?nvG?xXd-v|0j*gC6-t zPDVy1H#c|E>dP5jhc_O65K^;?+hwkejg4i-#^(8F*R5Mu+`qTCx3{yiv$V8y*REYI zE-nfR3P6{T3Uoj|0QrT1?Vm$KfrpM%|A{3S{t?g#+tIzZ>#n{*ifMp zIx}2n)2`J{Gwyb5m08WTMQN==?Ya5aVs$gCnV4IdnSxl_n8R7w`q{fDwRS`mGHRD` z=n7P`a4z8F3gTYK*%QjMZ1tKI{v5mveEb6bfiB{=y4If<+gKg))n;IkjLN zqlBA;pCrTjG_8I9VhcrsMHUK&ik&>YS}K6ULt2oJK{}jy8FvuZGL{gT$4?fXmGzL7 zb6OOu$aX41gmIaj&rcIRmnj0vT5K!LT%6eW|F&5iNON`3;0rcs5i)%0+?1lM_4n2? zBZf{zCT5ok0~Kens)cV{KZ>nd`cJt3q?e0f;whFX90p4-+?m0exFRr+qlrsVRZ)a7 z=%Aye;uA*E?r4jio*=D9hbsaq{CbUe9oA}cSR@%rX1&l_>wo1DFN6M+of;dZ)@bhj z)_EiJQ|HOFo%8{xe^}HPs+yI&)mZwxiP`*#l-*onlzYY2X~OUu~bpjn0E*@ftG%7e;0? z-Z*kRf4|}nx$=z2g<(vcI}aakPP4ptJvQQB&h!SS+LUEH>3$EsONz}Bl~~ltxy2+g zF{DTzU`BS2n6 zf^R}oQ`i!Q1DtU#l~09Nw?2>7P}#*6-7UZ%FjItM!{Mi5t0hHTYrd`wZOmazkdSf6 z-*>2QcHEKcJR*~CzKmy8# zO7~`~*#b|-^UM5PR`Rgh1(vihPp@I*FFd^E)va#%r!USda4DIfE%CzhgtiE?$??0J r0v#SSvN%ncaH!unZS~u2cgkMB-Tt6WJFmlMO7^>*EHAhOSs1JVY`nC@ literal 0 HcmV?d00001 diff --git a/java/external/xdocs/dom/traversal-range/java-binding.html b/java/external/xdocs/dom/traversal-range/java-binding.html new file mode 100644 index 0000000..e34ee01 --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/java-binding.html @@ -0,0 +1,338 @@ + + + + +Java Language Binding + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix B: Java Language +Binding

+ +

This appendix contains the complete Java Language [Java] binding for +the Level 2 Document Object Model Traversal and Range. The +definitions are divided into Traversal, and Range.

+ +

The Java files are also available as http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113/java-binding.zip

+ +
+ + +

B.1: Document Object Model +Traversal

+ +

+org/w3c/dom/traversal/NodeIterator.java:

+ +
+
+package org.w3c.dom.traversal;
+
+import org.w3c.dom.Node;
+import org.w3c.dom.DOMException;
+
+public interface NodeIterator {
+    public Node getRoot();
+
+    public int getWhatToShow();
+
+    public NodeFilter getFilter();
+
+    public boolean getExpandEntityReferences();
+
+    public Node nextNode()
+                         throws DOMException;
+
+    public Node previousNode()
+                             throws DOMException;
+
+    public void detach();
+
+}
+
+
+ +

+org/w3c/dom/traversal/NodeFilter.java:

+ +
+
+package org.w3c.dom.traversal;
+
+import org.w3c.dom.Node;
+
+public interface NodeFilter {
+    // Constants returned by acceptNode
+    public static final short FILTER_ACCEPT             = 1;
+    public static final short FILTER_REJECT             = 2;
+    public static final short FILTER_SKIP               = 3;
+
+    // Constants for whatToShow
+    public static final int SHOW_ALL                  = 0xFFFFFFFF;
+    public static final int SHOW_ELEMENT              = 0x00000001;
+    public static final int SHOW_ATTRIBUTE            = 0x00000002;
+    public static final int SHOW_TEXT                 = 0x00000004;
+    public static final int SHOW_CDATA_SECTION        = 0x00000008;
+    public static final int SHOW_ENTITY_REFERENCE     = 0x00000010;
+    public static final int SHOW_ENTITY               = 0x00000020;
+    public static final int SHOW_PROCESSING_INSTRUCTION = 0x00000040;
+    public static final int SHOW_COMMENT              = 0x00000080;
+    public static final int SHOW_DOCUMENT             = 0x00000100;
+    public static final int SHOW_DOCUMENT_TYPE        = 0x00000200;
+    public static final int SHOW_DOCUMENT_FRAGMENT    = 0x00000400;
+    public static final int SHOW_NOTATION             = 0x00000800;
+
+    public short acceptNode(Node n);
+
+}
+
+
+ +

+org/w3c/dom/traversal/TreeWalker.java:

+ +
+
+package org.w3c.dom.traversal;
+
+import org.w3c.dom.Node;
+import org.w3c.dom.DOMException;
+
+public interface TreeWalker {
+    public Node getRoot();
+
+    public int getWhatToShow();
+
+    public NodeFilter getFilter();
+
+    public boolean getExpandEntityReferences();
+
+    public Node getCurrentNode();
+    public void setCurrentNode(Node currentNode)
+                            throws DOMException;
+
+    public Node parentNode();
+
+    public Node firstChild();
+
+    public Node lastChild();
+
+    public Node previousSibling();
+
+    public Node nextSibling();
+
+    public Node previousNode();
+
+    public Node nextNode();
+
+}
+
+
+ +

+org/w3c/dom/traversal/DocumentTraversal.java:

+ +
+
+package org.w3c.dom.traversal;
+
+import org.w3c.dom.Node;
+import org.w3c.dom.DOMException;
+
+public interface DocumentTraversal {
+    public NodeIterator createNodeIterator(Node root, 
+                                           int whatToShow, 
+                                           NodeFilter filter, 
+                                           boolean entityReferenceExpansion)
+                                           throws DOMException;
+
+    public TreeWalker createTreeWalker(Node root, 
+                                       int whatToShow, 
+                                       NodeFilter filter, 
+                                       boolean entityReferenceExpansion)
+                                       throws DOMException;
+
+}
+
+
+
+ + +
+ +

B.2: Document Object Model +Range

+ +

+org/w3c/dom/ranges/RangeException.java:

+ +
+
+package org.w3c.dom.ranges;
+
+public class RangeException extends RuntimeException {
+    public RangeException(short code, String message) {
+       super(message);
+       this.code = code;
+    }
+    public short   code;
+    // RangeExceptionCode
+    public static final short BAD_BOUNDARYPOINTS_ERR    = 1;
+    public static final short INVALID_NODE_TYPE_ERR     = 2;
+
+}
+
+
+ +

+org/w3c/dom/ranges/Range.java:

+ +
+
+package org.w3c.dom.ranges;
+
+import org.w3c.dom.Node;
+import org.w3c.dom.DocumentFragment;
+import org.w3c.dom.DOMException;
+
+public interface Range {
+    public Node getStartContainer()
+                                       throws DOMException;
+
+    public int getStartOffset()
+                                       throws DOMException;
+
+    public Node getEndContainer()
+                                       throws DOMException;
+
+    public int getEndOffset()
+                                       throws DOMException;
+
+    public boolean getCollapsed()
+                                       throws DOMException;
+
+    public Node getCommonAncestorContainer()
+                                       throws DOMException;
+
+    public void setStart(Node refNode, 
+                         int offset)
+                         throws RangeException, DOMException;
+
+    public void setEnd(Node refNode, 
+                       int offset)
+                       throws RangeException, DOMException;
+
+    public void setStartBefore(Node refNode)
+                               throws RangeException, DOMException;
+
+    public void setStartAfter(Node refNode)
+                              throws RangeException, DOMException;
+
+    public void setEndBefore(Node refNode)
+                             throws RangeException, DOMException;
+
+    public void setEndAfter(Node refNode)
+                            throws RangeException, DOMException;
+
+    public void collapse(boolean toStart)
+                         throws DOMException;
+
+    public void selectNode(Node refNode)
+                           throws RangeException, DOMException;
+
+    public void selectNodeContents(Node refNode)
+                                   throws RangeException, DOMException;
+
+    // CompareHow
+    public static final short START_TO_START            = 0;
+    public static final short START_TO_END              = 1;
+    public static final short END_TO_END                = 2;
+    public static final short END_TO_START              = 3;
+
+    public short compareBoundaryPoints(short how, 
+                                       Range sourceRange)
+                                       throws DOMException;
+
+    public void deleteContents()
+                               throws DOMException;
+
+    public DocumentFragment extractContents()
+                                            throws DOMException;
+
+    public DocumentFragment cloneContents()
+                                          throws DOMException;
+
+    public void insertNode(Node newNode)
+                           throws DOMException, RangeException;
+
+    public void surroundContents(Node newParent)
+                                 throws DOMException, RangeException;
+
+    public Range cloneRange()
+                            throws DOMException;
+
+    public String toString()
+                           throws DOMException;
+
+    public void detach()
+                       throws DOMException;
+
+}
+
+
+ +

+org/w3c/dom/ranges/DocumentRange.java:

+ +
+
+package org.w3c.dom.ranges;
+
+public interface DocumentRange {
+    public Range createRange();
+
+}
+
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/traversal-range/ranges.html b/java/external/xdocs/dom/traversal-range/ranges.html new file mode 100644 index 0000000..3cac276 --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/ranges.html @@ -0,0 +1,2794 @@ + + + + +Document Object Model Range + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

2. Document Object Model Range

+ +
+
Editors
+ +
Peter Sharpe, SoftQuad Software Inc.
+ +
Vidur Apparao, Netscape Communications Corp.
+ +
Lauren Wood, SoftQuad Software Inc.
+
+ + + +
+ +

2.1. +Introduction

+ +

A Range identifies a range of content in a Document, +DocumentFragment or Attr. It is contiguous in the sense that it can +be characterized as selecting all of the content between a pair of +boundary-points.

+ +

Note: In a text editor or a word processor, a user can +make a selection by pressing down the mouse at one point in a +document, moving the mouse to another point, and releasing the +mouse. The resulting selection is contiguous and consists of the +content between the two points.

+ +

The term 'selecting' does not mean that every Range corresponds +to a selection made by a GUI user; however, such a selection can be +returned to a DOM user as a Range.

+ +

Note: In bidirectional writing (Arabic, Hebrew), a range +may correspond to a logical selection that is not necessarily +contiguous when displayed. A visually contiguous selection, also +used in some cases, may not correspond to a single logical +selection, and may therefore have to be represented by more than +one range.

+ +

The Range interface provides methods for accessing and +manipulating the document tree at a higher level than similar +methods in the Node interface. The expectation is that each of the +methods provided by the Range interface for the insertion, deletion +and copying of content can be directly mapped to a series of Node +editing operations enabled by DOM Core. In this sense, the Range +operations can be viewed as convenience methods that also enable +the implementation to optimize common editing patterns.

+ +

This chapter describes the Range interface, including methods +for creating and moving a Range and methods for manipulating +content with Ranges.

+ +

The interfaces found within this section are not mandatory. A +DOM application may use the hasFeature(feature, +version) method of the DOMImplementation +interface with parameter values "Range" and "2.0" (respectively) to +determine whether or not this module is supported by the +implementation. In order to fully support this module, an +implementation must also support the "Core" feature defined defined +in the DOM Level 2 Core specification [DOM Level 2 Core]. Please refer +to additional information about +conformance in the DOM Level 2 Core specification [DOM Level 2 +Core].

+
+ + +
+ +

2.2. Definitions +and Notation

+ +
+ +

2.2.1. +Position

+ +

This chapter refers to two different representations of a +document: the text or source form that includes the document markup +and the tree representation similar to the one described in the +introduction section of the DOM Level 2 Core [DOM Level 2 Core].

+ +

A Range consists of two boundary-points corresponding to +the start and the end of the Range. A boundary-point's position in a +Document or DocumentFragment tree can be characterized by a node +and an offset. The +node is called the container of the boundary-point and of +its position. The container and its ancestors +are the ancestor containers of the boundary-point and of its +position. The offset within +the node is called the offset of the boundary-point and its +position. If the container is an Attr, Document, DocumentFragment, +Element or EntityReference node, the offset is between its child nodes. If the +container is a CharacterData, Comment or ProcessingInstruction +node, the offset is between the 16-bit units of +the UTF-16 encoded string contained by it.

+ +

The boundary-points of +a Range must have a common ancestor +container which is either a Document, DocumentFragment or +Attr node. That is, the content of a Range must be entirely within +the subtree rooted by a single Document, DocumentFragment or Attr +Node. This +common ancestor +container is known as the root container of the +Range. The tree +rooted by the root +container is known as the Range's context tree.

+ +

The container of +a boundary-point of +a Range must be an Element, Comment, ProcessingInstruction, +EntityReference, CDATASection, Document, DocumentFragment, Attr, or +Text node. None of the ancestor +containers of the boundary-point of +a Range can be a DocumentType, Entity or Notation node.

+ +

In terms of the text representation of a document, the boundary-points of +a Range can only be on token boundaries. That is, the boundary-point of +the text range cannot be in the middle of a start- or end-tag of an +element or within the name of an entity or character reference. A +Range locates a contiguous portion of the content of the structure +model.

+ +

The relationship between locations in a text representation of +the document and in the Node tree interface of the DOM is +illustrated in the following diagram:
+

+ +
+
+Range Example + +
+Range Example + +
+
+ +

In this diagram, four different Ranges are illustrated. The boundary-points of +each Range are labelled with s# (the start of the Range) and +e# (the end of the Range), where # is the number of the +Range. For Range 2, the start is in the BODY element and is +immediately after the H1 element and immediately before the P +element, so its position is between the H1 and P children of BODY. +The offset of a boundary-point +whose container is +not a CharacterData node is 0 if it is before the first child, 1 if +between the first and second child, and so on. So, for the start of +the Range 2, the container is BODY and +the offset is 1. The +offset of a boundary-point +whose container is +a CharacterData node is obtained similarly but using 16-bit unit +positions instead. For example, the boundary-point +labelled s1 of the Range 1 has a Text node (the one containing +"Title") as its container and an offset of 2 since it is +between the second and third 16-bit unit.

+ +

Notice that the boundary-points of +Ranges 3 and 4 correspond to the same location in the text +representation. An important feature of the Range is that a boundary-point of +a Range can unambiguously represent every position within the +document tree.

+ +

The containers +and offsets of the boundary-points +can be obtained through the following read-only Range +attributes:

+ +
+
+  readonly attribute Node startContainer; 
+  readonly attribute long startOffset;
+  readonly attribute Node endContainer; 
+  readonly attribute long endOffset;
+
+
+ +

If the boundary-points of +a Range have the same containers and offsets, the Range is +said to be a collapsed Range. (This is often referred to as +an insertion point in a user agent.)

+
+ + +
+ +

2.2.2. Selection +and Partial Selection

+ +

A node or 16-bit unit unit +is said to be selected by a Range if it is between the two +boundary-points +of the Range, that is, if the position immediately before the node +or 16-bit unit is before the end of the Range and the position +immediately after the node or 16-bit unit is after the start of the +range. For example, in terms of a text representation of the +document, an element would be selected by a Range if +its corresponding start-tag was located after the start of the +Range and its end-tag was located before the end of the Range. In +the examples in the above diagram, the Range 2 selects the P node and +the Range 3 selects +the text node containing the text "Blah xyz."

+ +

A +node is said to be partially selected by a Range if it is an +ancestor +container of exactly one boundary-point of +the Range. For example, consider Range 1 in the above diagram. The +element H1 is partially +selected by that Range since the start of the Range is +within one of its children.

+
+ + +
+ +

2.2.3. +Notation

+ +

Many of the examples in this chapter are illustrated using a +text representation of a document. The boundary-points of +a Range are indicated by displaying the characters (be they markup +or data characters) between the two boundary-points in +bold, as in

+ +
+
+    <FOO>ABC<BAR>DEF</BAR></FOO>
+                 
+
+
+ +

When both boundary-points +are at the same position, they are indicated with a bold caret +('^'), as in

+ +
+
+    <FOO>A^BC<BAR>DEF</BAR></FOO>
+
+
+
+ +
+ + +
+ +

2.3. Creating a +Range

+ +

A Range is created by calling the createRange() +method on the DocumentRange +interface. This interface can be obtained from the object +implementing the Document interface using +binding-specific casting methods.

+ +
+
+  interface DocumentRange {
+    Range createRange();
+  }
+
+
+ +

The initial state of the Range returned from this method is such +that both of its boundary-points +are positioned at the beginning of the corresponding Document, +before any content. In other words, the container of each boundary-point is +the Document node and the offset within that node is 0.

+ +

Like some objects created using methods in the Document +interface (such as Nodes and DocumentFragments), Ranges created via +a particular document instance can select only content associated +with that Document, or with DocumentFragments and Attrs for which +that Document is the ownerDocument. Such Ranges, then, +can not be used with other Document instances.

+
+ + +
+ +

2.4. Changing a +Range's Position

+ +

A Range's position can be specified by setting the container and offset of each +boundary-point with the setStart and +setEnd methods.

+ +
+
+  void setStart(in Node parent, in long offset)
+                        raises(RangeException);
+  void setEnd(in Node parent, in long offset)
+                raises(RangeException);
+
+
+ +

If one boundary-point of a Range is set to have a root container +other than the current one for the Range, the Range is collapsed to the new +position. This enforces the restriction that both boundary-points +of a Range must have the same root +container.

+ +

The start position of a Range is guaranteed to never be after +the end position. To enforce this restriction, if the start is set +to be at a position after the end, the Range is collapsed to that +position. Similarly, if the end is set to be at a position before +the start, the Range is collapsed to that +position.

+ +

It is also possible to set a Range's position relative to nodes +in the tree:

+ +
+
+  void setStartBefore(in Node node);
+                              raises(RangeException);
+  void setStartAfter(in Node node);
+                       raises(RangeException);
+  void setEndBefore(in Node node);
+                      raises(RangeException);
+  void setEndAfter(in Node node);
+                     raises(RangeException);
+
+
+ +

The parent of the +node becomes the container of the boundary-point and +the Range is subject to the same restrictions as given above in the +description of setStart()and +setEnd().

+ +

A Range can be collapsed to either +boundary-point:

+ +
+
+  void collapse(in boolean toStart);
+
+
+ +

Passing TRUE as the parameter toStart +will collapse the +Range to its start, FALSE to its end.

+ +

Testing whether a Range is collapsed can be done +by examining the collapsed attribute:

+ +
+
+  readonly attribute boolean collapsed;
+
+
+ +

The following methods can be used to make a Range select the +contents of a node or the node itself.

+ +
+
+  void selectNode(in Node n);
+  void selectNodeContents(in Node n);
+
+
+ +

The following examples demonstrate the operation of the methods +selectNode and selectNodeContents:

+ +
+
+Before:
+  ^<BAR><FOO>A<MOO>B</MOO>C</FOO></BAR>
+After Range.selectNodeContents(FOO):
+  <BAR><FOO>A<MOO>B</MOO>C</FOO></BAR>
+(In this case, FOO is the parent of both boundary-points)
+After Range.selectNode(FOO):
+
+<BAR><FOO>A<MOO>B</MOO>C</FOO></BAR>
+
+
+
+ + +
+ +

2.5. Comparing +Range Boundary-Points

+ +

It is possible to compare two Ranges by comparing their +boundary-points:

+ +
+
+  short compareBoundaryPoints(in CompareHow how, in Range sourceRange) raises(RangeException);
+
+
+ +

where CompareHow is one of four values: +START_TO_START, START_TO_END, +END_TO_END and END_TO_START. The return +value is -1, 0 or 1 depending on whether the corresponding +boundary-point of the Range is before, equal to, or after the +corresponding boundary-point of sourceRange. An +exception is thrown if the two Ranges have different root +containers.

+ +

The result of comparing two boundary-points (or positions) is +specified below. An informal but not always correct specification +is that an boundary-point is before, equal to, or after another if +it corresponds to a location in a text representation before, equal +to, or after the other's corresponding location.

+ +

Let A and B be +two boundary-points or positions. Then one of the following holds: +A is before B, A is equal to B, or A is after +B. Which one holds is specified in the following by examining four +cases:

+ +

In the first case the boundary-points have the same container. A is +before B if its offset is less than the +offset of B, A is +equal to B if its offset is equal to the offset of B, and A is +after B if its offset is greater than +the offset of B.

+ +

In the second case a child node C of the container of A is an +ancestor +container of B. In this case, A is before B if the +offset of A is less +than or equal to the index of the child node C and A is +after B otherwise.

+ +

In the third case a child node C of the container of B is an +ancestor +container of A. In this case, A is before B if the +index of the child node C is less than the offset of B and A is +after B otherwise.

+ +

In the fourth case, none of three other cases hold: the +containers of A and B are siblings or descendants of +sibling nodes. In this case, A is before B if the container of A is +before the container of B in a +pre-order traversal of the Ranges' context tree and A +is after B otherwise.

+ +

Note that because the same location in a text representation of +the document can correspond to two different positions in the DOM +tree, it is possible for two boundary-points to not compare equal +even though they would be equal in the text representation. For +this reason, the informal definition above can sometimes be +incorrect.

+
+ + +
+ +

2.6. +Deleting Content with a Range

+ +

One can delete the contents selected by a Range with:

+ +
+
+  void deleteContents();
+
+
+ +

deleteContents() deletes all nodes and characters +selected by the Range. All other nodes and characters remain in the +context tree of +the Range. Some examples of this deletion operation are:

+ +
+
+(1) <FOO>AB<MOO>CD</MOO>CD</FOO>  -->
+<FOO>A^CD</FOO>
+
+
+ +
+
+(2) <FOO>A<MOO>BC</MOO>DE</FOO>  -->
+<FOO>A<MOO>B</MOO>^E</FOO>
+
+
+ +
+
+(3) <FOO>XY<BAR>ZW</BAR>Q</FOO>  -->
+<FOO>X^<BAR>W</BAR>Q</FOO>
+
+
+ +
+
+(4) <FOO><BAR1>AB</BAR1><BAR2/><BAR3>CD</BAR3></FOO>
+-->  <FOO><BAR1>A</BAR1>^<BAR3>D</BAR3>
+
+
+ +

After deleteContents() is invoked on a Range, the +Range is collapsed. +If no node was partially +selected by the Range, then it is collapsed to its +original start point, as in example (1). If a node was partially +selected by the Range and was an ancestor +container of the start of the Range and no ancestor of the node +satisfies these two conditions, then the Range is collapsed to the +position immediately after the node, as in examples (2) and (4). If +a node was partially +selected by the Range and was an ancestor +container of the end of the Range and no ancestor of the +node satisfies these two conditions, then the Range is collapsed to +the position immediately before the node, as in examples (3) and +(4).

+ +

Note that if deletion of a Range leaves adjacent Text nodes, +they are not automatically merged, and empty Text nodes are not +automatically removed. Two Text nodes should be joined only if each +is the container of one of the boundary-points of a Range whose +contents are deleted. To merge adjacent Text nodes, or remove empty +text nodes, the normalize() method on the +Node interface should be used.

+
+ + +
+ +

2.7. Extracting +Content

+ +

If the contents of a Range need to be extracted rather than +deleted, the following method may be used:

+ +
+
+  DocumentFragment extractContents();
+
+
+ +

The extractContents() method removes nodes from the +Range's context +tree similarly to the deleteContents() +method. In addition, it places the deleted contents in a new +DocumentFragment. The following examples illustrate +the contents of the returned DocumentFragment:

+ +
+
+(1) <FOO>AB<MOO>CD</MOO>CD</FOO>  -->
+B<MOO>CD</MOO>
+
+
+ +
+
+(2) <FOO>A<MOO>BC</MOO>DE</FOO>  -->
+<MOO>C<MOO>D
+
+
+ +
+
+(3) <FOO>XY<BAR>ZW</BAR>Q</FOO>  -->
+Y<BAR>Z</BAR>
+
+
+ +
+
+(4)
+<FOO><BAR1>AB</BAR1><BAR2/><BAR3>CD</BAR3></FOO> -->
+<BAR1>B</BAR1><BAR2/><BAR3>C</BAR3>
+
+
+ +

It is important to note that nodes that are partially +selected by the Range are cloned. Since part of such a +node's contents must remain in the Range's context tree and +part of the contents must be moved to the new DocumentFragment, a +clone of the partially +selected node is included in the new DocumentFragment. +Note that cloning does not take place for selected elements; +these nodes are moved to the new DocumentFragment.

+
+ + +
+ +

2.8. Cloning +Content

+ +

The contents of a Range may be duplicated using the following +method:

+ +
+
+  DocumentFragment cloneContents();
+
+
+ +

This method returns a DocumentFragment that is +similar to the one returned by the method +extractContents(). However, in this case, the original +nodes and character data in the Range are not removed from the +Range's context +tree. Instead, all of the nodes and text content within +the returned DocumentFragment are cloned.

+
+ + +
+ +

2.9. Inserting +Content

+ +

A node may be inserted into a Range using the following +method:

+ +
+
+  void insertNode(in Node n) raises(RangeException);
+
+
+ +

The insertNode() method inserts the specified node +into the Range's context +tree. The node is inserted at the start boundary-point of +the Range, without modifying it.

+ +

If the start boundary point of the Range is in a +Text node, the insertNode operation +splits the Text node at the boundary point. If the +node to be inserted is also a Text node, the resulting +adjacent Text nodes are not normalized automatically; +this operation is left to the application.

+ +

The Node passed into this method can be a +DocumentFragment. In that case, the contents of the +DocumentFragment are inserted at the start boundary-point of +the Range, but the DocumentFragment itself is not. +Note that if the Node represents the root of a sub-tree, the entire +sub-tree is inserted.

+ +

The same rules that apply to the insertBefore() +method on the Node interface apply here. Specifically, the Node +passed in, if it already has a parent, will be removed from its +existing position.

+
+ + +
+ +

2.10. +Surrounding Content

+ +

The insertion of a single node to subsume the content selected +by a Range can be performed with:

+ +
+
+  void surroundContents(in Node newParent);
+
+
+ +

The surroundContents() method causes all of the +content selected by the Range to be rooted by the specified node. +The nodes may not be Attr, Entity, DocumentType, Notation, +Document, or DocumentFragment nodes. Calling +surroundContents() with the Element node FOO in the +following examples yields:

+ +
+
+     Before:
+       <BAR>AB<MOO>C</MOO>DE</BAR>
+
+     After surroundContents(FOO):
+
+<BAR>A<FOO>B<MOO>C</MOO>D</FOO>E</BAR>
+
+
+ +

Another way of describing the effect of this method on the +Range's context +tree is to decompose it in terms of other operations:

+ +
    +
  1. Remove the contents selected by the Range with a call to +extractContents().
  2. + +
  3. Insert the node newParent where the Range is +collapsed (after the extraction) with +insertNode().
  4. + +
  5. Insert the entire contents of the extracted DocumentFragment +into newParent. Specifically, invoke the +appendChild() on newParent passing in the +DocumentFragment returned as a result of the call to +extractContents()
  6. + +
  7. Select newParent and all of its contents with +selectNode().
  8. +
+ +

The surroundContents() method raises an exception +if the Range partially +selects a non-Text node. An example of a Range for which +surroundContents()raises an exception is:

+ +
+
+     <FOO>AB<BAR>CD</BAR>E</FOO>
+
+
+ +

If the node newParent has any children, those +children are removed before its insertion. Also, if the node +newParent already has a parent, it is removed from the +original parent's childNodes list.

+
+ + +
+ +

2.11. Miscellaneous +Members

+ +

One can clone a Range:

+ +
+
+  Range cloneRange();
+
+
+ +

This creates a new Range which selects exactly the same content +as that selected by the Range on which the method +cloneRange was invoked. No content is affected by this +operation.

+ +

Because the boundary-points of a Range do not necessarily have +the same containers, use:

+ +
+
+  readonly attribute Node commonAncestorContainer;
+
+
+ +

to get the ancestor +container of both boundary-points that is furthest down +from the Range's root +container

+ +

One can get a copy of all the character data selected or +partially selected by a Range with:

+ +
+
+  DOMString toString();
+
+
+ +

This does nothing more than simply concatenate all the character +data selected by the Range. This includes character data in both +Text and CDATASection nodes.

+
+ + +
+ +

2.12. Range +modification under document mutation

+ +

As a document is modified, the Ranges within the document need +to be updated. For example, if one boundary-point of a Range is +within a node and that node is removed from the document, then the +Range would be invalid unless it is fixed up in some way. This +section describes how Ranges are modified under document mutations +so that they remain valid.

+ +

There are two general principles which apply to Ranges under +document mutation: The first is that all Ranges in a document will +remain valid after any mutation operation and the second is that, +as much as possible, all Ranges will select the same portion of the +document after any mutation operation.

+ +

Any mutation of the document tree which affect Ranges can be +considered to be a combination of basic deletion and insertion +operations. In fact, it can be convenient to think of those +operations as being accomplished using the +deleteContents() and insertNode() Range +methods and, in the case of Text mutations, the +splitText() and normalize() methods.

+ +
+ +

2.12.1. +Insertions

+ +

An insertion occurs at a single point, the insertion point, in +the document. For any Range in the document tree, consider each +boundary-point. The only case in which the boundary-point will be +changed after the insertion is when the boundary-point and the +insertion point have the same container and the offset of the insertion +point is strictly less than the offset of the Range's +boundary-point. In that case the offset of the Range's +boundary-point will be increased so that it is between the same +nodes or characters as it was before the insertion.

+ +

Note that when content is inserted at a boundary-point, it is +ambiguous as to where the boundary-point should be repositioned if +its relative position is to be maintained. There are two +possibilities: at the start or at the end of the newly inserted +content. We have chosen that in this case neither the container nor offset of the +boundary-point is changed. As a result, the boundary-point will be +positioned at the start of the newly inserted content.

+ +

Examples:

+ +

Suppose the Range selects the following:

+ +
+
+<P>Abcd efgh XY blah ijkl</P>
+
+
+ +

Consider the insertion of the text "inserted text" at the +following positions:

+ +
+
+1. Before the 'X':
+
+<P>Abcd efgh inserted textXY blah ijkl</P>
+
+2. After the 'X':
+
+<P>Abcd efgh Xinserted textY blah ijkl</P>
+
+3. After the 'Y':
+
+<P>Abcd efgh XYinserted text blah ijkl</P>
+
+4. After the 'h' in "Y blah":
+
+<P>Abcd efgh XY blahinserted text ijkl</P>
+
+
+
+
+ + +
+ +

2.12.2. +Deletions

+ +

Any deletion from the document tree can be considered as a +sequence of deleteContents() operations applied to a +minimal set of disjoint Ranges. To specify how a Range is modified +under deletions we need only consider what happens to a Range under +a single deleteContents()operation of another Range. +And, in fact, we need only consider what happens to a single +boundary-point of the Range since both boundary-points are modified +using the same algorithm.

+ +

If a boundary-point of the original Range is within the content +being deleted, then after the deletion it will be at the same +position as the resulting boundary-point of the (now collapsed) Range used +to delete the contents.

+ +

If a boundary-point is after the content being deleted then it +is not affected by the deletion unless its container is also the +container of one of +the boundary-points of the Range being deleted. If there is such a +common container, +then the index of the boundary-point is modified so that the +boundary-point maintains its position relative to the content of +the container.

+ +

If a boundary-point is before the content being deleted then it +is not affected by the deletion at all.

+ +

Examples:

+ +

In these examples, the Range on which +deleteContents()is invoked is indicated by the +underline.

+ +

Example 1.

+ +

Before:

+ +
+
+<P>Abcd efgh The Range ijkl</P>
+
+
+ +

After:

+ +
+
+<P>Abcd Range ijkl</P>
+
+
+ +

Example 2.

+ +

Before:

+ +
+
+<p>Abcd efgh The Range ijkl</p>
+
+
+ +

After:

+ +
+
+<p>Abcd ^kl</p>
+
+
+ +

Example 3.

+ +

Before:

+ +
+
+<P>ABCD efgh The <EM>Range</EM> ijkl</P>
+
+
+ +

After:

+ +
+
+<P>ABCD <EM>ange</EM> ijkl</P>
+
+
+ +

In this example, the container of the start boundary-point after +the deletion is the Text node holding the string "ange".

+ +

Example 4.

+ +

Before:

+ +
+
+<P>Abcd efgh The Range ijkl</P>
+
+
+ +

After:

+ +
+
+<P>Abcd he Range ijkl</P>
+
+
+ +

Example 5.

+ +

Before:

+ +
+
+<P>Abcd <EM>efgh The Range ij</EM>kl</P>
+
+
+ +

After:

+ +
+
+<P>Abcd ^kl</P>
+
+
+
+ +
+ + +
+ +

2.13. Formal +Description of the Range Interface

+ +

To summarize, the complete, formal description of the Range +interface is given below:

+ +
+
Interface Range (introduced in DOM Level 2)
+ +
+
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface Range {
+  readonly attribute Node             startContainer;
+                                        // raises(DOMException) on retrieval
+
+  readonly attribute long             startOffset;
+                                        // raises(DOMException) on retrieval
+
+  readonly attribute Node             endContainer;
+                                        // raises(DOMException) on retrieval
+
+  readonly attribute long             endOffset;
+                                        // raises(DOMException) on retrieval
+
+  readonly attribute boolean          collapsed;
+                                        // raises(DOMException) on retrieval
+
+  readonly attribute Node             commonAncestorContainer;
+                                        // raises(DOMException) on retrieval
+
+  void               setStart(in Node refNode, 
+                              in long offset)
+                                        raises(RangeException, 
+                                               DOMException);
+  void               setEnd(in Node refNode, 
+                            in long offset)
+                                        raises(RangeException, 
+                                               DOMException);
+  void               setStartBefore(in Node refNode)
+                                        raises(RangeException, 
+                                               DOMException);
+  void               setStartAfter(in Node refNode)
+                                        raises(RangeException, 
+                                               DOMException);
+  void               setEndBefore(in Node refNode)
+                                        raises(RangeException, 
+                                               DOMException);
+  void               setEndAfter(in Node refNode)
+                                        raises(RangeException, 
+                                               DOMException);
+  void               collapse(in boolean toStart)
+                                        raises(DOMException);
+  void               selectNode(in Node refNode)
+                                        raises(RangeException, 
+                                               DOMException);
+  void               selectNodeContents(in Node refNode)
+                                        raises(RangeException, 
+                                               DOMException);
+
+  // CompareHow
+  const unsigned short      START_TO_START                 = 0;
+  const unsigned short      START_TO_END                   = 1;
+  const unsigned short      END_TO_END                     = 2;
+  const unsigned short      END_TO_START                   = 3;
+
+  short              compareBoundaryPoints(in unsigned short how, 
+                                           in Range sourceRange)
+                                        raises(DOMException);
+  void               deleteContents()
+                                        raises(DOMException);
+  DocumentFragment   extractContents()
+                                        raises(DOMException);
+  DocumentFragment   cloneContents()
+                                        raises(DOMException);
+  void               insertNode(in Node newNode)
+                                        raises(DOMException, 
+                                               RangeException);
+  void               surroundContents(in Node newParent)
+                                        raises(DOMException, 
+                                               RangeException);
+  Range              cloneRange()
+                                        raises(DOMException);
+  DOMString          toString()
+                                        raises(DOMException);
+  void               detach()
+                                        raises(DOMException);
+};
+
+
+ +
+
+ +
Definition group CompareHow
+ +
+

Passed as a parameter to the compareBoundaryPoints +method.

+ +
+
Defined Constants
+ +
+
+
END_TO_END
+ +
Compare end boundary-point of sourceRange to end +boundary-point of Range on which compareBoundaryPoints +is invoked.
+ +
END_TO_START
+ +
Compare end boundary-point of sourceRange to start +boundary-point of Range on which compareBoundaryPoints +is invoked.
+ +
START_TO_END
+ +
Compare start boundary-point of sourceRange to end +boundary-point of Range on which compareBoundaryPoints +is invoked.
+ +
START_TO_START
+ +
Compare start boundary-point of sourceRange to +start boundary-point of Range on which +compareBoundaryPoints is invoked.
+
+
+
+
+ +
Attributes
+ +
+
+
collapsed of type +boolean, readonly
+ +
TRUE if the Range is collapsed
+ + +
Exceptions on retrieval + +
+ + + + + +
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
+ +
commonAncestorContainer +of type Node, readonly
+ +
The deepest +common ancestor +container of the Range's two boundary-points.
+ + +
Exceptions on retrieval + +
+ + + + + +
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
+ +
endContainer of type +Node, readonly
+ +
Node within which the Range ends
+ + +
Exceptions on retrieval + +
+ + + + + +
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
+ +
endOffset of type +long, readonly
+ +
Offset within the ending node of the Range.
+ + +
Exceptions on retrieval + +
+ + + + + +
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
+ +
startContainer of +type Node, readonly
+ +
Node within which the Range begins
+ + +
Exceptions on retrieval + +
+ + + + + +
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
+ +
startOffset of +type long, readonly
+ +
Offset within the starting node of the Range.
+ + +
Exceptions on retrieval + +
+ + + + + +
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
+
+
+ +
Methods
+ +
+
+
cloneContents
+ +
+
Duplicates the contents of a Range + +
Return Value + +
+ + + + + +
+

DocumentFragment

+
+

A DocumentFragment that contains content equivalent to this +Range.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be +extracted into the new DocumentFragment.

+ +

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Parameters
+
+ + +
+ +
cloneRange
+ +
+
Produces a new Range whose boundary-points are +equal to the boundary-points of the Range. + +
Return Value + +
+ + + + + +
+

Range

+
+

The duplicated Range.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Parameters
+
+ + +
+ +
collapse
+ +
+
Collapse a Range onto one of its +boundary-points + +
Parameters + +
+
+
toStart of type +boolean
+ +
If TRUE, collapses the Range onto its start; if FALSE, +collapses it onto its end.
+
+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
compareBoundaryPoints
+ +
+
Compare the boundary-points of two Ranges in a +document. + +
Parameters + +
+
+
how of type unsigned +short
+ +
A code representing the type of comparison, as defined +above.
+
+ +
sourceRange of type Range
+ +
The Range on which this current Range +is compared to.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

short

+
+

-1, 0 or 1 depending on whether the corresponding boundary-point +of the Range is respectively before, equal to, or after the +corresponding boundary-point of sourceRange.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

WRONG_DOCUMENT_ERR: Raised if the two Ranges are not in the same +Document or DocumentFragment.

+ +

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
+ + +
+ +
deleteContents
+ +
+
Removes the contents of a Range from the +containing document or document fragment without returning a +reference to the removed content. + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the +content of the Range is read-only or any of the nodes that contain +any of the content of the Range are read-only.

+ +

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Parameters
+ +
No Return Value
+
+ + +
+ +
detach
+ +
+
Called to indicate that the Range is no longer +in use and that the implementation may relinquish any resources +associated with this Range. Subsequent calls to any methods or +attribute getters on this Range will result in a +DOMException being thrown with an error code of +INVALID_STATE_ERR. + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Parameters
+ +
No Return Value
+
+ + +
+ +
extractContents
+ +
+
Moves the contents of a Range from the +containing document or document fragment to a new DocumentFragment. + + +
Return Value + +
+ + + + + +
+

DocumentFragment

+
+

A DocumentFragment containing the extracted contents.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the +content of the Range is read-only or any of the nodes which contain +any of the content of the Range are read-only.

+ +

HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be +extracted into the new DocumentFragment.

+ +

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Parameters
+
+ + +
+ +
insertNode
+ +
+
Inserts a node into the Document or +DocumentFragment at the start of the Range. If the container is a +Text node, this will be split at the start of the Range (as if the +Text node's splitText method was performed at the insertion point) +and the insertion will occur between the two resulting Text nodes. +Adjacent Text nodes will not be automatically merged. If the node +to be inserted is a DocumentFragment node, the children will be +inserted rather than the DocumentFragment node itself. + +
Parameters + +
+
+
newNode of type +Node
+ +
The node to insert at the start of the Range
+
+
+
+
+ + +
Exceptions + +
+ + + + + + + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor +container of the start of the Range is read-only.

+ +

WRONG_DOCUMENT_ERR: Raised if newNode and the container of the start +of the Range were not created from the same document.

+ +

HIERARCHY_REQUEST_ERR: Raised if the container of the start +of the Range is of a type that does not allow children of the type +of newNode or if newNode is an ancestor +of the container.

+ +

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+

RangeException

+
+

INVALID_NODE_TYPE_ERR: Raised if newNode is an +Attr, Entity, Notation, or Document node.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
selectNode
+ +
+
Select a node and its contents + +
Parameters + +
+
+
refNode of type +Node
+ +
The node to select.
+
+
+
+
+ + +
Exceptions + +
+ + + + + + + + + + +
+

RangeException

+
+

INVALID_NODE_TYPE_ERR: Raised if an ancestor of +refNode is an Entity, Notation or DocumentType node or +if refNode is a Document, DocumentFragment, Attr, +Entity, or Notation node.

+
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
selectNodeContents
+ +
+
Select the contents within a node + +
Parameters + +
+
+
refNode of type +Node
+ +
Node to select from
+
+
+
+
+ + +
Exceptions + +
+ + + + + + + + + + +
+

RangeException

+
+

INVALID_NODE_TYPE_ERR: Raised if refNode or an +ancestor of refNode is an Entity, Notation or +DocumentType node.

+
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
setEnd
+ +
+
Sets the attributes describing the end of a +Range. + +
Parameters + +
+
+
refNode of type +Node
+ +
The refNode value. This parameter must be +different from null.
+
+ +
offset of type +long
+ +
The endOffset value.
+
+
+
+
+ + +
Exceptions + +
+ + + + + + + + + + +
+

RangeException

+
+

INVALID_NODE_TYPE_ERR: Raised if refNode or an +ancestor of refNode is an Entity, Notation, or +DocumentType node.

+
+

DOMException

+
+

INDEX_SIZE_ERR: Raised if offset is negative or +greater than the number of child units in refNode. +Child units are 16-bit +units if refNode is a type of CharacterData +node (e.g., a Text or Comment node) or a ProcessingInstruction +node. Child units are Nodes in all other cases.

+ +

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
setEndAfter
+ +
+
Sets the end of a Range to be after a node + +
Parameters + +
+
+
refNode of type +Node
+ +
Range ends after refNode.
+
+
+
+
+ + +
Exceptions + +
+ + + + + + + + + + +
+

RangeException

+
+

INVALID_NODE_TYPE_ERR: Raised if the root container of +refNode is not an Attr, Document or DocumentFragment +node or if refNode is a Document, DocumentFragment, +Attr, Entity, or Notation node.

+
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
setEndBefore
+ +
+
Sets the end position to be before a node. + +
Parameters + +
+
+
refNode of type +Node
+ +
Range ends before refNode
+
+
+
+
+ + +
Exceptions + +
+ + + + + + + + + + +
+

RangeException

+
+

INVALID_NODE_TYPE_ERR: Raised if the root container of +refNode is not an Attr, Document, or DocumentFragment +node or if refNode is a Document, DocumentFragment, +Attr, Entity, or Notation node.

+
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
setStart
+ +
+
Sets the attributes describing the start of the +Range. + +
Parameters + +
+
+
refNode of type +Node
+ +
The refNode value. This parameter must be +different from null.
+
+ +
offset of type +long
+ +
The startOffset value.
+
+
+
+
+ + +
Exceptions + +
+ + + + + + + + + + +
+

RangeException

+
+

INVALID_NODE_TYPE_ERR: Raised if refNode or an +ancestor of refNode is an Entity, Notation, or +DocumentType node.

+
+

DOMException

+
+

INDEX_SIZE_ERR: Raised if offset is negative or +greater than the number of child units in refNode. +Child units are 16-bit +units if refNode is a type of CharacterData +node (e.g., a Text or Comment node) or a ProcessingInstruction +node. Child units are Nodes in all other cases.

+ +

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
setStartAfter
+ +
+
Sets the start position to be after a node + +
Parameters + +
+
+
refNode of type +Node
+ +
Range starts after refNode
+
+
+
+
+ + +
Exceptions + +
+ + + + + + + + + + +
+

RangeException

+
+

INVALID_NODE_TYPE_ERR: Raised if the root container of +refNode is not an Attr, Document, or DocumentFragment +node or if refNode is a Document, DocumentFragment, +Attr, Entity, or Notation node.

+
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
setStartBefore
+ +
+
Sets the start position to be before a node + +
Parameters + +
+
+
refNode of type +Node
+ +
Range starts before refNode
+
+
+
+
+ + +
Exceptions + +
+ + + + + + + + + + +
+

RangeException

+
+

INVALID_NODE_TYPE_ERR: Raised if the root container of +refNode is not an Attr, Document, or DocumentFragment +node or if refNode is a Document, DocumentFragment, +Attr, Entity, or Notation node.

+
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
surroundContents
+ +
+
Reparents the contents of the Range to the +given node and inserts the node at the position of the start of the +Range. + +
Parameters + +
+
+
newParent of type +Node
+ +
The node to surround the contents with.
+
+
+
+
+ + +
Exceptions + +
+ + + + + + + + + + +
+

DOMException

+
+

NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor +container of either boundary-point of the Range is +read-only.

+ +

WRONG_DOCUMENT_ERR: Raised if newParent and the container of the start +of the Range were not created from the same document.

+ +

HIERARCHY_REQUEST_ERR: Raised if the container of the start +of the Range is of a type that does not allow children of the type +of newParent or if newParent is an +ancestor of the container or if +node would end up with a child node of a type not +allowed by the type of node.

+ +

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+

RangeException

+
+

BAD_BOUNDARYPOINTS_ERR: Raised if the Range partially +selects a non-text node.

+ +

INVALID_NODE_TYPE_ERR: Raised if node is an Attr, +Entity, DocumentType, Notation, Document, or DocumentFragment +node.

+
+
+
+ + +
No Return Value
+
+ + +
+ +
toString
+ +
+
Returns the contents of a Range as a string. +This string contains only the data characters, not any markup. + +
Return Value + +
+ + + + + +
+

DOMString

+
+

The contents of the Range.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_STATE_ERR: Raised if detach() has already +been invoked on this object.

+
+
+
+ + +
No Parameters
+
+ + +
+
+
+
+
+ +
Interface DocumentRange +(introduced in DOM Level 2)
+ +
+
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface DocumentRange {
+  Range              createRange();
+};
+
+
+ +
+
+ +
Methods
+ +
+
+
createRange
+ +
+
This interface can be obtained from the object +implementing the Document interface using +binding-specific casting methods. + +
Return Value + +
+ + + + + +
+

Range

+
+

The initial state of the Range returned from this method is such +that both of its boundary-points are positioned at the beginning of +the corresponding Document, before any content. The Range returned +can only be used to select content associated with this Document, +or with DocumentFragments and Attrs for which this Document is the +ownerDocument.

+
+
+
+ + +
No Parameters
+ +
No Exceptions
+
+ + +
+
+
+
+
+ +
Exception RangeException introduced in DOM Level 2
+ +
+

Range operations may throw a RangeException +as specified in their method descriptions.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+exception RangeException {
+  unsigned short   code;
+};
+// RangeExceptionCode
+const unsigned short      BAD_BOUNDARYPOINTS_ERR         = 1;
+const unsigned short      INVALID_NODE_TYPE_ERR          = 2;
+
+
+ +
+
+ +
Definition group RangeExceptionCode
+ +
+

An integer indicating the type of error generated.

+ +
+
Defined Constants
+ +
+
+
BAD_BOUNDARYPOINTS_ERR
+ +
If the boundary-points of a Range do not meet specific +requirements.
+ +
INVALID_NODE_TYPE_ERR
+ +
If the container of an +boundary-point of a Range is being set to either a node of an +invalid type or a node with an ancestor of an invalid type.
+
+
+
+
+
+
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/traversal-range/references.html b/java/external/xdocs/dom/traversal-range/references.html new file mode 100644 index 0000000..983f1c3 --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/references.html @@ -0,0 +1,104 @@ + + + + +References + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

References

+ +

For the latest version of any W3C specification please consult +the list of W3C Technical +Reports available at http://www.w3.org/TR.

+ +
+ +

F.1: Normative +references

+ +
+
DOM Level 2 Core
+ +
W3C (World Wide Web Consortium) Document +Object Model Level 2 Core Specification, November 2000. +Available at +http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113
+ +
ECMAScript
+ +
ECMA (European Computer Manufacturers Association) ECMAScript +Language Specification. Available at +http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM
+ +
ISO/IEC 10646
+ +
ISO (International Organization for Standardization). ISO/IEC +10646-1:2000 (E). Information technology - Universal Multiple-Octet +Coded Character Set (UCS) - Part 1: Architecture and Basic +Multilingual Plane. [Geneva]: International Organization for +Standardization.
+ +
Java
+ +
Sun Microsystems Inc. The Java Language +Specification, James Gosling, Bill Joy, and Guy Steele, +September 1996. Available at +http://java.sun.com/docs/books/jls
+ +
OMGIDL
+ +
OMG (Object Management Group) +IDL (Interface Definition Language) defined in The Common Object +Request Broker: Architecture and Specification, version 2.3.1, +October 1999. Available from http://www.omg.org/
+ +
Unicode
+ +
The Unicode Consortium. +The Unicode Standard, Version 3.0., February 2000. Available at +http://www.unicode.org/unicode/standard/versions/Unicode3.0.html.
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/traversal-range/spec.css b/java/external/xdocs/dom/traversal-range/spec.css new file mode 100644 index 0000000..6a6bf13 --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/spec.css @@ -0,0 +1,75 @@ +H4 { + text-align: left; + font-family: sans-serif; + font-weight: normal; + color: #0050B2; +} +.idl-code { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} +.java-code { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} + + +.code-block { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} + + +.ecma-block { + border: 1px solid black; + color: black; + background-color: #dfdfdf; +} + + +.interface-name { + font-weight: bold +} + +.attribute-name { + color: black; + background-color: #FFFFD2; +} + +.constant-name { + color: black; + background-color: #DDFFD2; +} + +.method-name { + color: black; + background-color: #D9E6F8; +} + +.parameter-name { + color: black; + background-color: #FEE6F8; +} + +UL.toc, OL.toc {list-style: none} +DIV.toc UL UL, DIV.toc OL OL {margin-left: 0} +DIV.toc UL UL UL, DIV.toc OL OL OL {margin-left: 1em} +DIV.toc UL UL UL UL, DIV.toc OL OL OL OL {margin-left: 0} +LI.tocline1 {font-weight: bold} +LI.tocline2 {font-weight: normal} +LI.tocline4 {font-style: italic} + +code { font-family: monospace } + +div.paramtable { margin-left: 1em } +div.returntable { margin-left: 1em } +div.exceptiontable { margin-left: 1em } diff --git a/java/external/xdocs/dom/traversal-range/traversal.html b/java/external/xdocs/dom/traversal-range/traversal.html new file mode 100644 index 0000000..31412db --- /dev/null +++ b/java/external/xdocs/dom/traversal-range/traversal.html @@ -0,0 +1,2412 @@ + + + + +Document Object Model Traversal + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

1. Document Object Model +Traversal

+ +
+
Editors
+ +
Joe Kesselman, IBM
+ +
Jonathan Robie, Software AG
+ +
Mike Champion, Software AG
+
+ + + +
+ +

1.1. Overview

+ +

This chapter describes the optional DOM Level 2 +Traversal feature. Its TreeWalker, +NodeIterator, +and NodeFilter +interfaces provide easy-to-use, robust, selective traversal of a +document's contents.

+ +

The interfaces found within this section are not mandatory. A +DOM application may use the hasFeature(feature, +version) method of the DOMImplementation +interface with parameter values "Traversal" and "2.0" +(respectively) to determine whether or not this module is supported +by the implementation. In order to fully support this module, an +implementation must also support the "Core" feature defined defined +in the DOM Level 2 Core specification [DOM Level 2 Core]. Please refer +to additional information about +conformance in the DOM Level 2 Core specification [DOM Level 2 +Core].

+ +

NodeIterators +and TreeWalkers +are two different ways of representing the nodes of a document +subtree and a position within the nodes they present. A NodeIterator +presents a flattened view of the subtree as an ordered sequence of +nodes, presented in document order. Because this view is presented +without respect to hierarchy, iterators have methods to move +forward and backward, but not to move up and down. Conversely, a TreeWalker +maintains the hierarchical relationships of the subtree, allowing +navigation of this hierarchy. In general, TreeWalkers +are better for tasks in which the structure of the document around +selected nodes will be manipulated, while NodeIterators +are better for tasks that focus on the content of each selected +node.

+ +

NodeIterators +and TreeWalkers +each present a view of a document subtree that may not contain all +nodes found in the subtree. In this specification, we refer to this +as the logical view to distinguish it from the physical +view, which corresponds to the document subtree per se. When an +iterator or TreeWalker +is created, it may be associated with a NodeFilter, +which examines each node and determines whether it should appear in +the logical view. In addition, flags may be used to specify which +node types should occur in the logical view.

+ +

NodeIterators +and TreeWalkers +are dynamic - the logical view changes to reflect changes made to +the underlying document. However, they differ in how they respond +to those changes. NodeIterators, +which present the nodes sequentially, attempt to maintain their +location relative to a position in that sequence when the +sequence's contents change. TreeWalkers, +which present the nodes as a filtered tree, maintain their location +relative to their current node and remain attached to that node if +it is moved to a new context. We will discuss these behaviors in +greater detail below.

+ +
+ +

1.1.1. NodeIterators

+ +

A NodeIterator +allows the members of a list of nodes to be returned sequentially. +In the current DOM interfaces, this list will always consist of the +nodes of a subtree, presented in document order. +When an iterator is first created, calling its +nextNode() method returns the first node in the +logical view of the subtree; in most cases, this is the root of the +subtree. Each successive call advances the NodeIterator +through the list, returning the next node available in the logical +view. When no more nodes are visible, nextNode() +returns null.

+ +

NodeIterators +are created using the createNodeIterator method found +in the DocumentTraversal +interface. When a NodeIterator +is created, flags can be used to determine which node types will be +"visible" and which nodes will be "invisible" while traversing the +tree; these flags can be combined using the OR +operator. Nodes that are "invisible" are skipped over by the +iterator as though they did not exist.

+ +

The following code creates an iterator, then calls a function to +print the name of each element:

+ +
+
+    NodeIterator iter=
+     ((DocumentTraversal)document).createNodeIterator(
+          root, NodeFilter.SHOW_ELEMENT, null);
+
+    while (Node n = iter.nextNode())
+        printMe(n);
+     
+
+
+ +
+ +

1.1.1.1. Moving Forward +and Backward

+ +

NodeIterators +present nodes as an ordered list, and move forward and backward +within this list. The iterator's position is always either between +two nodes, before the first node, or after the last node. When an +iterator is first created, the position is set before the first +item. The following diagram shows the list view that an iterator +might provide for a particular subtree, with the position indicated +by an asterisk '*' :

+ +
+
+ * A B C D E F G H I
+
+
+ +

Each call to nextNode() returns the next node and +advances the position. For instance, if we start with the above +position, the first call to nextNode() returns "A" and +advances the iterator:

+ +
+
+ [A] * B C D E F G H I
+
+
+ +

The position of a NodeIterator +can best be described with respect to the last node returned, which +we will call the reference node. When an iterator is +created, the first node is the reference node, and the iterator is +positioned before the reference node. In these diagrams, we use +square brackets to indicate the reference node.

+ +

A call to previousNode() returns the previous node +and moves the position backward. For instance, if we start with the +NodeIterator +between "A" and "B", it would return "A" and move to the position +shown below:

+ +
+
+ * [A] B C D E F G H I
+
+
+ +

If nextNode() is called at the end of a list, or +previousNode() is called at the beginning of a list, +it returns null and does not change the position of +the iterator. When a NodeIterator +is first created, the reference node is the first node:

+ +
+
+ * [A] B C D E F G H I
+
+
+
+ + +
+ +

1.1.1.2. +Robustness

+ +

A NodeIterator +may be active while the data structure it navigates is being +edited, so an iterator must behave gracefully in the face of +change. Additions and removals in the underlying data structure do +not invalidate a NodeIterator; +in fact, a NodeIterator +is never invalidated unless its detach() method is +invoked. To make this possible, the iterator uses the reference +node to maintain its position. The state of an iterator also +depends on whether the iterator is positioned before or after the +reference node.

+ +

If changes to the iterated list do not remove the reference +node, they do not affect the state of the NodeIterator. +For instance, the iterator's state is not affected by inserting new +nodes in the vicinity of the iterator or removing nodes other than +the reference node. Suppose we start from the following +position:

+ +
+
+A B C [D] * E F G H I
+
+
+ +

Now let's remove "E". The resulting state is:

+ +
+
+A B C [D] * F G H I
+
+
+ +

If a new node is inserted, the NodeIterator +stays close to the reference node, so if a node is inserted between +"D" and "F", it will occur between the iterator and "F":

+ +
+
+A B C [D] * X F G H I
+
+
+ +

Moving a node is equivalent to a removal followed by an +insertion. If we move "I" to the position before "X" the result +is:

+ +
+
+A B C [D] * I X F G H
+
+
+ +

If the reference node is removed from the list being iterated +over, a different node is selected as the reference node. If the +reference node's position is before that of the NodeIterator, +which is usually the case after nextNode() has been +called, the nearest node before the iterator is chosen as the new +reference node. Suppose we remove the "D" node, starting from the +following state:

+ +
+
+A B C [D] * F G H I
+
+
+ +

The "C" node becomes the new reference node, since it is the +nearest node to the NodeIterator +that is before the iterator:

+ +
+
+A B [C] * F G H I
+
+
+ +

If the reference node is after the NodeIterator, +which is usually the case after previousNode() has +been called, the nearest node after the iterator is chosen as the +new reference node. Suppose we remove "E", starting from the +following state:

+ +
+
+A B C D * [E] F G H I
+
+
+ +

The "F" node becomes the new reference node, since it is the +nearest node to the NodeIterator +that is after the iterator:

+ +
+
+A B C D * [F] G H I
+
+
+ +

As noted above, moving a node is equivalent to a removal +followed by an insertion. Suppose we wish to move the "D" node to +the end of the list, starting from the following state:

+ +
+
+A B C [D] * F G H I C
+
+
+ +

The resulting state is as follows:

+ +
+
+A B [C] * F G H I D
+
+
+ +

One special case arises when the reference node is the last node +in the list and the reference node is removed. Suppose we remove +node "C", starting from the following state:

+ +
+
+A B * [C]
+
+
+ +

According to the rules we have given, the new reference node +should be the nearest node after the NodeIterator, +but there are no further nodes after "C". The same situation can +arise when previousNode() has just returned the first +node in the list, which is then removed. Hence: If there is no node +in the original direction of the reference node, the nearest node +in the opposite direction is selected as the reference node:

+ +
+
+A [B] *
+
+
+ +

If the NodeIterator +is positioned within a block of nodes that is removed, the above +rules clearly indicate what is to be done. For instance, suppose +"C" is the parent +node of "D", "E", and "F", and we remove "C", starting with the +following state:

+ +
+
+A B C [D] * E F G H I D
+
+
+ +

The resulting state is as follows:

+ +
+
+A [B] * G H I D
+
+
+ +

Finally, note that removing a NodeIterator's +root node from its parent does not alter +the list being iterated over, and thus does not change the +iterator's state.

+
+ + +
+ +

1.1.1.3. Visibility of +Nodes

+ +

The underlying data structure that is being iterated may contain +nodes that are not part of the logical view, and therefore will not +be returned by the NodeIterator. +If nodes that are to be excluded because of the value of the +whatToShow flag, nextNode() returns the +next visible node, skipping over the excluded "invisible" nodes. If +a NodeFilter +is present, it is applied before returning a node; if the filter +does not accept the node, the process is repeated until a node is +accepted by the filter and is returned. If no visible nodes are +encountered, a null is returned and the iterator is +positioned at the end of the list. In this case, the reference node +is the last node in the list, whether or not it is visible. The +same approach is taken, in the opposite direction, for +previousNode().

+ +

In the following examples, we will use lowercase letters to +represent nodes that are in the data structure, but which are not +in the logical view. For instance, consider the following list:

+ +
+
+A [B] * c d E F G
+
+
+ +

A call to nextNode() returns E and advances to the +following position:

+ +
+
+A B c d [E] * F G
+
+
+ +

Nodes that are not visible may nevertheless be used as reference +nodes if a reference node is removed. Suppose node "E" is removed, +started from the state given above. The resulting state is:

+ +
+
+A B c [d] * F G
+
+
+ +

Suppose a new node "X", which is visible, is inserted before +"d". The resulting state is:

+ +
+
+A B c X [d] * F G
+
+
+ +

Note that a call to previousNode() now returns node +X. It is important not to skip over invisible nodes when the +reference node is removed, because there are cases, like the one +just given above, where the wrong results will be returned. When +"E" was removed, if the new reference node had been "B" rather than +"d", calling previousNode() would not return "X".

+
+ +
+ + +
+ +

1.1.2. NodeFilters

+ +

NodeFilters +allow the user to create objects that "filter out" nodes. Each +filter contains a user-written function that looks at a node and +determines whether or not it should be presented as part of the +traversal's logical view of the document. To use a NodeFilter, +you create a NodeIterator +or a TreeWalker +that uses the filter. The traversal engine applies the filter to +each node, and if the filter does not accept the node, traversal +skips over the node as though it were not present in the document. +NodeFilters +need not know how to navigate the structure that contains the nodes +on which they operate.

+ +

Filters will be consulted when a traversal operation is +performed, or when a NodeIterator's +reference node is removed from the subtree being iterated over and +it must select a new one. However, the exact timing of these filter +calls may vary from one DOM implementation to another. For that +reason, NodeFilters +should not attempt to maintain state based on the history of past +invocations; the resulting behavior may not be portable.

+ +

Similarly, TreeWalkers +and NodeIterators +should behave as if they have no memory of past filter results, and +no anticipation of future results. If the conditions a NodeFilter +is examining have changed (e.g., an attribute which it tests has +been added or removed) since the last time the traversal logic +examined this node, this change in visibility will be discovered +only when the next traversal operation is performed. For example: +if the filtering for the current node changes from +FILTER_SHOW to FILTER_SKIP, a TreeWalker +will be able to navigate off that node in any direction, but not +back to it unless the filtering conditions change again. NodeFilters +which change during a traversal can be written, but their behavior +may be confusing and they should be avoided when possible.

+ +
+ +

1.1.2.1. Using NodeFilters

+ +

A NodeFilter +contains one method named acceptNode(), which allows a +NodeIterator +or TreeWalker +to pass a Node to a filter and ask whether it should +be present in the logical view. The acceptNode() +function returns one of three values to state how the +Node should be treated. If acceptNode() +returns FILTER_ACCEPT, the Node will be +present in the logical view; if it returns +FILTER_SKIP, the Node will not be present +in the logical view, but the children of the Node may; +if it returns FILTER_REJECT, neither the +Node nor its descendants will be +present in the logical view. Since iterators present nodes as an +ordered list, without hierarchy, FILTER_REJECT and +FILTER_SKIP are synonyms for NodeIterators, +skipping only the single current node.

+ +

Consider a filter that accepts the named anchors in an HTML +document. In HTML, an HREF can refer to any A element that has a +NAME attribute. Here is a NodeFilter +in Java that looks at a node and determines whether it is a named +anchor:

+ +
+
+    class NamedAnchorFilter implements NodeFilter
+    {
+     short acceptNode(Node n) {
+      if (n.getNodeType()==Node.ELEMENT_NODE) {
+       Element e = (Element)n;
+       if (! e.getNodeName().equals("A"))
+        return FILTER_SKIP;
+      if (e.getAttributeNode("NAME") != null)
+        return FILTER_ACCEPT;
+       }
+        return FILTER_SKIP;
+      }
+    }
+
+
+ +

If the above NodeFilter +were to be used only with NodeIterators, +it could have used FILTER_REJECT wherever +FILTER_SKIP is used, and the behavior would not +change. For TreeWalker, +though, FILTER_REJECT would reject the children of any +element that is not a named anchor, and since named anchors are +always contained within other elements, this would have meant that +no named anchors would be found. FILTER_SKIP rejects +the given node, but continues to examine the children; therefore, +the above filter will work with either a NodeIterator +or a TreeWalker.

+ +

To use this filter, the user would create an instance of the NodeFilter +and create a NodeIterator +using it:

+ +
+
+NamedAnchorFilter myFilter = new NamedAnchorFilter(); 
+NodeIterator iter=
+     ((DocumentTraversal)document).createNodeIterator(
+          node, NodeFilter.SHOW_ELEMENT, myFilter);
+   
+
+
+ +

Note that the use of the SHOW_ELEMENT flag is not +strictly necessary in this example, since our sample NodeFilter +tests the nodeType. However, some implementations of +the Traversal interfaces may be able to improve +whatToShow performance by taking advantage of +knowledge of the document's structure, which makes the use of +SHOW_ELEMENT worthwhile. Conversely, while we could +remove the nodeType test from our filter, that would +make it dependent upon whatToShow to distinguish +between Elements, Attr's, and +ProcessingInstructions.

+
+ + +
+ +

1.1.2.2. NodeFilters +and Exceptions

+ +

When writing a NodeFilter, +users should avoid writing code that can throw an exception. +However, because a DOM implementation can not prevent exceptions +from being thrown, it is important that the behavior of filters +that throw an exception be well-defined. A TreeWalker +or NodeIterator +does not catch or alter an exception thrown by a filter, but lets +it propagate up to the user's code. The following functions may +invoke a NodeFilter, +and may therefore propagate an exception if one is thrown by a +filter:

+ +
    +
  1. NodeIterator +.nextNode()
  2. + +
  3. NodeIterator +.previousNode()
  4. + +
  5. TreeWalker +.firstChild()
  6. + +
  7. TreeWalker +.lastChild()
  8. + +
  9. TreeWalker +.nextSibling()
  10. + +
  11. TreeWalker +.previousSibling()
  12. + +
  13. TreeWalker +.nextNode()
  14. + +
  15. TreeWalker +.previousNode()
  16. + +
  17. TreeWalker +.parentNode()
  18. +
+
+ + +
+ +

1.1.2.3. NodeFilters +and Document Mutation

+ +

Well-designed NodeFilters +should not have to modify the underlying structure of the document. +But a DOM implementation can not prevent a user from writing filter +code that does alter the document structure. Traversal does not +provide any special processing to handle this case. For instance, +if a NodeFilter +removes a node from a document, it can still accept the node, which +means that the node may be returned by the NodeIterator +or TreeWalker +even though it is no longer in the subtree being traversed. In +general, this may lead to inconsistent, confusing results, so we +encourage users to write NodeFilters +that make no changes to document structures. Instead, do your +editing in the loop controlled by the traversal object.

+
+ + +
+ +

1.1.2.4. NodeFilters +and whatToShow flags

+ +

NodeIterator +and TreeWalker +apply their whatToShow flags before applying filters. +If a node is skipped by the active whatToShow flags, a +NodeFilter +will not be called to evaluate that node. Please note that this +behavior is similar to that of FILTER_SKIP; children +of that node will be considered, and filters may be called to +evaluate them. Also note that it will in fact be a "skip" even if +the NodeFilter +would have preferred to reject the entire subtree; if this would +cause a problem in your application, consider setting +whatToShow to SHOW_ALL and performing the +nodeType test inside your filter.

+
+ +
+ + +
+ +

1.1.3. TreeWalker

+ +

The TreeWalker +interface provides many of the same benefits as the NodeIterator +interface. The main difference between these two interfaces is that +the TreeWalker +presents a tree-oriented view of the nodes in a subtree, rather +than the iterator's list-oriented view. In other words, an iterator +allows you to move forward or back, but a TreeWalker +allows you to also move to the parent of a node, to +one of its children, or to a sibling.

+ +

Using a TreeWalker +is quite similar to navigation using the Node directly, and the +navigation methods for the two interfaces are analogous. For +instance, here is a function that recursively walks over a tree of +nodes in document order, taking separate actions when first +entering a node and after processing any children:

+ +
+
+processMe(Node n) {
+   nodeStartActions(n);
+   for (Node child=n.firstChild(); 
+        child != null;
+        child=child.nextSibling()) {
+      processMe(child);
+   }
+   nodeEndActions(n);
+}
+
+
+ +

Doing the same thing using a TreeWalker +is quite similar. There is one difference: since navigation on the +TreeWalker +changes the current position, the position at the end of the +function has changed. A read/write attribute named +currentNode allows the current node for a TreeWalker +to be both queried and set. We will use this to ensure that the +position of the TreeWalker +is restored when this function is completed:

+ +
+
+processMe(TreeWalker tw) {
+   Node n = tw.getCurrentNode();
+   nodeStartActions(tw);
+   for (Node child=tw.firstChild(); 
+        child!=null;
+        child=tw.nextSibling()) {
+      processMe(tw);
+   }
+
+   tw.setCurrentNode(n);
+   nodeEndActions(tw);
+}
+
+
+ +

The advantage of using a TreeWalker +instead of direct Node navigation is that the TreeWalker +allows the user to choose an appropriate view of the tree. Flags +may be used to show or hide Comments or +ProcessingInstructions; entities may be expanded or +shown as EntityReference nodes. In addition, NodeFilters +may be used to present a custom view of the tree. Suppose a program +needs a view of a document that shows which tables occur in each +chapter, listed by chapter. In this view, only the chapter elements +and the tables that they contain are seen. The first step is to +write an appropriate filter:

+ +
+
+class TablesInChapters implements NodeFilter {
+
+   short acceptNode(Node n) {
+      if (n.getNodeType()==Node.ELEMENT_NODE) {
+    
+          if (n.getNodeName().equals("CHAPTER"))
+             return FILTER_ACCEPT;
+
+          if (n.getNodeName().equals("TABLE"))
+             return FILTER_ACCEPT;
+
+          if (n.getNodeName().equals("SECT1")
+              || n.getNodeName().equals("SECT2")
+              || n.getNodeName().equals("SECT3")
+              || n.getNodeName().equals("SECT4")
+              || n.getNodeName().equals("SECT5")
+              || n.getNodeName().equals("SECT6")
+              || n.getNodeName().equals("SECT7"))
+             return FILTER_SKIP;
+
+      }
+
+      return FILTER_REJECT;
+    }
+}
+
+
+ +

This filter assumes that TABLE elements are contained directly +in CHAPTER or SECTn elements. If another kind of element is +encountered, it and its children are rejected. If a SECTn element +is encountered, it is skipped, but its children are explored to see +if they contain any TABLE elements.

+ +

Now the program can create an instance of this NodeFilter, +create a TreeWalker +that uses it, and pass this TreeWalker +to our ProcessMe() function:

+ +
+
+TablesInChapters tablesInChapters  = new TablesInChapters();
+TreeWalker tw  = 
+     ((DocumentTraversal)document).createTreeWalker(
+          root, NodeFilter.SHOW_ELEMENT, tablesInChapters);
+processMe(tw);
+
+
+ +

(Again, we've chosen to both test the nodeType in +the filter's logic and use SHOW_ELEMENT, for the +reasons discussed in the earlier NodeIterator +example.)

+ +

Without making any changes to the above ProcessMe() +function, it now processes only the CHAPTER and TABLE elements. The +programmer can write other filters or set other flags to choose +different sets of nodes; if functions use TreeWalker +to navigate, they will support any view of the document defined +with a TreeWalker.

+ +

Note that the structure of a TreeWalker's +filtered view of a document may differ significantly from that of +the document itself. For example, a TreeWalker +with only SHOW_TEXT specified in its +whatToShow parameter would present all the +Text nodes as if they were siblings of each other +yet had no parent.

+ +
+ +

1.1.3.1. +Robustness

+ +

As with NodeIterators, +a TreeWalker +may be active while the data structure it navigates is being +edited, and must behave gracefully in the face of change. Additions +and removals in the underlying data structure do not invalidate a +TreeWalker; +in fact, a TreeWalker +is never invalidated.

+ +

But a TreeWalker's +response to these changes is quite different from that of a NodeIterator. +While NodeIterators +respond to editing by maintaining their position within the list +that they are iterating over, TreeWalkers +will instead remain attached to their currentNode. All +the TreeWalker's +navigation methods operate in terms of the context of the +currentNode at the time they are invoked, no matter +what has happened to, or around, that node since the last time the +TreeWalker +was accessed. This remains true even if the +currentNode is moved out of its original subtree.

+ +

As an example, consider the following document fragment:

+ +
+
+    ...
+    <subtree>
+        <twRoot>
+            <currentNode/>
+            <anotherNode/>
+        </twRoot>
+    </subtree>
+    ...
+ 
+
+
+ +

Let's say we have created a TreeWalker +whose root node is the <twRoot/> element and +whose currentNode is the <currentNode/> element. +For this illustration, we will assume that all the nodes shown +above are accepted by the TreeWalker's +whatToShow and filter settings.

+ +

If we use removeChild() to remove the +<currentNode/> element from its parent, that element +remains the TreeWalker's +currentNode, even though it is no longer within the +root node's subtree. We can still use the TreeWalker +to navigate through any children that the orphaned +currentNode may have, but are no longer able to +navigate outward from the currentNode since there is +no parent +available.

+ +

If we use insertBefore() or +appendChild() to give the <currentNode/> a new +parent, then TreeWalker +navigation will operate from the currentNode's new +location. For example, if we inserted the <currentNode/> +immediately after the <anotherNode/> element, the TreeWalker's +previousSibling() operation would move it back to the +<anotherNode/>, and calling parentNode() would +move it up to the <twRoot/>.

+ +

If we instead insert the currentNode into the +<subtree/> element, like so:

+ +
+
+    ...
+    <subtree>
+        <currentNode/>
+        <twRoot>
+            <anotherNode/>
+        </twRoot>
+    </subtree>
+    ...
+
+
+ +

we have moved the currentNode out from under the TreeWalker's +root node. This does not invalidate the TreeWalker; +it may still be used to navigate relative to the +currentNode. Calling its parentNode() +operation, for example, would move it to the <subtree/> +element, even though that too is outside the original +root node. However, if the TreeWalker's +navigation should take it back into the original root +node's subtree -- for example, if rather than calling +parentNode() we called nextNode(), moving +the TreeWalker +to the <twRoot/> element -- the root node will +"recapture" the TreeWalker, +and prevent it from traversing back out.

+ +

This becomes a bit more complicated when filters are in use. +Relocation of the currentNode -- or explicit selection +of a new currentNode, or changes in the conditions +that the NodeFilter +is basing its decisions on -- can result in a TreeWalker +having a currentNode which would not otherwise be +visible in the filtered (logical) view of the document. This node +can be thought of as a "transient member" of that view. When you +ask the TreeWalker +to navigate off this node the result will be just as if it had been +visible, but you may be unable to navigate back to it unless +conditions change to make it visible again.

+ +

In particular: If the currentNode becomes part of a +subtree that would otherwise have been Rejected by the filter, that +entire subtree may be added as transient members of the logical +view. You will be able to navigate within that subtree (subject to +all the usual filtering) until you move upward past the Rejected ancestor. The +behavior is as if the Rejected node had only been Skipped (since we +somehow wound up inside its subtree) until we leave it; thereafter, +standard filtering applies.

+
+ +
+ +
+ + +
+ +

1.2. Formal +Interface Definition

+ +
+
Interface NodeIterator (introduced +in DOM Level 2)
+ +
+

Iterators are used to step through a set of nodes, +e.g. the set of nodes in a NodeList, the document +subtree governed by a particular Node, the results of +a query, or any other set of nodes. The set of nodes to be iterated +is determined by the implementation of the +NodeIterator. DOM Level 2 specifies a single +NodeIterator implementation for document-order +traversal of a document subtree. Instances of these iterators are +created by calling DocumentTraversal +.createNodeIterator().

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface NodeIterator {
+  readonly attribute Node             root;
+  readonly attribute unsigned long    whatToShow;
+  readonly attribute NodeFilter       filter;
+  readonly attribute boolean          expandEntityReferences;
+  Node               nextNode()
+                                        raises(DOMException);
+  Node               previousNode()
+                                        raises(DOMException);
+  void               detach();
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
expandEntityReferences +of type boolean, readonly
+ +
The value of this flag determines whether the children of +entity reference nodes are visible to the iterator. If false, they +and their descendants will be +rejected. Note that this rejection takes precedence over +whatToShow and the filter. Also note that this is +currently the only situation where NodeIterators may +reject a complete subtree rather than skipping individual +nodes.
+
+ To produce a view of the document that has entity references +expanded and does not expose the entity reference node itself, use +the whatToShow flags to hide the entity reference node +and set expandEntityReferences to true when creating +the iterator. To produce a view of the document that has entity +reference nodes but no entity expansion, use the +whatToShow flags to show the entity reference node and +set expandEntityReferences to false.
+
+ +
filter of type NodeFilter, +readonly
+ +
The NodeFilter +used to screen nodes.
+
+ +
root of type +Node, readonly
+ +
The root node of the NodeIterator, as specified +when it was created.
+
+ +
whatToShow of +type unsigned long, readonly
+ +
This attribute determines which node types are presented via +the iterator. The available set of constants is defined in the NodeFilter +interface. Nodes not accepted by whatToShow will be +skipped, but their children may still be considered. Note that this +skip takes precedence over the filter, if any.
+
+
+
+ +
Methods
+ +
+
+
detach
+ +
+
Detaches the NodeIterator from the +set which it iterated over, releasing any computational resources +and placing the iterator in the INVALID state. After +detach has been invoked, calls to +nextNode or previousNode will raise the +exception INVALID_STATE_ERR. + +
No Parameters
+ +
No Return Value
+ +
No Exceptions
+
+ + +
+ +
nextNode
+ +
+
Returns the next node in the set and advances +the position of the iterator in the set. After a +NodeIterator is created, the first call to +nextNode() returns the first node in the set. + +
Return Value + +
+ + + + + +
+

Node

+
+

The next Node in the set being iterated over, or +null if there are no more members in that set.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_STATE_ERR: Raised if this method is called after the +detach method was invoked.

+
+
+
+ + +
No Parameters
+
+ + +
+ +
previousNode
+ +
+
Returns the previous node in the set and moves +the position of the NodeIterator backwards in the set. + + +
Return Value + +
+ + + + + +
+

Node

+
+

The previous Node in the set being iterated over, +or null if there are no more members in that set.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

INVALID_STATE_ERR: Raised if this method is called after the +detach method was invoked.

+
+
+
+ + +
No Parameters
+
+ + +
+
+
+
+
+ +
Interface NodeFilter (introduced in +DOM Level 2)
+ +
+

Filters are objects that know how to "filter out" nodes. If a NodeIterator +or TreeWalker +is given a NodeFilter, it applies the filter before it +returns the next node. If the filter says to accept the node, the +traversal logic returns it; otherwise, traversal looks for the next +node and pretends that the node that was rejected was not +there.

+ +

The DOM does not provide any filters. NodeFilter is +just an interface that users can implement to provide their own +filters.

+ +

NodeFilters do not need to know how to traverse +from node to node, nor do they need to know anything about the data +structure that is being traversed. This makes it very easy to write +filters, since the only thing they have to know how to do is +evaluate a single node. One filter may be used with a number of +different kinds of traversals, encouraging code reuse.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface NodeFilter {
+
+  // Constants returned by acceptNode
+  const short               FILTER_ACCEPT                  = 1;
+  const short               FILTER_REJECT                  = 2;
+  const short               FILTER_SKIP                    = 3;
+
+
+  // Constants for whatToShow
+  const unsigned long       SHOW_ALL                       = 0xFFFFFFFF;
+  const unsigned long       SHOW_ELEMENT                   = 0x00000001;
+  const unsigned long       SHOW_ATTRIBUTE                 = 0x00000002;
+  const unsigned long       SHOW_TEXT                      = 0x00000004;
+  const unsigned long       SHOW_CDATA_SECTION             = 0x00000008;
+  const unsigned long       SHOW_ENTITY_REFERENCE          = 0x00000010;
+  const unsigned long       SHOW_ENTITY                    = 0x00000020;
+  const unsigned long       SHOW_PROCESSING_INSTRUCTION    = 0x00000040;
+  const unsigned long       SHOW_COMMENT                   = 0x00000080;
+  const unsigned long       SHOW_DOCUMENT                  = 0x00000100;
+  const unsigned long       SHOW_DOCUMENT_TYPE             = 0x00000200;
+  const unsigned long       SHOW_DOCUMENT_FRAGMENT         = 0x00000400;
+  const unsigned long       SHOW_NOTATION                  = 0x00000800;
+
+  short              acceptNode(in Node n);
+};
+
+
+ +
+
+ +
Definition group Constants returned +by acceptNode
+ +
+

The following constants are returned by the acceptNode() +method:

+ +
+
Defined Constants
+ +
+
+
FILTER_ACCEPT
+ +
Accept the node. Navigation methods defined for NodeIterator +or TreeWalker +will return this node.
+ +
FILTER_REJECT
+ +
Reject the node. Navigation methods defined for NodeIterator +or TreeWalker +will not return this node. For TreeWalker, +the children of this node will also be rejected. NodeIterators +treat this as a synonym for FILTER_SKIP.
+ +
FILTER_SKIP
+ +
Skip this single node. Navigation methods defined for NodeIterator +or TreeWalker +will not return this node. For both NodeIterator +and TreeWalker, +the children of this node will still be considered.
+
+
+
+
+ +
Definition group Constants for +whatToShow
+ +
+

These are the available values for the whatToShow +parameter used in TreeWalkers +and NodeIterators. +They are the same as the set of possible types for +Node, and their values are derived by using a bit +position corresponding to the value of nodeType for +the equivalent node type. If a bit in whatToShow is +set false, that will be taken as a request to skip over this type +of node; the behavior in that case is similar to that of +FILTER_SKIP.

+ +

Note that if node types greater than 32 are ever introduced, +they may not be individually testable via whatToShow. +If that need should arise, it can be handled by selecting +SHOW_ALL together with an appropriate +NodeFilter.

+ +
+
Defined Constants
+ +
+
+
SHOW_ALL
+ +
Show all Nodes.
+ +
SHOW_ATTRIBUTE
+ +
Show Attr nodes. This is meaningful only when +creating an iterator or tree-walker with an attribute node as its +root; in this case, it means that the attribute node +will appear in the first position of the iteration or traversal. +Since attributes are never children of other nodes, they do not +appear when traversing over the document tree.
+ +
SHOW_CDATA_SECTION
+ +
Show CDATASection nodes.
+ +
SHOW_COMMENT
+ +
Show Comment nodes.
+ +
SHOW_DOCUMENT
+ +
Show Document nodes.
+ +
SHOW_DOCUMENT_FRAGMENT
+ +
Show DocumentFragment nodes.
+ +
SHOW_DOCUMENT_TYPE
+ +
Show DocumentType nodes.
+ +
SHOW_ELEMENT
+ +
Show Element nodes.
+ +
SHOW_ENTITY
+ +
Show Entity nodes. This is meaningful only when +creating an iterator or tree-walker with an Entity +node as its root; in this case, it means that the +Entity node will appear in the first position of the +traversal. Since entities are not part of the document tree, they +do not appear when traversing over the document tree.
+ +
SHOW_ENTITY_REFERENCE
+ +
Show EntityReference nodes.
+ +
SHOW_NOTATION
+ +
Show Notation nodes. This is meaningful only when +creating an iterator or tree-walker with a Notation +node as its root; in this case, it means that the +Notation node will appear in the first position of the +traversal. Since notations are not part of the document tree, they +do not appear when traversing over the document tree.
+ +
SHOW_PROCESSING_INSTRUCTION
+ +
Show ProcessingInstruction nodes.
+ +
SHOW_TEXT
+ +
Show Text nodes.
+
+
+
+
+ +
Methods
+ +
+
+
acceptNode
+ +
+
Test whether a specified node is visible in the +logical view of a TreeWalker +or NodeIterator. +This function will be called by the implementation of TreeWalker +and NodeIterator; +it is not normally called directly from user code. (Though you +could do so if you wanted to use the same filter to guide your own +application logic.) + +
Parameters + +
+
+
n of type +Node
+ +
The node to check to see if it passes the filter or not.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

short

+
+

a constant to determine whether the node is accepted, rejected, +or skipped, as defined above.

+
+
+
+ + +
No Exceptions
+
+ + +
+
+
+
+
+ +
Interface TreeWalker (introduced in +DOM Level 2)
+ +
+

TreeWalker objects are used to navigate a document +tree or subtree using the view of the document defined by their +whatToShow flags and filter (if any). Any function +which performs navigation using a TreeWalker will +automatically support any view defined by a +TreeWalker.

+ +

Omitting nodes from the logical view of a subtree can result in +a structure that is substantially different from the same subtree +in the complete, unfiltered document. Nodes that are siblings in the +TreeWalker view may be children of different, widely +separated nodes in the original view. For instance, consider a NodeFilter +that skips all nodes except for Text nodes and the root node of a +document. In the logical view that results, all text nodes will be +siblings and appear +as direct children of the root node, no matter how deeply nested +the structure of the original document.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface TreeWalker {
+  readonly attribute Node             root;
+  readonly attribute unsigned long    whatToShow;
+  readonly attribute NodeFilter       filter;
+  readonly attribute boolean          expandEntityReferences;
+           attribute Node             currentNode;
+                                        // raises(DOMException) on setting
+
+  Node               parentNode();
+  Node               firstChild();
+  Node               lastChild();
+  Node               previousSibling();
+  Node               nextSibling();
+  Node               previousNode();
+  Node               nextNode();
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
currentNode of +type Node
+ +
The node at which the TreeWalker is currently +positioned.
+Alterations to the DOM tree may cause the current node to no longer +be accepted by the TreeWalker's associated filter. +currentNode may also be explicitly set to any node, +whether or not it is within the subtree specified by the +root node or would be accepted by the filter and +whatToShow flags. Further traversal occurs relative to +currentNode even if it is not part of the current +view, by applying the filters in the requested direction; if no +traversal is possible, currentNode is not +changed.
+ + +
Exceptions on setting + +
+ + + + + +
+

DOMException

+
+

NOT_SUPPORTED_ERR: Raised if an attempt is made to set +currentNode to null.

+
+
+
+ + +
+ +
expandEntityReferences +of type boolean, readonly
+ +
The value of this flag determines whether the children of +entity reference nodes are visible to the TreeWalker. +If false, they and their descendants will be +rejected. Note that this rejection takes precedence over +whatToShow and the filter, if any.
+ To produce a view of the document that has entity references +expanded and does not expose the entity reference node itself, use +the whatToShow flags to hide the entity reference node +and set expandEntityReferences to true when creating +the TreeWalker. To produce a view of the document that +has entity reference nodes but no entity expansion, use the +whatToShow flags to show the entity reference node and +set expandEntityReferences to false.
+
+ +
filter of type NodeFilter, +readonly
+ +
The filter used to screen nodes.
+
+ +
root of type +Node, readonly
+ +
The root node of the TreeWalker, as +specified when it was created.
+
+ +
whatToShow of +type unsigned long, readonly
+ +
This attribute determines which node types are presented via +the TreeWalker. The available set of constants is +defined in the NodeFilter +interface. Nodes not accepted by whatToShow will be +skipped, but their children may still be considered. Note that this +skip takes precedence over the filter, if any.
+
+
+
+ +
Methods
+ +
+
+
firstChild
+ +
+
Moves the TreeWalker to the first +visible child of the +current node, and returns the new node. If the current node has no +visible children, returns null, and retains the +current node. + +
Return Value + +
+ + + + + +
+

Node

+
+

The new node, or null if the current node has no +visible children in the TreeWalker's logical view.

+
+
+
+ + +
No Parameters
+ +
No Exceptions
+
+ + +
+ +
lastChild
+ +
+
Moves the TreeWalker to the last +visible child of the +current node, and returns the new node. If the current node has no +visible children, returns null, and retains the +current node. + +
Return Value + +
+ + + + + +
+

Node

+
+

The new node, or null if the current node has no +children in the TreeWalker's logical view.

+
+
+
+ + +
No Parameters
+ +
No Exceptions
+
+ + +
+ +
nextNode
+ +
+
Moves the TreeWalker to the next +visible node in document order relative to the current node, and +returns the new node. If the current node has no next node, or if +the search for nextNode attempts to step upward from the +TreeWalker's root node, returns +null, and retains the current node. + +
Return Value + +
+ + + + + +
+

Node

+
+

The new node, or null if the current node has no +next node in the TreeWalker's logical view.

+
+
+
+ + +
No Parameters
+ +
No Exceptions
+
+ + +
+ +
nextSibling
+ +
+
Moves the TreeWalker to the next +sibling of the +current node, and returns the new node. If the current node has no +visible next sibling, returns +null, and retains the current node. + +
Return Value + +
+ + + + + +
+

Node

+
+

The new node, or null if the current node has no +next sibling. in +the TreeWalker's logical view.

+
+
+
+ + +
No Parameters
+ +
No Exceptions
+
+ + +
+ +
parentNode
+ +
+
Moves to and returns the closest visible ancestor node of the +current node. If the search for parentNode attempts to +step upward from the TreeWalker's root +node, or if it fails to find a visible ancestor node, this +method retains the current position and returns null. + +
Return Value + +
+ + + + + +
+

Node

+
+

The new parent +node, or null if the current node has no parent in the +TreeWalker's logical view.

+
+
+
+ + +
No Parameters
+ +
No Exceptions
+
+ + +
+ +
previousNode
+ +
+
Moves the TreeWalker to the +previous visible node in document order relative to the current +node, and returns the new node. If the current node has no previous +node, or if the search for previousNode attempts to +step upward from the TreeWalker's root +node, returns null, and retains the current node. + +
Return Value + +
+ + + + + +
+

Node

+
+

The new node, or null if the current node has no +previous node in the TreeWalker's logical view.

+
+
+
+ + +
No Parameters
+ +
No Exceptions
+
+ + +
+ +
previousSibling
+ +
+
Moves the TreeWalker to the +previous sibling of +the current node, and returns the new node. If the current node has +no visible previous sibling, returns +null, and retains the current node. + +
Return Value + +
+ + + + + +
+

Node

+
+

The new node, or null if the current node has no +previous sibling. +in the TreeWalker's logical view.

+
+
+
+ + +
No Parameters
+ +
No Exceptions
+
+ + +
+
+
+
+
+ +
Interface DocumentTraversal (introduced +in DOM Level 2)
+ +
+

DocumentTraversal contains methods that create +iterators and tree-walkers to traverse a node and its children in +document order (depth first, pre-order traversal, which is +equivalent to the order in which the start tags occur in the text +representation of the document). In DOMs which support the +Traversal feature, DocumentTraversal will be +implemented by the same objects that implement the Document +interface.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface DocumentTraversal {
+  NodeIterator       createNodeIterator(in Node root, 
+                                        in unsigned long whatToShow, 
+                                        in NodeFilter filter, 
+                                        in boolean entityReferenceExpansion)
+                                        raises(DOMException);
+  TreeWalker         createTreeWalker(in Node root, 
+                                      in unsigned long whatToShow, 
+                                      in NodeFilter filter, 
+                                      in boolean entityReferenceExpansion)
+                                        raises(DOMException);
+};
+
+
+ +
+
+ +
Methods
+ +
+
+
createNodeIterator
+ +
+
Create a new NodeIterator +over the subtree rooted at the specified node. + +
Parameters + +
+
+
root of type +Node
+ +
The node which will be iterated together with its children. The +iterator is initially positioned just before this node. The +whatToShow flags and the filter, if any, are not +considered when setting this position. The root must not be +null.
+
+ +
whatToShow of type +unsigned long
+ +
This flag specifies which node types may appear in the logical +view of the tree presented by the iterator. See the description of +NodeFilter +for the set of possible SHOW_ values.
+These flags can be combined using OR.
+
+ +
filter of type NodeFilter
+ +
The NodeFilter +to be used with this TreeWalker, +or null to indicate no filter.
+
+ +
entityReferenceExpansion of +type boolean
+ +
The value of this flag determines whether entity reference +nodes are expanded.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

NodeIterator

+
+

The newly created NodeIterator.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NOT_SUPPORTED_ERR: Raised if the specified root is +null.

+
+
+
+ + +
+ + +
+ +
createTreeWalker
+ +
+
Create a new TreeWalker +over the subtree rooted at the specified node. + +
Parameters + +
+
+
root of type +Node
+ +
The node which will serve as the root for the TreeWalker. +The whatToShow flags and the NodeFilter +are not considered when setting this value; any node type will be +accepted as the root. The currentNode of +the TreeWalker +is initialized to this node, whether or not it is visible. The +root functions as a stopping point for traversal +methods that look upward in the document structure, such as +parentNode and nextNode. The root must +not be null.
+
+ +
whatToShow of type +unsigned long
+ +
This flag specifies which node types may appear in the logical +view of the tree presented by the tree-walker. See the description +of NodeFilter +for the set of possible SHOW_ values.
+These flags can be combined using OR.
+
+ +
filter of type NodeFilter
+ +
The NodeFilter +to be used with this TreeWalker, +or null to indicate no filter.
+
+ +
entityReferenceExpansion of +type boolean
+ +
If this flag is false, the contents of +EntityReference nodes are not presented in the logical +view.
+
+
+
+
+ + +
Return Value + +
+ + + + + +
+

TreeWalker

+
+

The newly created TreeWalker.

+
+
+
+ + +
Exceptions + +
+ + + + + +
+

DOMException

+
+

NOT_SUPPORTED_ERR: Raised if the specified root is +null.

+
+
+
+ + +
+ + +
+
+
+
+
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/views/COPYRIGHT.html b/java/external/xdocs/dom/views/COPYRIGHT.html new file mode 100644 index 0000000..26049b7 --- /dev/null +++ b/java/external/xdocs/dom/views/COPYRIGHT.html @@ -0,0 +1,100 @@ + + + + + W3C IPR SOFTWARE NOTICE + + +

+ W3C IPR SOFTWARE NOTICE +

+

+ Copyright © 2000 World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. +

+

+ The DOM bindings are published under the W3C Software Copyright Notice + and License. The software license requires "Notice of any changes or + modifications to the W3C files, including the date changes were made." + Consequently, modified versions of the DOM bindings must document that + they do not conform to the W3C standard; in the case of the IDL binding, + the pragma prefix can no longer be 'w3c.org'; in the case of the Java + binding, the package names can no longer be in the 'org.w3c' package. +

+

+ Note: The original version of the W3C Software Copyright Notice + and License could be found at http://www.w3.org/Consortium/Legal/copyright-software-19980720 +

+

+ Copyright © 1994-2000 World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. http://www.w3.org/Consortium/Legal/ +

+

+ This W3C work (including software, documents, or other related items) is + being provided by the copyright holders under the following license. By + obtaining, using and/or copying this work, you (the licensee) agree that + you have read, understood, and will comply with the following terms and + conditions: +

+

+ Permission to use, copy, and modify this software and its documentation, + with or without modification,  for any purpose and without fee or + royalty is hereby granted, provided that you include the following on ALL + copies of the software and documentation or portions thereof, including + modifications, that you make: +

+
    +
  1. + The full text of this NOTICE in a location viewable to users of the + redistributed or derivative work. +
  2. +
  3. + Any pre-existing intellectual property disclaimers, notices, or terms + and conditions. If none exist, a short notice of the following form + (hypertext is preferred, text is permitted) should be used within the + body of any redistributed or derivative code: "Copyright © + [$date-of-software] World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. http://www.w3.org/Consortium/Legal/" +
  4. +
  5. + Notice of any changes or modifications to the W3C files, including the + date changes were made. (We recommend you provide URIs to the location + from which the code is derived.) +
  6. +
+

+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT + HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR + DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, + TRADEMARKS OR OTHER RIGHTS. +

+

+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR + CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR + DOCUMENTATION. +

+

+ The name and trademarks of copyright holders may NOT be used in + advertising or publicity pertaining to the software without specific, + written prior permission. Title to copyright in this software and any + associated documentation will at all times remain with copyright + holders. +

+ + diff --git a/java/external/xdocs/dom/views/Overview.html b/java/external/xdocs/dom/views/Overview.html new file mode 100644 index 0000000..848ec84 --- /dev/null +++ b/java/external/xdocs/dom/views/Overview.html @@ -0,0 +1,194 @@ + + + + +Document Object Model (DOM) Level 2 Views +Specification + + + + + + + + + +
+

+ +

Document Object Model (DOM) Level 2 Views +Specification

+ +

Version 1.0

+ + +

W3C Recommendation 13 November, +2000

+ +
+
This version:
+ +
http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113
+ ( +PostScript file , +PDF file , +plain text , +ZIP file)
+ +
Latest version:
+ +
http://www.w3.org/TR/DOM-Level-2-Views
+ +
Previous version:
+ +
http://www.w3.org/TR/2000/PR-DOM-Level-2-Views-20000927
+
+ +
+
Editors:
+ +
Arnaud Le Hors, W3C team contact until October 1999, then +IBM
+ +
Laurence Cable, Sun Microsystems
+
+ + +
+ +
+

Abstract

+ +
+

This specification defines the Document Object Model Level 2 +Views, a platform- and language-neutral interface that allows +programs and scripts to dynamically access and update the content +of a representation of a document. The Document Object Model Level +2 Views builds on the Document Object Model Level 2 Core [DOM Level 2 +Core].

+
+ +

Status of this document

+ +
+

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 W3C.

+ +

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.

+ +

This document has been produced as part of the W3C DOM Activity. +The authors of this document are the DOM Working Group members. +Different modules of the Document Object Model have different +editors.

+ +

Please send general comments about this document to the public +mailing list www-dom@w3.org. An +archive +is available at http://lists.w3.org/Archives/Public/www-dom/.

+ +

The English version of this specification is the only normative +version. Information about translations +of this document is available at +http://www.w3.org/2000/11/DOM-Level-2-translations.

+ +

The list +of known errors in this document is available at +http://www.w3.org/2000/11/DOM-Level-2-errata

+ +

A list of current W3C +Recommendations and other technical documents can be found at +http://www.w3.org/TR.

+
+ +

Table +of contents

+ + + + + + + + + + + diff --git a/java/external/xdocs/dom/views/W3C-REC.css b/java/external/xdocs/dom/views/W3C-REC.css new file mode 100644 index 0000000..43eea27 --- /dev/null +++ b/java/external/xdocs/dom/views/W3C-REC.css @@ -0,0 +1,94 @@ +/* This is an SSI script. Policy: + (1) Use CVS + (2) send e-mail to w3t-comm@w3.org if you edit this +*/ +/* Style for a "Recommendation" */ + +/* + This is an SSI script. Policy: + (1) Use CVS + (2) send e-mail to w3t-comm@w3.org if you edit this + + Acknowledgments: + + - 'background-color' doesn't work on Mac IE 3, but 'background' + does (Susan Lesch ) + + - 'smaller' leads to illegible text in both Mac IE and Mac NS, + 'small' is better: works in Mac NS, but is always 12pt in Mac IE + 3 (Susan Lesch ) + + $Id$ +*/ + +body { + margin: 2em 1em 2em 70px; + font-family: sans-serif; + color: black; + background: white; + background-position: top left; + background-attachment: fixed; + background-repeat: no-repeat; +} + +th, td { /* ns 4 */ + font-family: sans-serif; +} + +h1, h2, h3, h4, h5, h6 { text-align: left } +h1, h2, h3 { color: #005A9C } +h1 { font: 170% sans-serif } +h2 { font: 140% sans-serif } +h3 { font: 120% sans-serif } +h4 { font: bold 100% sans-serif } +h5 { font: italic 100% sans-serif } +h6 { font: small-caps 100% sans-serif } + +.hide { display: none } + +div.head { margin-bottom: 1em } +div.head h1 { margin-top: 2em; clear: both } +div.head table { margin-left: 2em; margin-top: 2em } +div.head img { color: white; border: none } /* remove border from top image */ + +p.copyright { font-size: small } +p.copyright small { font-size: small } + +@media screen { /* hide from IE3 */ +a:hover { background: #ffa } +} + +pre { margin-left: 2em } +/* +p { + margin-top: 0.6em; + margin-bottom: 0.6em; +} +*/ +dt, dd { margin-top: 0; margin-bottom: 0 } /* opera 3.50 */ +dt { font-weight: bold } + +pre, code { font-family: monospace } /* navigator 4 requires this */ + +ul.toc { + list-style: disc; /* Mac NS has problem with 'none' */ + list-style: none; +} + +@media aural { + h1, h2, h3 { stress: 20; richness: 90 } + .hide { speak: none } + p.copyright { volume: x-soft; speech-rate: x-fast } + dt { pause-before: 20% } + pre { speak-punctuation: code } +} + +/* Things (icons) that should only show up in projection mode */ +.projection { display: none } +@media projection { .projection { display: inline } } + + +body { + background-image: url(http://www.w3.org/StyleSheets/TR/logo-REC); +} + diff --git a/java/external/xdocs/dom/views/acknowledgements.html b/java/external/xdocs/dom/views/acknowledgements.html new file mode 100644 index 0000000..6bd0223 --- /dev/null +++ b/java/external/xdocs/dom/views/acknowledgements.html @@ -0,0 +1,101 @@ + + + + +Acknowledgements + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix D: +Acknowledgements

+ +

Many people contributed to this specification, including members +of the DOM Working Group and the DOM Interest Group. We especially +thank the following:

+ +

Lauren Wood (SoftQuad Software Inc., chair), Andrew +Watson (Object Management Group), Andy Heninger (IBM), Arnaud Le +Hors (W3C and IBM), Ben Chang (Oracle), Bill Smith (Sun), Bill Shea +(Merrill Lynch), Bob Sutor (IBM), Chris Lovett (Microsoft), Chris +Wilson (Microsoft), David Brownell (Sun), David Singer (IBM), Don +Park (invited), Eric Vasilik (Microsoft), Gavin Nicol (INSO), Ian +Jacobs (W3C), James Clark (invited), James Davidson (Sun), Jared +Sorensen (Novell), Joe Kesselman (IBM), Joe Lapp (webMethods), Joe +Marini (Macromedia), Johnny Stenback (Netscape), Jonathan Marsh +(Microsoft), Jonathan Robie (Texcel Research and Software AG), Kim +Adamson-Sharpe (SoftQuad Software Inc.), Laurence Cable (Sun), Mark +Davis (IBM), Mark Scardina (Oracle), Martin Dürst (W3C), Mick +Goulish (Software AG), Mike Champion (Arbortext and Software AG), +Miles Sabin (Cromwell Media), Patti Lutsky (Arbortext), Paul Grosso +(Arbortext), Peter Sharpe (SoftQuad Software Inc.), Phil Karlton +(Netscape), Philippe Le Hégaret (W3C, W3C team +contact), Ramesh Lekshmynarayanan (Merrill Lynch), Ray Whitmer +(iMall, Excite@Home and Netscape), Rich Rollman (Microsoft), Rick +Gessner (Netscape), Scott Isaacs (Microsoft), Sharon Adler (INSO), +Steve Byrne (JavaSoft), Tim Bray (invited), Tom Pixley (Netscape), +Vidur Apparao (Netscape), Vinod Anupam (Lucent).

+ +

Thanks to all those who have helped to improve this +specification by sending suggestions and corrections.

+ +
+ +

D.1: Production Systems

+ +

This specification was written in XML. The HTML, OMG IDL, Java +and ECMA Script bindings were all produced automatically.

+ +

Thanks to Joe English, author of cost, which was used as +the basis for producing DOM Level 1. Thanks also to Gavin Nicol, +who wrote the scripts which run on top of cost. Arnaud Le Hors and +Philippe Le Hégaret maintained the scripts.

+ +

For DOM Level 2, we used Xerces as the basis DOM +implementation and wish to thank the authors. Philippe Le +Hégaret and Arnaud Le Hors wrote the +Java programs which are the DOM application.

+ +

Thanks also to Jan Kärrman, author of html2ps, which we +use in creating the PostScript version of the specification.

+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/views/copyright-notice.html b/java/external/xdocs/dom/views/copyright-notice.html new file mode 100644 index 0000000..9b45503 --- /dev/null +++ b/java/external/xdocs/dom/views/copyright-notice.html @@ -0,0 +1,229 @@ + + + + +Copyright Notice + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Copyright Notice

+ +

Copyright © 2000 World Wide +Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

This document is published under the W3C Document +Copyright Notice and License. The bindings within this document +are published under the W3C Software +Copyright Notice and License. The software license requires +"Notice of any changes or modifications to the W3C files, including +the date changes were made." Consequently, modified versions of the +DOM bindings must document that they do not conform to the W3C +standard; in the case of the IDL definitions, the pragma prefix can +no longer be 'w3c.org'; in the case of the Java Language binding, +the package names can no longer be in the 'org.w3c' package.

+ +
+ +
+ + +

Note: This section is a copy of the W3C Document Notice +and License and could be found at +http://www.w3.org/Consortium/Legal/copyright-documents-19990405.

+ +

Copyright © 1994-2000 World +Wide Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

http://www.w3.org/Consortium/Legal/

+ +

Public documents on the W3C site are provided by the copyright +holders under the following license. The software or Document Type +Definitions (DTDs) associated with W3C specifications are governed +by the Software +Notice. By using and/or copying this document, or the W3C +document from which this statement is linked, you (the licensee) +agree that you have read, understood, and will comply with the +following terms and conditions:

+ +

Permission to use, copy, and distribute the contents of this +document, or the W3C document from which this statement is linked, +in any medium for any purpose and without fee or royalty is hereby +granted, provided that you include the following on ALL +copies of the document, or portions thereof, that you use:

+ +
    +
  1. A link or URL to the original W3C document.
  2. + +
  3. The pre-existing copyright notice of the original author, or if +it doesn't exist, a notice of the form: "Copyright © +[$date-of-document] World Wide Web +Consortium, (Massachusetts +Institute of Technology, Institut National de Recherche en +Informatique et en Automatique, Keio University). All Rights +Reserved. http://www.w3.org/Consortium/Legal/" (Hypertext is +preferred, but a textual representation is permitted.)
  4. + +
  5. If it exists, the STATUS of the W3C document.
  6. +
+ +

When space permits, inclusion of the full text of this +NOTICE should be provided. We request that authorship +attribution be provided in any software, documents, or other items +or products that you create pursuant to the implementation of the +contents of this document, or any portion thereof.

+ +

No right to create modifications or derivatives of W3C documents +is granted pursuant to this license. However, if additional +requirements (documented in the Copyright +FAQ) are satisfied, the right to create modifications or +derivatives is sometimes granted by the W3C to individuals +complying with those requirements.

+ +

THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO +REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT +NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A +PARTICULAR PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS +OF THE DOCUMENT ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE +IMPLEMENTATION OF SUCH CONTENTS WILL NOT INFRINGE ANY THIRD PARTY +PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

+ +

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, +SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE +DOCUMENT OR THE PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS +THEREOF.

+ +

The name and trademarks of copyright holders may NOT be used in +advertising or publicity pertaining to this document or its +contents without specific, written prior permission. Title to +copyright in this document will at all times remain with copyright +holders.

+
+ + +
+ +
+ + +

Note: This section is a copy of the W3C Software +Copyright Notice and License and could be found at +http://www.w3.org/Consortium/Legal/copyright-software-19980720

+ +

Copyright © 1994-2000 World +Wide Web Consortium, (Massachusetts Institute of +Technology, Institut National de +Recherche en Informatique et en Automatique, Keio University). All Rights +Reserved.

+ +

http://www.w3.org/Consortium/Legal/

+ +

This W3C work (including software, documents, or other related +items) is being provided by the copyright holders under the +following license. By obtaining, using and/or copying this work, +you (the licensee) agree that you have read, understood, and will +comply with the following terms and conditions:

+ +

Permission to use, copy, and modify this software and its +documentation, with or without modification, for any purpose and +without fee or royalty is hereby granted, provided that you include +the following on ALL copies of the software and documentation or +portions thereof, including modifications, that you make:

+ +
    +
  1. The full text of this NOTICE in a location viewable to users of +the redistributed or derivative work.
  2. + +
  3. Any pre-existing intellectual property disclaimers. If none +exist, then a notice of the following form: "Copyright © +[$date-of-software] World Wide Web +Consortium, (Massachusetts +Institute of Technology, Institut National de Recherche en +Informatique et en Automatique, Keio University). All Rights +Reserved. http://www.w3.org/Consortium/Legal/."
  4. + +
  5. Notice of any changes or modifications to the W3C files, +including the date changes were made. (We recommend you provide +URIs to the location from which the code is derived.)
  6. +
+ +

THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND +COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF +MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE +USE OF THE SOFTWARE OR DOCUMENTATION WILL NOT INFRINGE ANY THIRD +PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS.

+ +

COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, +SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE +SOFTWARE OR DOCUMENTATION.

+ +

The name and trademarks of copyright holders may NOT be used in +advertising or publicity pertaining to the software without +specific, written prior permission. Title to copyright in this +software and any associated documentation will at all times remain +with copyright holders.

+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/views/def-index.html b/java/external/xdocs/dom/views/def-index.html new file mode 100644 index 0000000..aee5972 --- /dev/null +++ b/java/external/xdocs/dom/views/def-index.html @@ -0,0 +1,94 @@ + + + + +Index + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Index

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
AbstractView
 
defaultViewdocumentDocumentView
DOM +Level 2 Core 1, 2
 
ECMAScript
 
Java
 
OMGIDL
+
+ + + + + + diff --git a/java/external/xdocs/dom/views/ecma-script-binding.html b/java/external/xdocs/dom/views/ecma-script-binding.html new file mode 100644 index 0000000..3cf6ee0 --- /dev/null +++ b/java/external/xdocs/dom/views/ecma-script-binding.html @@ -0,0 +1,96 @@ + + + + +ECMAScript Language Binding + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix C: ECMAScript +Language Binding

+ +

This appendix contains the complete ECMAScript [ECMAScript] +binding for the Level 2 Document Object Model Views +definitions.

+ +

Note: Exceptions handling is only supported by ECMAScript +implementation conformant with the Standard ECMA-262 3rd. Edition +([ECMAScript]).

+ +
+
+
Object AbstractView
+ +
+
+
The AbstractView object has the following +properties:
+ +
+
+
document
+ +
This read-only property is a DocumentView object.
+
+
+
+
+ +
Object DocumentView
+ +
+
+
The DocumentView object has the following +properties:
+ +
+
+
defaultView
+ +
This read-only property is a AbstractView object.
+
+
+
+
+
+
+ + +
+ + + + + + diff --git a/java/external/xdocs/dom/views/expanded-toc.html b/java/external/xdocs/dom/views/expanded-toc.html new file mode 100644 index 0000000..4956fe7 --- /dev/null +++ b/java/external/xdocs/dom/views/expanded-toc.html @@ -0,0 +1,113 @@ + + + + +Expanded Table of Contents + + + + + + + + + + +
+

13 November, +2000

+
+ + + + + + + + diff --git a/java/external/xdocs/dom/views/idl-definitions.html b/java/external/xdocs/dom/views/idl-definitions.html new file mode 100644 index 0000000..ebee447 --- /dev/null +++ b/java/external/xdocs/dom/views/idl-definitions.html @@ -0,0 +1,85 @@ + + + + +IDL Definitions + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix A: IDL Definitions

+ +

This appendix contains the complete OMG IDL [OMGIDL] for the Level 2 Document +Object Model Views definitions.

+ +

The IDL files are also available as: http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113/idl.zip

+ +

views.idl:

+ +
+
+// File: views.idl
+
+#ifndef _VIEWS_IDL_
+#define _VIEWS_IDL_
+
+#include "dom.idl"
+
+#pragma prefix "dom.w3c.org"
+module views
+{
+
+  interface DocumentView;
+
+  // Introduced in DOM Level 2:
+  interface AbstractView {
+    readonly attribute DocumentView     document;
+  };
+
+  // Introduced in DOM Level 2:
+  interface DocumentView {
+    readonly attribute AbstractView     defaultView;
+  };
+};
+
+#endif // _VIEWS_IDL_
+
+
+
+
+ + + + + + diff --git a/java/external/xdocs/dom/views/idl/views.idl b/java/external/xdocs/dom/views/idl/views.idl new file mode 100644 index 0000000..7ae0c50 --- /dev/null +++ b/java/external/xdocs/dom/views/idl/views.idl @@ -0,0 +1,38 @@ +/* + * Copyright (c) 2000 World Wide Web Consortium, + * (Massachusetts Institute of Technology, Institut National de + * Recherche en Informatique et en Automatique, Keio University). All + * Rights Reserved. This program is distributed under the W3C's Software + * Intellectual Property License. This program is distributed in the + * hope that it will be useful, but WITHOUT ANY WARRANTY; without even + * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. + * See W3C License http://www.w3.org/Consortium/Legal/ for more details. + */ + +// File: http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113/views.idl + +#ifndef _VIEWS_IDL_ +#define _VIEWS_IDL_ + +#include "dom.idl" + +#pragma prefix "dom.w3c.org" +module views +{ + + interface DocumentView; + + // Introduced in DOM Level 2: + interface AbstractView { + readonly attribute DocumentView document; + }; + + // Introduced in DOM Level 2: + interface DocumentView { + readonly attribute AbstractView defaultView; + }; +}; + +#endif // _VIEWS_IDL_ + diff --git a/java/external/xdocs/dom/views/images/REC.gif b/java/external/xdocs/dom/views/images/REC.gif new file mode 100644 index 0000000000000000000000000000000000000000..c0007d058a9843a4bfa3492b01d4d2c021d3101e GIT binary patch literal 903 zcmV;219<#LNk%w1VHp7I0JHx909u?7WTG&6uT_z~Wt+pQ$lkirhkXN`2YX^EC2ui02u)6000F45XecZy*TU5yZ>M)j$~<`XsWJk>%MR- z&vXqFg`w}@@-#c%$Dueq5~o7ZBya>whKF=21rZe3EY?OrFdWhX64Y!gu!jc$R5&~* zU(jPv2^>H7O1^U_R1^J31eI;4@Fc|1|14WT3Tyd3Y!%T zp`4@?21}?F36LC_nNFOe4W9~v9SNtEE&&Cy4J8k zz`?Ca*=T(b5M_!10V4uTqUTEmjvzY!di(&{Z^J?odr16aB9TNzSytq+;(}lrDFt*U zI&hFiLN*XOG!6q0j$*3@beUa0tX_iOMXJP?Ql08U<>=-xg z#I;n~zO5|hE(yCQ@}A)9R|{Zaf(gr!`vLKZ#U~sefc(KG?T#nBfGNZpLm9tm5=(VM zA`!S>)d=s_Dfh4*R;DCu4@D)}lfDG2b7xV!lfPEj_GJ#`itTsVX82KncgLqIv zqzCp`REtas2#4E~P)50pfE5U!K#&^%V$=i;DC3Qn7K~RO1`{?lmwyg884i{iFi?_D zSe+;iJb;84<^wBY!GI%RGQ>a{c#0wA2+uHpQGPlO^1uNHIM9%H!PrTGa|VKmVJu^m z34o?&Lf8#@5+rKDnjHLz!KE8mshW3#w#5JeTe7iRmjjTf0RjZEEZB1E+_`f+?sFGzzj@*I z8-DlsK0ZD?JUp?nvG?xXd-v|0j*gC6-t zPDVy1H#c|E>dP5jhc_O65K^;?+hwkejg4i-#^(8F*R5Mu+`qTCx3{yiv$V8y*REYI zE-nfR3P6{T3Uoj|0QrT1?Vm$KfrpM%|A{3S{t?g#+tIzZ>#n{*ifMp zIx}2n)2`J{Gwyb5m08WTMQN==?Ya5aVs$gCnV4IdnSxl_n8R7w`q{fDwRS`mGHRD` z=n7P`a4z8F3gTYK*%QjMZ1tKI{v5mveEb6bfiB{=y4If<+gKg))n;IkjLN zqlBA;pCrTjG_8I9VhcrsMHUK&ik&>YS}K6ULt2oJK{}jy8FvuZGL{gT$4?fXmGzL7 zb6OOu$aX41gmIaj&rcIRmnj0vT5K!LT%6eW|F&5iNON`3;0rcs5i)%0+?1lM_4n2? zBZf{zCT5ok0~Kens)cV{KZ>nd`cJt3q?e0f;whFX90p4-+?m0exFRr+qlrsVRZ)a7 z=%Aye;uA*E?r4jio*=D9hbsaq{CbUe9oA}cSR@%rX1&l_>wo1DFN6M+of;dZ)@bhj z)_EiJQ|HOFo%8{xe^}HPs+yI&)mZwxiP`*#l-*onlzYY2X~OUu~bpjn0E*@ftG%7e;0? z-Z*kRf4|}nx$=z2g<(vcI}aakPP4ptJvQQB&h!SS+LUEH>3$EsONz}Bl~~ltxy2+g zF{DTzU`BS2n6 zf^R}oQ`i!Q1DtU#l~09Nw?2>7P}#*6-7UZ%FjItM!{Mi5t0hHTYrd`wZOmazkdSf6 z-*>2QcHEKcJR*~CzKmy8# zO7~`~*#b|-^UM5PR`Rgh1(vihPp@I*FFd^E)va#%r!USda4DIfE%CzhgtiE?$??0J r0v#SSvN%ncaH!unZS~u2cgkMB-Tt6WJFmlMO7^>*EHAhOSs1JVY`nC@ literal 0 HcmV?d00001 diff --git a/java/external/xdocs/dom/views/java-binding.html b/java/external/xdocs/dom/views/java-binding.html new file mode 100644 index 0000000..167a28e --- /dev/null +++ b/java/external/xdocs/dom/views/java-binding.html @@ -0,0 +1,81 @@ + + + + +Java Language Binding + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

Appendix B: Java Language +Binding

+ +

This appendix contains the complete Java Language [Java] binding for +the Level 2 Document Object Model Views.

+ +

The Java files are also available as http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113/java-binding.zip

+ +

+org/w3c/dom/views/AbstractView.java:

+ +
+
+package org.w3c.dom.views;
+
+public interface AbstractView {
+    public DocumentView getDocument();
+
+}
+
+
+ +

+org/w3c/dom/views/DocumentView.java:

+ +
+
+package org.w3c.dom.views;
+
+public interface DocumentView {
+    public AbstractView getDefaultView();
+
+}
+
+
+
+ + + + + + diff --git a/java/external/xdocs/dom/views/references.html b/java/external/xdocs/dom/views/references.html new file mode 100644 index 0000000..ae22194 --- /dev/null +++ b/java/external/xdocs/dom/views/references.html @@ -0,0 +1,89 @@ + + + + +References + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

References

+ +

For the latest version of any W3C specification please consult +the list of W3C Technical +Reports available at http://www.w3.org/TR.

+ +
+ +

E.1: Normative +references

+ +
+
DOM Level 2 Core
+ +
W3C (World Wide Web Consortium) Document +Object Model Level 2 Core Specification, November 2000. +Available at +http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113
+ +
ECMAScript
+ +
ECMA (European Computer Manufacturers Association) ECMAScript +Language Specification. Available at +http://www.ecma.ch/ecma1/STAND/ECMA-262.HTM
+ +
Java
+ +
Sun Microsystems Inc. The Java Language +Specification, James Gosling, Bill Joy, and Guy Steele, +September 1996. Available at +http://java.sun.com/docs/books/jls
+ +
OMGIDL
+ +
OMG (Object Management Group) +IDL (Interface Definition Language) defined in The Common Object +Request Broker: Architecture and Specification, version 2.3.1, +October 1999. Available from http://www.omg.org/
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/views/spec.css b/java/external/xdocs/dom/views/spec.css new file mode 100644 index 0000000..6a6bf13 --- /dev/null +++ b/java/external/xdocs/dom/views/spec.css @@ -0,0 +1,75 @@ +H4 { + text-align: left; + font-family: sans-serif; + font-weight: normal; + color: #0050B2; +} +.idl-code { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} +.java-code { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} + + +.code-block { + font-family: monospace; + border: 1px solid black; + white-space: pre; + color: black; + background-color: #dfdfdf; +} + + +.ecma-block { + border: 1px solid black; + color: black; + background-color: #dfdfdf; +} + + +.interface-name { + font-weight: bold +} + +.attribute-name { + color: black; + background-color: #FFFFD2; +} + +.constant-name { + color: black; + background-color: #DDFFD2; +} + +.method-name { + color: black; + background-color: #D9E6F8; +} + +.parameter-name { + color: black; + background-color: #FEE6F8; +} + +UL.toc, OL.toc {list-style: none} +DIV.toc UL UL, DIV.toc OL OL {margin-left: 0} +DIV.toc UL UL UL, DIV.toc OL OL OL {margin-left: 1em} +DIV.toc UL UL UL UL, DIV.toc OL OL OL OL {margin-left: 0} +LI.tocline1 {font-weight: bold} +LI.tocline2 {font-weight: normal} +LI.tocline4 {font-style: italic} + +code { font-family: monospace } + +div.paramtable { margin-left: 1em } +div.returntable { margin-left: 1em } +div.exceptiontable { margin-left: 1em } diff --git a/java/external/xdocs/dom/views/views.html b/java/external/xdocs/dom/views/views.html new file mode 100644 index 0000000..ef07478 --- /dev/null +++ b/java/external/xdocs/dom/views/views.html @@ -0,0 +1,245 @@ + + + + +Document Object Model Views + + + + + + + + + + +
+

13 November, +2000

+
+ +
+ +

1. Document Object Model Views

+ +
+
Editors
+ +
Arnaud Le Hors, IBM
+ +
Laurence Cable, Sun Microsystems
+
+ +
+

Table of contents

+ + +
+ +
+ +

1.1. Introduction

+ +

A document may have one or more "views" associated with it, +e.g., a computed view on a document after applying a CSS +stylesheet, or multiple presentations (e.g., HTML Frame) of the +same document in a client. That is, a view is some alternate +representation of, or a presentation of, and associated with, a +source document.

+ +

A view may be static, reflecting the state of the document when +the view was created, or dynamic, reflecting changes in the target +document as they occur, subsequent to the view being created. This +Level of the DOM specification makes no statement about these +behaviors.

+ +

This section defines an AbstractView +interface which provides a base interface from which all such views +shall derive. It defines an attribute which references the target +document of the AbstractView. +The only semantics of the AbstractView +defined here create an association between a view and its target +document.

+ +

There are no subinterfaces of AbstractView +defined in the DOM Level 2.

+ +

However, AbstractView +is defined in and used in this Level in two places:

+ +
    +
  • A Document may implement a DocumentView +that has a default view attribute associated with it. This default +view is typically dependent on the implementation (e.g., the +browser frame rendering the document). The default view can be used +in order to identify and/or associate a view with its target +document (by testing object equality on the AbstractView +or obtaining the DocumentView +attribute).
  • + +
  • A UIEvent typically occurs upon a view of a +Document (e.g., a mouse click on a browser frame rendering a +particular Document instance). A UIEvent has an AbstractView +associated with it which identifies both the particular +(implementation-dependent) view in which the event occurs, and the +target document the UIEvent is related to.
  • +
+ +

The interfaces found within this section are not mandatory. A +DOM application may use the hasFeature(feature, +version) method of the DOMImplementation +interface with parameter values "Views" and "2.0" (respectively) to +determine whether or not this module is supported by the +implementation. In order to fully support this module, an +implementation must also support the "Core" feature defined defined +in the Document Object Model Level 2 Core specification [DOM Level 2 +Core]. Please refer to additional information about +conformance in the DOM Level 2 Core specification.

+
+ + +
+ +

1.2. Interfaces

+ +
+
Interface AbstractView (introduced in +DOM Level 2)
+ +
+

A base interface that all views shall derive from.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface AbstractView {
+  readonly attribute DocumentView     document;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
document of type DocumentView, +readonly
+ +
The source DocumentView +of which this is an AbstractView.
+
+
+
+
+
+ +
Interface DocumentView (introduced in +DOM Level 2)
+ +
+

The DocumentView interface is implemented by +Document objects in DOM implementations supporting DOM +Views. It provides an attribute to retrieve the default view of a +document.

+ +
+

+IDL Definition
+ +
+
+
+// Introduced in DOM Level 2:
+interface DocumentView {
+  readonly attribute AbstractView     defaultView;
+};
+
+
+ +
+
+ +
Attributes
+ +
+
+
defaultView of +type AbstractView, +readonly
+ +
The default AbstractView +for this Document, or null if none +available.
+
+
+
+
+
+
+
+ +
+ + + + + + diff --git a/java/external/xdocs/dom/xml/contributors.xml b/java/external/xdocs/dom/xml/contributors.xml new file mode 100644 index 0000000..6a3577b --- /dev/null +++ b/java/external/xdocs/dom/xml/contributors.xml @@ -0,0 +1,46 @@ + + + + Acknowledgements +

Many people contributed to this specification, including members of the + DOM Working Group and the DOM Interest Group. We especially thank the + following:

+

Lauren Wood (SoftQuad Software Inc., chair), Andrew Watson + (Object Management Group), Andy Heninger (IBM), Arnaud Le Hors (W3C and IBM), + Ben Chang (Oracle), Bill Smith (Sun), Bill Shea (Merrill Lynch), Bob Sutor + (IBM), Chris Lovett (Microsoft), Chris Wilson (Microsoft), David Brownell + (Sun), David Singer (IBM), Don Park (invited), Eric Vasilik (Microsoft), Gavin + Nicol (INSO), Ian Jacobs (W3C), James Clark (invited), James Davidson (Sun), + Jared Sorensen (Novell), Joe Kesselman (IBM), Joe Lapp (webMethods), Joe Marini + (Macromedia), Johnny Stenback (Netscape), Jonathan Marsh (Microsoft), Jonathan + Robie (Texcel Research and Software AG), Kim Adamson-Sharpe (SoftQuad Software + Inc.), Laurence Cable (Sun), Mark Davis (IBM), Mark Scardina (Oracle), Martin + Dürst (W3C), Mick Goulish (Software AG), Mike Champion (Arbortext and Software + AG), Miles Sabin (Cromwell Media), Patti Lutsky (Arbortext), Paul Grosso + (Arbortext), Peter Sharpe (SoftQuad Software Inc.), Phil Karlton (Netscape), + Philippe Le Hégaret (W3C, W3C team contact), Ramesh + Lekshmynarayanan (Merrill Lynch), Ray Whitmer (iMall, Excite@Home and + Netscape), Rich Rollman (Microsoft), Rick Gessner (Netscape), Scott Isaacs + (Microsoft), Sharon Adler (INSO), Steve Byrne (JavaSoft), Tim Bray (invited), + Tom Pixley (Netscape), Vidur Apparao (Netscape), Vinod Anupam (Lucent).

+

Thanks to all those who have helped to improve this specification by + sending suggestions and corrections.

+ Production Systems +

This specification was written in XML. The HTML, OMG IDL, Java and ECMA + Script bindings were all produced automatically.

+

Thanks to Joe English, author of + cost, which was used as + the basis for producing DOM Level 1. Thanks also to Gavin Nicol, who wrote the + scripts which run on top of cost. Arnaud Le Hors and Philippe Le Hégaret + maintained the scripts.

+

For DOM Level 2, we used + Xerces as the basis DOM + implementation and wish to thank the authors. Philippe Le Hégaret and Arnaud + Le Hors wrote the + Java + programs which are the DOM application.

+

Thanks also to Jan Kärrman, author of + html2ps, which + we use in creating the PostScript version of the specification.

+
diff --git a/java/external/xdocs/dom/xml/copyright.xml b/java/external/xdocs/dom/xml/copyright.xml new file mode 100644 index 0000000..b78abbf --- /dev/null +++ b/java/external/xdocs/dom/xml/copyright.xml @@ -0,0 +1,216 @@ + + + + + Copyright Notice + +

+ Copyright © &date.year; World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut + National de Recherche en Informatique et en Automatique, Keio University). All Rights Reserved. +

+

+ This document is published under the . The bindings within this document are + published under the . The + software license requires "Notice of any changes or modifications to the + W3C files, including the date changes were made." Consequently, modified + versions of the DOM bindings must document that they do not conform to the + W3C standard; in the case of the IDL definitions, the pragma prefix can no + longer be 'w3c.org'; in the case of the Java Language binding, the package + names can no longer be in the 'org.w3c' package. +

+ + W3C Document Copyright Notice and License + +

+ This section is a copy of the W3C Document Notice and License and could + be found at http://www.w3.org/Consortium/Legal/copyright-documents-19990405. +

+
+

+ Copyright © 1994-&date.year; World + Wide Web Consortium, (Massachusetts Institute of + Technology, Institut National de + Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. +

+

+ http://www.w3.org/Consortium/Legal/ +

+

+ Public documents on the W3C site are provided by the copyright holders + under the following license. The software or Document Type Definitions + (DTDs) associated with W3C specifications are governed by the Software + Notice. By using and/or copying this document, or the W3C document + from which this statement is linked, you (the licensee) agree that you + have read, understood, and will comply with the following terms and + conditions: +

+

+ Permission to use, copy, and distribute the contents of this document, or + the W3C document from which this statement is linked, in any medium for + any purpose and without fee or royalty is hereby granted, provided that + you include the following on ALL copies of the document, or + portions thereof, that you use: +

+ + +

+ A link or URL to the original W3C document. +

+
+ +

+ The pre-existing copyright notice of the original author, or if it + doesn't exist, a notice of the form: "Copyright © + [$date-of-document] World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut National de Recherche en + Informatique et en Automatique, Keio University). All Rights + Reserved. http://www.w3.org/Consortium/Legal/" (Hypertext is + preferred, but a textual representation is permitted.) +

+
+ +

+ If it exists, the STATUS of the W3C document. +

+
+
+

+ When space permits, inclusion of the full text of this NOTICE should be provided. We request that + authorship attribution be provided in any software, documents, or other + items or products that you create pursuant to the implementation of the + contents of this document, or any portion thereof. +

+

+ No right to create modifications or derivatives of W3C documents is + granted pursuant to this license. However, if additional requirements + (documented in the Copyright + FAQ) are satisfied, the right to create modifications or + derivatives is sometimes granted by the W3C to individuals complying with + those requirements. +

+

+ THIS DOCUMENT IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE + NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING, BUT NOT + LIMITED TO, WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR + PURPOSE, NON-INFRINGEMENT, OR TITLE; THAT THE CONTENTS OF THE DOCUMENT + ARE SUITABLE FOR ANY PURPOSE; NOR THAT THE IMPLEMENTATION OF SUCH + CONTENTS WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, + TRADEMARKS OR OTHER RIGHTS. +

+

+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR + CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE DOCUMENT OR THE + PERFORMANCE OR IMPLEMENTATION OF THE CONTENTS THEREOF. +

+

+ The name and trademarks of copyright holders may NOT be used in + advertising or publicity pertaining to this document or its contents + without specific, written prior permission. Title to copyright in this + document will at all times remain with copyright holders. +

+
+ + W3C Software Copyright Notice and License + +

+ This section is a copy of the W3C Software Copyright Notice and License + and could be found at http://www.w3.org/Consortium/Legal/copyright-software-19980720 +

+
+

+ Copyright © 1994-&date.year; World + Wide Web Consortium, (Massachusetts Institute of + Technology, Institut National de + Recherche en Informatique et en Automatique, Keio University). All Rights + Reserved. +

+

+ http://www.w3.org/Consortium/Legal/ +

+

+ This W3C work (including software, documents, or other related items) is + being provided by the copyright holders under the following license. By + obtaining, using and/or copying this work, you (the licensee) agree that + you have read, understood, and will comply with the following terms and + conditions: +

+

+ Permission to use, copy, and modify this software and its documentation, + with or without modification, for any purpose and without fee or royalty + is hereby granted, provided that you include the following on ALL copies + of the software and documentation or portions thereof, including + modifications, that you make: +

+ + +

The full text of this NOTICE in a location viewable to users of the + redistributed or derivative work.

+
+ +

+ Any pre-existing intellectual property disclaimers. If none exist, + then a notice of the following form: "Copyright © + [$date-of-software] World Wide Web + Consortium, (Massachusetts + Institute of Technology, Institut National de Recherche en + Informatique et en Automatique, Keio University). All Rights + Reserved. http://www.w3.org/Consortium/Legal/." +

+
+ +

+ Notice of any changes or modifications to the W3C files, including + the date changes were made. (We recommend you provide URIs to the + location from which the code is derived.) +

+
+
+

+ THIS SOFTWARE AND DOCUMENTATION IS PROVIDED "AS IS," AND COPYRIGHT + HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, + INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS + FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR + DOCUMENTATION WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, + TRADEMARKS OR OTHER RIGHTS. +

+

+ COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR + CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR + DOCUMENTATION. +

+

+ The name and trademarks of copyright holders may NOT be used in + advertising or publicity pertaining to the software without specific, + written prior permission. Title to copyright in this software and any + associated documentation will at all times remain with copyright holders. +

+
+
+ diff --git a/java/external/xdocs/dom/xml/core/changes.xml b/java/external/xdocs/dom/xml/core/changes.xml new file mode 100644 index 0000000..3d997db --- /dev/null +++ b/java/external/xdocs/dom/xml/core/changes.xml @@ -0,0 +1,130 @@ + + + + Changes + + + + Arnaud Le Hors + IBM + + + Philippe Le Hégaret + W3C + + + + + Changes between DOM Level 1 Core and DOM Level 2 Core + + + + +

The DOM Level 2 specifications are now using Corba 2.3.1 + instead of Corba 2.2.

+
+
+ + +

The definition of DOMString in IDL is now a + valuetype.

+
+
+
+ + + Changes to DOM Level 1 Core interfaces and exceptions + + + + +

The Attr interface has one new + attribute: ownerElement.

+
+
+ + +

The Document interface has five new methods: + importNode, createElementNS, + createAttributeNS, getElementsByTagNameNS + and getElementById.

+
+
+ + +

The NamedNodeMap interface has three new + methods: getNamedItemNS, setNamedItemNS, + removeNamedItemNS.

+
+
+ + +

The Node interface has two new + methods: isSupported and hasAttributes.

normalize, previously + in the Element interface, has been + moved in the Node interface.

+

The Node interface has three new attributes: + namespaceURI, prefix and + localName.

+

The ownerDocument attribute was specified to be + null when the node is a Document. It + now is also null when the node is a + DocumentType which is not used with any + Document yet.

+
+
+ + +

The DocumentType interface has three attributes: + publicId, systemId and + internalSubset.

+
+
+ + +

The DOMImplementation interface has two new + methods: createDocumentType and + createDocument.

+
+
+ + +

The Element interface has eight new + methods: getAttributeNS, + setAttributeNS, removeAttributeNS, + getAttributeNodeNS, setAttributeNodeNS, + getElementsByTagNameNS, hasAttribute + and hasAttributeNS.

+

The method normalize is now inherited from + the Node interface where it was moved.

+
+
+ + +

The DOMException has five new + exception codes: INVALID_STATE_ERR, + SYNTAX_ERR, INVALID_MODIFICATION_ERR, + NAMESPACE_ERR and INVALID_ACCESS_ERR.

+
+
+
+
+ + New features + + New types + + + + +

+ The DOMTimeStamp type was added to the Core + module. +

+
+
+
+
+
+
+
diff --git a/java/external/xdocs/dom/xml/core/core.xml b/java/external/xdocs/dom/xml/core/core.xml new file mode 100644 index 0000000..5b09a02 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/core.xml @@ -0,0 +1,383 @@ + + + + + Document Object Model Core + + + Arnaud Le Hors + IBM + + + Gavin Nicol + Inso EPS (for DOM Level 1) + + + Lauren Wood + SoftQuad, Inc. (for DOM Level 1) + + + Mike Champion + ArborText (for DOM Level 1 from November 20, + 1997) + + + Steve Byrne + JavaSoft (for DOM Level 1 until November 19, + 1997) + + + + + Overview of the DOM Core Interfaces +

This section defines a set of objects and interfaces for accessing and + manipulating document objects. The functionality specified in this section (the + Core functionality) is sufficient to allow software developers and + web script authors to access and manipulate parsed HTML and XML content inside + conforming products. The DOM Core API also allows creation and population of a Document object using only DOM API calls; loading a Document and saving it persistently is left to the product that implements the + DOM API.

+ The DOM Structure Model +

The DOM presents documents as a hierarchy of Node objects that also implement other, more specialized interfaces. Some + types of nodes may have child nodes of + various types, and others are leaf nodes that cannot have anything below them + in the document structure. For XML and HTML, the node types, and which node + types they may have as children, are as follows: + + +

Document -- Element (maximum of one), ProcessingInstruction, Comment, DocumentType (maximum of one)

+ + +

DocumentFragment -- Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference

+
+ +

DocumentType -- no children

+
+ +

EntityReference -- Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference

+
+ +

Element -- Element, Text, Comment, ProcessingInstruction, CDATASection, EntityReference

+
+ +

Attr -- Text, EntityReference

+
+ +

ProcessingInstruction -- no children

+
+ +

Comment -- no children

+
+ +

Text -- no children

+
+ +

CDATASection -- no children

+
+ +

Entity -- Element, ProcessingInstruction, Comment, Text, CDATASection, EntityReference

+
+ +

Notation -- no children

+
+

+

The DOM also specifies a NodeList interface to handle ordered lists of Nodes, such as the children of a Node, or the elements returned by the getElementsByTagName method of the Element interface, and also a NamedNodeMap interface to handle unordered sets of nodes referenced by their name + attribute, such as the attributes of an Element. NodeList and NamedNodeMap objects in the DOM are live; that is, changes to the + underlying document structure are reflected in all relevant NodeList and NamedNodeMap objects. For example, if a DOM user gets a NodeList object containing the children of an Element, then subsequently adds more children to that element (or removes children, or modifies them), + those changes are automatically reflected in the NodeList, without further action on the user's part. Likewise, changes to a Node in the tree are reflected in all references to that Node in NodeList and NamedNodeMap objects.

+

Finally, the interfaces Text, Comment, and CDATASection all inherit from the CharacterData interface.

+
+ Memory Management +

Most of the APIs defined by this specification are + interfaces rather than classes. That means that an implementation + need only expose methods with the defined names and specified operation, not + implement classes that correspond directly to the interfaces. This allows the + DOM APIs to be implemented as a thin veneer on top of legacy applications with + their own data structures, or on top of newer applications with different class + hierarchies. This also means that ordinary constructors (in the Java or C++ + sense) cannot be used to create DOM objects, since the underlying objects to be + constructed may have little relationship to the DOM interfaces. The + conventional solution to this in object-oriented design is to define + factory methods that create instances of objects that implement + the various interfaces. Objects implementing some interface "X" are created by + a "createX()" method on the Document interface; this is because all DOM objects live in the context of a + specific Document.

+

The DOM Level 2 API does not define a standard way to + create DOMImplementation objects; DOM implementations must provide some proprietary way of + bootstrapping these DOM interfaces, and then all other objects can be built + from there.

+

The Core DOM APIs are designed to be compatible with a wide range of + languages, including both general-user scripting languages and the more + challenging languages used mostly by professional programmers. Thus, the DOM + APIs need to operate across a variety of memory management philosophies, from + language bindings that do not expose memory management to the user at all, + through those (notably Java) that provide explicit constructors but provide an + automatic garbage collection mechanism to automatically reclaim unused memory, + to those (especially C/C++) that generally require the programmer to explicitly + allocate object memory, track where it is used, and explicitly free it for + re-use. To ensure a consistent API across these platforms, the DOM does not + address memory management issues at all, but instead leaves these for the + implementation. Neither of the explicit language bindings defined by the DOM + API (for ECMAScript and Java) + require any memory management methods, but DOM bindings for other languages + (especially C or C++) may require such support. These extensions will be the + responsibility of those adapting the DOM API to a specific language, not the + DOM Working Group.

+
+ + Naming Conventions +

While it would be nice to have attribute and method names that are + short, informative, internally consistent, and familiar to users of similar + APIs, the names also should not clash with the names in legacy APIs supported + by DOM implementations. Furthermore, both OMG IDL and ECMAScript have significant limitations in their ability to disambiguate names + from different namespaces that make it difficult to avoid naming conflicts with + short, familiar names. So, DOM names tend to be long and descriptive + in order to be unique across all environments.

+

The Working Group has also attempted to be internally consistent in + its use of various terms, even though these may not be common distinctions in + other APIs. For example, the DOM API uses the method name "remove" when the method + changes the structural model, and the method name "delete" when the method gets + rid of something inside the structure model. The thing that is deleted is not + returned. The thing that is removed may be returned, when it makes sense to + return it.

+
+ + Inheritance vs. Flattened Views of the API +

The DOM Core APIs present two somewhat + different sets of interfaces to an XML/HTML document: one presenting an "object + oriented" approach with a hierarchy of inheritance, and a "simplified" view that allows + all manipulation to be done via the Node interface without requiring casts (in Java and other C-like languages) + or query interface calls in COM environments. + These operations are fairly expensive in Java and COM, and the DOM may be used + in performance-critical environments, so we allow significant functionality + using just the Node interface. Because many other users will find the + inheritance hierarchy easier to + understand than the "everything is a Node" approach to the DOM, we also support the full higher-level interfaces + for those who prefer a more object-oriented API.

+

In practice, this means that there is a certain amount of redundancy + in the API. The Working Group considers the + "inheritance" approach the primary view + of the API, and the full set of functionality on Node to be "extra" functionality that users may employ, but that does not + eliminate the need for methods on other interfaces that an object-oriented + analysis would dictate. (Of course, when the O-O analysis yields an attribute + or method that is identical to one on the Node interface, we don't specify a completely redundant one.) Thus, even + though there is a generic nodeName attribute on the Node interface, there is still a tagName attribute on the Element interface; these two attributes must contain the same value, but the + it is worthwhile to support both, given the different + constituencies the DOM API must satisfy.

+
+ + The DOMString type +

To ensure interoperability, the DOM specifies the following:

+ + + + + +

A DOMString is a sequence of 16-bit + units.

+
+ +
+
+
+ +

Applications must encode DOMString using UTF-16 (defined in and Amendment 1 of + ).

+

The UTF-16 encoding was chosen because of its widespread industry + practice. Note that for both HTML and XML, the document character set (and + therefore the notation of numeric character references) is based on UCS + [ISO-10646]. A single numeric character reference in a source document may + therefore in some cases correspond to two 16-bit units in a DOMString (a high surrogate and a low surrogate).

+ +

Even though the DOM defines the name of the string type to be DOMString, bindings may use different names. For example for Java, DOMString is bound to the String type because it also uses UTF-16 as its encoding.

+
+
+
+ +

As of August 2000, the OMG IDL specification () included a wstring type. However, that definition did not meet the interoperability + criteria of the DOM API since it relied on + negotiation to decide the width and encoding of a character.

+
+
+ + The DOMTimeStamp type +

To ensure interoperability, the DOM specifies the following:

+ + + + + +

A DOMTimeStamp represents a number of milliseconds.

+
+ unsigned long long +
+
+
+ + +

Even though the DOM uses the type DOMTimeStamp, bindings may use different types. For example for Java, DOMTimeStamp is bound to the long type. In ECMAScript, TimeStamp is bound to the Date type because the range of the integer type is too small.

+
+
+
+
+ + String comparisons in the DOM +

The DOM has many interfaces that imply string matching. HTML + processors generally assume an uppercase (less often, lowercase) normalization + of names for such things as elements, while + XML is explicitly case sensitive. For the purposes of the DOM, string matching + is performed purely by binary comparison of the + 16-bit units of the DOMString. In addition, the DOM assumes that any case normalizations take place + in the processor, before the DOM structures are built.

+ +

Besides case folding, there are additional normalizations that can + be applied to text. The W3C I18N Working Group is in the process of defining + exactly which normalizations are necessary, and where they should be applied. + The W3C I18N Working Group expects to require early normalization, which means + that data read into the DOM is assumed to already be normalized. The DOM and + applications built on top of it in this case only have to assure that text + remains normalized when being changed. For further details, please see + .

+
+
+ + XML Namespaces +

The DOM Level 2 supports XML namespaces by + augmenting several interfaces of the DOM Level 1 Core to allow creating and + manipulating elements and attributes + associated to a namespace.

+

As far as the DOM is concerned, special attributes used for declaring + XML namespaces are still exposed and + can be manipulated just like any other attribute. However, nodes are + permanently bound to namespace URIs as + they get created. Consequently, moving a node within a document, using the DOM, + in no case results in a change of its namespace prefix or namespace URI. + Similarly, creating a node with a namespace prefix and namespace URI, or + changing the namespace prefix of a node, does not result in any addition, + removal, or modification of any special attributes for declaring the + appropriate XML namespaces. Namespace validation is not enforced; the DOM + application is responsible. In particular, since the mapping between prefixes + and namespace URIs is not enforced, in general, the resulting document cannot + be serialized naively. For example, applications may have to declare every + namespace in use when serializing a document.

+

DOM Level 2 doesn't perform any URI normalization or canonicalization. + The URIs given to the DOM are assumed to be valid (e.g., characters such as + whitespaces are properly escaped), and no lexical checking is performed. + Absolute URI references are treated as strings and + compared literally. How relative + namespace URI references are treated is undefined. To ensure interoperability + only absolute namespace URI references (i.e., URI references beginning with a + scheme name and a colon) should be used. Note that because the DOM does no + lexical checking, the empty string will be treated as a real namespace URI + in DOM Level 2 methods. Applications must use the value null + as the namespaceURI parameter for methods if they wish to have no + namespace.

+ +

In the DOM, all namespace declaration attributes are by + definition bound to the namespace URI: "&xmlns-ns;". These are the attributes whose + namespace prefix or + qualified name is "xmlns". Although, + at the time of writing, this is not part of the XML Namespaces specification + , it is planned to be incorporated in a future + revision.

+
+

In a document with no namespaces, the child list of an EntityReference node is always the same as that of the corresponding Entity. This is not true in a document where an entity contains unbound + namespace prefixes. In such a case, + the descendants of the corresponding EntityReference nodes may be bound to different namespace URIs, depending on where the entity + references are. Also, because, in the DOM, nodes always remain bound to the + same namespace URI, moving such EntityReference nodes can lead to documents that cannot be serialized. This is also + true when the DOM Level 1 method createEntityReference of the Document interface is used to create entity references that correspond to such + entities, since the descendants of the + returned EntityReference are unbound. The DOM Level 2 does not support any mechanism to resolve + namespace prefixes. For all of these reasons, use of such entities and entity + references should be avoided or used with extreme care. A future Level of the + DOM may include some additional support for handling these.

+

The new methods, such as createElementNS and createAttributeNS of the Document interface, are meant to be used by namespace aware applications. Simple + applications that do not use namespaces can use the DOM Level 1 methods, such + as createElement and createAttribute. Elements and attributes created in this way do not have any namespace + prefix, namespace URI, or local name.

+ +

DOM Level 1 methods are namespace ignorant. Therefore, while it is + safe to use these methods when not dealing with namespaces, using them and the + new ones at the same time should be avoided. DOM Level 1 methods solely + identify attribute nodes by their nodeName. On the contrary, the DOM Level 2 methods related to namespaces, + identify attribute nodes by their namespaceURI and localName. Because of this fundamental difference, mixing both sets of methods + can lead to unpredictable results. In particular, using setAttributeNS, an element may have two attributes + (or more) that have the same nodeName, but different namespaceURIs. Calling getAttribute with that nodeName could then return any of those attributes. The result depends on the + implementation. Similarly, using setAttributeNode, one can set two attributes (or more) that have different nodeNames but the same prefix and namespaceURI. In this case getAttributeNodeNS will return either attribute, in an implementation dependent manner. + The only guarantee in such cases is that all methods that access a named item + by its nodeName will access the same item, and all methods which access a node by its + URI and local name will access the same node. For instance, setAttribute and setAttributeNS affect the node that getAttribute and getAttributeNS, respectively, return.

+
+
+
+ + Fundamental Interfaces +

The interfaces within this section are considered + fundamental, and must be fully implemented by all conforming + implementations of the DOM, including all HTML DOM implementations + , unless otherwise specified. +

+

+ A DOM application may use the hasFeature(feature, + version) method of the DOMImplementation + interface with parameter values "Core" and "2.0" (respectively) to + determine whether or not this module is supported by the + implementation. Any implementation that conforms to DOM Level 2 or a + DOM Level 2 module must conform to the Core module. Please refer to + additional information about conformance + in this specification. +

+ + &exceptions; &core-dom; &core-document; &core-node; + &core-node-list; &core-named-node-map; &core-data; &core-attribute; + &core-element; &core-text; &core-comment; + +
+ + Extended Interfaces +

The interfaces defined here form part of the DOM Core specification, but + objects that expose these interfaces will never be encountered in a DOM + implementation that deals only with HTML. As such, HTML-only DOM + implementations do not need to have objects that + implement these interfaces.

+

+ The interfaces found within this section are not mandatory. A DOM + application may use the hasFeature(feature, version) method + of the DOMImplementation interface with parameter values + "XML" and "2.0" (respectively) to determine whether or not this module + is supported by the implementation. In order to fully support this + module, an implementation must also support the "Core" feature defined in + . Please refer to additional information about + in this specification. +

+ + &core-cdata-section; &core-doctype; &core-notation; + &core-entity; &core-entity-reference; &core-pi; + +
diff --git a/java/external/xdocs/dom/xml/core/definitions/attribute.xml b/java/external/xdocs/dom/xml/core/definitions/attribute.xml new file mode 100644 index 0000000..bdae2e8 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/attribute.xml @@ -0,0 +1,113 @@ + + + + +

+The Attr interface represents an attribute in an Element object. +Typically the allowable values for the attribute are defined in a document +type definition.

+

Attr objects inherit the Node + interface, but since they are not actually child nodes of the element + they describe, the DOM does not consider them part of the document + tree. Thus, the Node attributes parentNode, + previousSibling, and nextSibling have a + null value for Attr objects. The DOM takes the + view that attributes are properties of elements rather than having a + separate identity from the elements they are associated with; + this should make it more efficient to implement + such features as default attributes associated with all elements of a + given type. Furthermore, Attr + nodes may not be immediate children of a DocumentFragment. + However, they can be associated with Element nodes contained within + a DocumentFragment. + In short, users and implementors of the DOM need to be aware that + Attr nodes have some things in + common with other objects inheriting the Node interface, + but they also are quite distinct.

+

The attribute's effective value is determined as follows: if this + attribute has been explicitly assigned any value, that value is the + attribute's effective value; otherwise, if there is a declaration for + this attribute, and that declaration includes a default value, then + that default value is the attribute's effective value; otherwise, the + attribute does not exist on this element in the structure model until + it has been explicitly added. Note that the nodeValue + attribute on the Attr instance can also be used to + retrieve the string version of the attribute's value(s).

+ +

In XML, where the value of an attribute can contain entity references, + the child nodes of the Attr node may be either + Text or EntityReference nodes (when these are in + use; see the description of EntityReference for + discussion). Because the DOM Core is not aware of attribute types, it + treats all attribute values as simple strings, even if the DTD or schema + declares them as having tokenized + types. +

+
+ +

Returns the name of this attribute.

+
+ +

If this attribute was explicitly given a value in the original + document, this is true; otherwise, it is false. + Note that the implementation is in charge of this attribute, not the + user. If the user changes the value of the attribute (even if it ends up + having the same value as the default value) then the specified + flag is automatically flipped to true. To re-specify the + attribute as the default value from the DTD, the user must delete the + attribute. The implementation will then make a new attribute available + with specified set to false and the default value + (if one exists).

+

In summary: + + +

If the attribute has an assigned value in the document then + specified is true, and the value is the + assigned value. +

+ +

If the attribute has no assigned value in the document and has + a default value in the DTD, then specified is false, + and the value is the default value in the DTD.

+ +

If the attribute has no assigned value in the document and has + a value of #IMPLIED in the DTD, then the attribute does not appear + in the structure model of the document. +

+ +

If the ownerElement attribute is + null (i.e. because it was just created or was set to + null by the various removal and cloning operations) + specified is true.

+
+ +

+ +
+
+ +

On retrieval, the value of the attribute is returned as a + string. Character and general entity references are replaced with their + values. See also the method getAttribute on the + Element interface.

+

On setting, this creates a Text node with the unparsed + contents of the string. I.e. any characters that an XML processor would + recognize as markup are instead treated as literal text. + See also the method setAttribute on the + Element interface.

+ + +

NO_MODIFICATION_ALLOWED_ERR: Raised when the node is + readonly.

+
+
+
+ + + +

The Element node this attribute is attached to or + null if this attribute is not in use.

+
+
+ diff --git a/java/external/xdocs/dom/xml/core/definitions/cdata-section.xml b/java/external/xdocs/dom/xml/core/definitions/cdata-section.xml new file mode 100644 index 0000000..37634e8 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/cdata-section.xml @@ -0,0 +1,39 @@ + + + + +

CDATA sections are used to escape blocks of text containing + characters that would otherwise be regarded as markup. The only + delimiter that is recognized in a CDATA section is the "]]>" string + that ends the CDATA section. CDATA sections cannot be + nested. Their primary purpose is for including + material such as XML fragments, without needing to escape all + the delimiters.

The DOMString attribute of the + Text node holds the text that is contained by the CDATA + section. Note that this may contain characters + that need to be escaped outside of CDATA sections and that, depending on + the character encoding ("charset") chosen for serialization, it may be + impossible to write out some characters as part of a CDATA section.

+

The CDATASection interface inherits from the + CharacterData interface through the Text + interface. Adjacent CDATASection nodes are not merged by + use of the normalize method of the Node + interface.

+ +

Because no markup is recognized within a CDATASection, + character numeric references cannot be used as an escape mechanism + when serializing. Therefore, action needs to be taken when serializing + a CDATASection with a character encoding where some of + the contained characters cannot be represented. Failure to do so would + not produce well-formed XML.

+

One potential solution in the serialization process is to end the + CDATA section before the character, output the character using a + character reference or entity reference, and open a new CDATA section + for any further characters in the text node. Note, however, that some + code conversion libraries at the time of writing do not return an + error or exception when a character is missing from the encoding, + making the task of ensuring that data is not corrupted on serialization + more difficult.

+
+
+
diff --git a/java/external/xdocs/dom/xml/core/definitions/comment.xml b/java/external/xdocs/dom/xml/core/definitions/comment.xml new file mode 100644 index 0000000..79d1136 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/comment.xml @@ -0,0 +1,11 @@ + + + + +

This interface inherits from CharacterData and + represents the content of a comment, i.e., all the + characters between the starting '<!--' and + ending '-->'. Note that this is the definition + of a comment in XML, and, in practice, HTML, although some HTML + tools may implement the full SGML comment structure.

+
diff --git a/java/external/xdocs/dom/xml/core/definitions/data.xml b/java/external/xdocs/dom/xml/core/definitions/data.xml new file mode 100644 index 0000000..39709d9 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/data.xml @@ -0,0 +1,195 @@ + + + + +

The CharacterData interface extends Node with a set of + attributes and methods for accessing character data in the DOM. For + clarity this set is defined here rather than on each object that uses + these attributes and methods. No DOM objects correspond directly to + CharacterData, though Text and others do + inherit the interface from it. All offsets in this + interface start from 0.

+

As explained in the DOMString interface, text strings + in the DOM are represented in UTF-16, i.e. as a sequence of 16-bit + units. In the following, the term 16-bit units is used whenever + necessary to indicate that indexing on CharacterData is done in + 16-bit units.

+
+ + +

The character data of the node + that implements this interface. The DOM implementation may not + put arbitrary limits on the amount of data that may be stored in a + CharacterData node. However, implementation limits may + mean that the entirety of a node's data may not fit into a single + DOMString. In such cases, the user may call + substringData to retrieve the data in appropriately sized + pieces.

+
+ + +

NO_MODIFICATION_ALLOWED_ERR: Raised when the node is + readonly.

+
+
+ + +

DOMSTRING_SIZE_ERR: Raised when it would return more + characters than fit in a DOMString variable on the + implementation platform.

+
+
+
+ +

The number of 16-bit + units that are available through data and the + substringData method below. This may have the value zero, + i.e., CharacterData nodes may be empty.

+
+
+ +

Extracts a range of data from the node.

+ + +

Start offset of substring to extract.

+ + +

The number of 16-bit units to extract.

+ +
+ +

The specified substring. If the sum of offset and + count exceeds the length, then all 16-bit + units to the end of the data are returned.

+
+ + +

INDEX_SIZE_ERR: Raised if the specified offset + is negative or greater than the number of 16-bit units in + data, or if the specified count is + negative.

+

DOMSTRING_SIZE_ERR: Raised if the specified range of text does + not fit into a DOMString.

+
+
+
+
+ + +

Append the string to the end of the character data of the node. + Upon success, data provides access to the concatenation of + data and the DOMString specified.

+
+ + +

The DOMString to append.

+ +
+ +

+
+ + +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is + readonly.

+
+
+
+ + + +

Insert a string at the specified 16-bit + unit offset.

+
+ + +

The character offset at which to insert.

+ + +

The DOMString to insert.

+ +
+ +

+
+ + +

INDEX_SIZE_ERR: Raised if the specified offset + is negative or greater than the number of 16-bit units in + data.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

+
+
+
+
+ + +

Remove a range of 16-bit units + from the node. Upon success, data and length + reflect the change.

+
+ + +

The offset from which to start removing.

+
+ + +

The number of 16-bit units to delete. If the sum of + offset and count exceeds + length then all 16-bit units from offset + to the end of the data are deleted.

+ +
+ +

+
+ + +

INDEX_SIZE_ERR: Raised if the specified offset + is negative or greater than the number of 16-bit units in + data, or if the specified count is + negative.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

+
+
+
+
+ + +

Replace the characters starting at the specified 16-bit unit offset with the specified + string.

+
+ + +

The offset from which to start replacing.

+ + +

The number of 16-bit units to replace. If the sum of + offset and count exceeds + length, then all 16-bit units to the end of the data + are replaced; (i.e., the effect is the same as a + remove method call with the same range, followed + by an append method invocation).

+ + +

The DOMString with which the range must + be replaced.

+ +
+ +

+
+ + +

INDEX_SIZE_ERR: Raised if the specified offset + is negative or greater than the number of 16-bit units in + data, or if the specified count is + negative.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

+
+
+
+
+
diff --git a/java/external/xdocs/dom/xml/core/definitions/doctype.xml b/java/external/xdocs/dom/xml/core/definitions/doctype.xml new file mode 100644 index 0000000..8adb7d7 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/doctype.xml @@ -0,0 +1,65 @@ + + + +

Each Document has a doctype attribute + whose value is either null or a DocumentType + object. The DocumentType interface in the DOM Core + provides an interface to the list of entities that are defined + for the document, and little else because the effect of + namespaces and the various XML schema efforts on DTD + representation are not clearly understood as of this writing.

+

The DOM Level 2 doesn't support editing DocumentType + nodes.

+ +

The name of DTD; i.e., the name immediately + following the DOCTYPE keyword.

+
+ +

A NamedNodeMap containing the general entities, both + external and internal, declared in the DTD. Parameter entities are not + contained. Duplicates are discarded. + For example in: +<!DOCTYPE ex SYSTEM "ex.dtd" [ + <!ENTITY foo "foo"> + <!ENTITY bar "bar"> + <!ENTITY bar "bar2"> + <!ENTITY % baz "baz"> +]> +<ex/> + the interface provides access to foo and + the first declaration of bar but not the second declaration of + bar or baz. Every node in this map + also implements the Entity interface.

+

The DOM Level 2 does not support editing entities, therefore + entities cannot be altered in any way.

+
+
+ +

A NamedNodeMap containing the + notations declared in the DTD. Duplicates are discarded. Every node in + this map also implements the Notation interface.

+

The DOM Level 2 does not support editing notations, therefore + notations cannot be altered in any way.

+
+ + + +

The public identifier of the external subset.

+
+ +

The system identifier of the external subset.

+
+ +

The internal subset as a string.

+

The actual content returned depends on how much information is + available to the implementation. This may vary depending on various + parameters, including the XML processor used to build the + document.

+
+
+
+ +
diff --git a/java/external/xdocs/dom/xml/core/definitions/document.xml b/java/external/xdocs/dom/xml/core/definitions/document.xml new file mode 100644 index 0000000..37d3eea --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/document.xml @@ -0,0 +1,607 @@ + + + + +

DocumentFragment is a "lightweight" or "minimal" + Document object. It is very common to want to be able to + extract a portion of a document's tree or to create a new fragment of a + document. Imagine implementing a user command like cut or rearranging a + document by moving fragments around. It is desirable to have an object + which can hold such fragments and it is quite natural to use a Node for + this purpose. While it is true that a Document object could + fulfill this role, a Document object can potentially be a + heavyweight object, depending on the underlying implementation. What is + really needed for this is a very lightweight object. + DocumentFragment is such an object.

+

Furthermore, various operations -- such as inserting nodes as children + of another Node -- may take DocumentFragment + objects as arguments; this results in all the child nodes of the + DocumentFragment being moved to the child list of this + node.

+

The children of a DocumentFragment node are zero or more + nodes representing the tops of any sub-trees defining the structure of + the document. DocumentFragment nodes do not need to be + well-formed XML documents (although they do need to follow the rules + imposed upon well-formed XML parsed entities, which can have multiple top + nodes). For example, a DocumentFragment might have only one + child and that child node could be a Text node. Such a + structure model represents neither an HTML document nor a well-formed XML + document.

+

When a DocumentFragment is inserted into a + Document (or indeed any other Node that may + take children) the children of the DocumentFragment and not + the DocumentFragment itself are inserted into the + Node. This makes the DocumentFragment very + useful when the user wishes to create nodes that are siblings; the + DocumentFragment acts as the parent of these nodes so that + the user can use the standard methods from the Node + interface, such as insertBefore and + appendChild.

+
+
+ + + +

The Document interface represents the entire + HTML or XML document. Conceptually, it is the root of the + document tree, and provides the primary access to the + document's data.

+

Since elements, text nodes, comments, processing instructions, + etc. cannot exist outside the context of a Document, the + Document interface also contains the factory methods needed + to create these objects. The Node objects created have a + ownerDocument attribute which associates them with the + Document within whose context they were created.

+
+ +

The Document Type Declaration (see DocumentType) + associated with this document. For HTML documents as well as XML + documents without a document type declaration this returns + null. The DOM Level 2 does not support editing the + Document Type Declaration. docType cannot be + altered in any way, including through the use of methods inherited from + the Node interface, such as insertNode or + removeNode.

+
+
+ +

The DOMImplementation object that handles this + document. A DOM application may use objects from multiple + implementations.

+
+
+ + +

This is a convenience attribute that allows direct + access to the child node that is the root element of the + document. For HTML documents, this is the element with + the tagName "HTML".

+
+ + +

Creates an element of the type specified. Note that the instance + returned implements the Element interface, so attributes + can be specified directly on the returned object.

+

In addition, if there are known attributes with default values, + Attr nodes representing them are automatically created and + attached to the element.

+

To create an element with a qualified name and namespace URI, use the + createElementNS method.

+
+ + +

The name of the element type to + instantiate. For XML, this is case-sensitive. For HTML, the + tagName parameter may be provided in any case, + but it must be mapped to the canonical uppercase form by + the DOM implementation. +

+ +
+ +

A new Element object with the + nodeName attribute set to tagName, and + localName, prefix, and + namespaceURI set to null.

+
+ + +

INVALID_CHARACTER_ERR: Raised if the specified name contains + an illegal character.

+
+
+
+ + + +

Creates an empty DocumentFragment object. +

+ + + + +

A new DocumentFragment.

+
+ + + +
+ + + +

Creates a Text node given the specified + string.

+ + +

The data for the node.

+ +
+ +

The new Text object.

+
+ + + +
+ + +

Creates a Comment node given the specified + string.

+ + +

The data for the node.

+ +
+ +

The new Comment object.

+
+ + + +
+ + +

Creates a CDATASection node whose value is + the specified string.

+ + +

The data for the CDATASection contents.

+
+ +
+ +

The new CDATASection object.

+
+ + +

NOT_SUPPORTED_ERR: Raised if this document is an HTML + document.

+
+
+
+ + +

Creates a ProcessingInstruction node given + the specified name and data strings.

+ + +

The target part of the processing instruction.

+ + +

The data for the node.

+ +
+ +

The new ProcessingInstruction object.

+
+ + +

INVALID_CHARACTER_ERR: Raised if the specified target + contains an illegal character.

+

NOT_SUPPORTED_ERR: Raised if this document is an HTML document.

+
+
+
+
+ + +

Creates an Attr of the given name. + Note that the Attr instance + can then be set on an Element using the + setAttributeNode method.

+

To create an attribute with a qualified name and namespace URI, use + the createAttributeNS method.

+
+ + +

The name of the attribute.

+ +
+ +

A new Attr object with the nodeName + attribute set to name, and localName, + prefix, and namespaceURI set to + null. The value of the attribute is the empty + string.

+
+ + +

INVALID_CHARACTER_ERR: Raised if the specified name contains + an illegal character.

+
+
+
+ + + +

Creates an EntityReference object. In addition, if + the referenced entity is known, the child list of the + EntityReference node is made the same as that of the + corresponding Entity node.

+

If any descendant of the Entity node has an + unbound namespace prefix, + the corresponding descendant of the created + EntityReference node is also unbound; (its + namespaceURI is null). The DOM Level 2 does + not support any mechanism to resolve namespace prefixes.

+
+ + +

The name of the entity to reference.

+
+ +
+ +

The new EntityReference object.

+
+ + +

INVALID_CHARACTER_ERR: Raised if the specified name contains + an illegal character.

+

NOT_SUPPORTED_ERR: Raised if this document is an HTML document.

+
+
+
+
+ + + +

Returns a NodeList of all the Elements + with a given tag name in the order in which they are encountered + in a preorder traversal of the Document tree. +

+ + +

The name of the tag to match on. The special value "*" + matches all tags.

+ +
+ +

A new NodeList object containing + all the matched Elements.

+
+ + + +
+ + + + +

Imports a node from another document to this document. The returned + node has no parent; (parentNode is null). The + source node is not altered or removed from the original document; this + method creates a new copy of the source node.

+ +

For all nodes, importing a node creates a node object owned by the + importing document, with attribute values identical to the source + node's nodeName and nodeType, plus the + attributes related to namespaces (prefix, + localName, and namespaceURI). As in the + cloneNode operation on a Node, the source + node is not altered.

+ +

Additional information is copied as appropriate to the + nodeType, attempting to mirror the behavior expected if a + fragment of XML or HTML source was copied from one document to another, + recognizing that the two documents may have different DTDs in the XML + case. The following list describes the specifics for each type of + node. + + + + + +

The ownerElement attribute is set to + null and the specified flag is set to + true on the generated Attr. The + descendants of the source Attr are recursively + imported and the resulting nodes reassembled to form the + corresponding subtree.

+

Note that the deep parameter has no effect on + Attr nodes; they always carry their children with + them when imported.

+ + + + +

If the deep option was set to + true, the descendants of the source element are + recursively imported and the resulting nodes reassembled to + form the corresponding subtree. Otherwise, this simply + generates an empty DocumentFragment.

+
+
+ + +

Document nodes cannot be imported.

+
+
+ + +

DocumentType nodes cannot be imported.

+
+
+ + +

Specified attribute nodes of the source + element are imported, and the generated Attr nodes + are attached to the generated Element. Default + attributes are not copied, though if the document + being imported into defines default attributes for this element + name, those are assigned. If the importNode + deep parameter was set to true, the + descendants of the source element are recursively imported + and the resulting nodes reassembled to form the corresponding + subtree.

+
+
+ + +

Entity nodes can be imported, however in the + current release of the DOM the DocumentType is + readonly. Ability to add these imported nodes to a + DocumentType will be considered for addition to a + future release of the DOM.

+

On import, the publicId, systemId, + and notationName attributes are copied. If a + deep import is requested, the descendants of the + the source Entity are recursively imported and the + resulting nodes reassembled to form the corresponding + subtree.

+
+
+ + +

Only the EntityReference itself is copied, + even if a deep import is requested, since the + source and destination documents might have defined the entity + differently. If the document being imported into provides a + definition for this entity name, its value is assigned.

+
+
+ + +

Notation nodes can be imported, however in the + current release of the DOM the DocumentType is + readonly. Ability to add these imported nodes to a + DocumentType will be considered for addition to a + future release of the DOM.

+

On import, the publicId and + systemId attributes are copied.

+

Note that the deep parameter has no effect on + Notation nodes since they never have any + children.

+
+
+ + +

The imported node copies its target and + data values from those of the source node.

+
+
+ + +

These three types of nodes inheriting from + CharacterData copy their data and + length attributes from those of the source + node.

+
+
+ +

+
+ + +

The node to import.

+ + +

If true, recursively import the subtree + under the specified node; if false, import only + the node itself, as explained above. This has no effect on + Attr, EntityReference, and + Notation nodes.

+
+ +
+ +

The imported node that belongs to this + Document.

+
+ + +

NOT_SUPPORTED_ERR: Raised if the type of node being imported + is not supported.

+
+
+
+ + +

Creates an element of the given qualified name and namespace + URI. HTML-only DOM implementations do not need to implement this + method.

+
+ + +

The namespace URI of + the element to create.

+
+ + +

The qualified name + of the element type to instantiate.

+
+ +
+ +

A new Element object with the following + attributes:

+ + + + + + + + + + + + + + +
AttributeValue
Node.nodeNamequalifiedName
Node.namespaceURInamespaceURI
Node.prefixprefix, extracted from + qualifiedName, or null if there is no + prefix
Node.localNamelocal name, extracted from + qualifiedName
Element.tagNamequalifiedName
+
+
+ + +

INVALID_CHARACTER_ERR: Raised if the specified qualified name + contains an illegal character.

+

NAMESPACE_ERR: Raised if the qualifiedName is + malformed, if the qualifiedName has a prefix and + the namespaceURI is null, or if + the qualifiedName has a prefix that + is "xml" and the namespaceURI is different + from "&xml-ns;" .

+
+
+
+
+ +

Creates an attribute of the given qualified name and namespace + URI. HTML-only DOM implementations do not need to implement this + method.

+
+ + +

The namespace URI of + the attribute to create.

+
+ + +

The qualified name + of the attribute to instantiate.

+
+ +
+ +

A new Attr object with the following + attributes:

+ + + + + + + + + + + + + + +
AttributeValue
Node.nodeNamequalifiedName
Node.namespaceURInamespaceURI
Node.prefixprefix, extracted from + qualifiedName, or null if there is no + prefix
Node.localNamelocal name, extracted from + qualifiedName
Attr.namequalifiedName
Node.nodeValuethe empty string
+
+
+ + +

INVALID_CHARACTER_ERR: Raised if the specified qualified name + contains an illegal character.

+

NAMESPACE_ERR: Raised if the qualifiedName is + malformed, if the qualifiedName has a prefix and + the namespaceURI is null, if the + qualifiedName has a prefix that is + "xml" and the namespaceURI is different from + "&xml-ns;", or if the + qualifiedName is "xmlns" and the + namespaceURI is different from + "&xmlns-ns;".

+
+
+
+
+ +

Returns a NodeList of all the Elements + with a given local name and + namespace URI in the order in which they are encountered in a + preorder traversal of the Document tree.

+
+ + +

The namespace URI of + the elements to match on. The special value "*" matches all + namespaces.

+
+ + +

The local name of the + elements to match on. The special value "*" matches all local + names.

+
+ +
+ +

A new NodeList object containing all the matched + Elements.

+
+ + + +
+ +

Returns the Element whose ID + is given by elementId. If no such element exists, returns + null. Behavior is not defined if more than one element has + this ID. +

The DOM implementation must have information that says which + attributes are of type ID. Attributes with the name "ID" are not of type ID unless + so defined. Implementations that do not know whether attributes are of type + ID or not are expected to return null.

+ + +

The unique id value for an element.

+ +
+ +

The matching element.

+
+ + + +
+
diff --git a/java/external/xdocs/dom/xml/core/definitions/dom.xml b/java/external/xdocs/dom/xml/core/definitions/dom.xml new file mode 100644 index 0000000..5d5dca6 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/dom.xml @@ -0,0 +1,128 @@ + + + + +

The DOMImplementation interface provides a + number of methods for performing operations that are independent + of any particular instance of the document object model.

+
+ +

Test if the DOM implementation implements a + specific feature.

+ + +

The name of the feature to test (case-insensitive). The + values used by DOM features are defined throughout the DOM Level 2 specifications and listed in + the section. The name must be an + XML name. To avoid possible + conflicts, as a convention, names referring to features defined + outside the DOM specification should be made unique by reversing the name of + the Internet domain name of the person (or the organization that the + person belongs to) who defines the feature, component by component, + and using this as a prefix. For instance, the W3C SVG Working Group + defines the feature "org.w3c.dom.svg".

+ + +

This is the version number of the feature to test. In Level + 2, the string can be either "2.0" or "1.0". If the version is not + specified, supporting any version of the feature causes the method + to return true.

+ +
+ +

true if the feature is implemented in the + specified version, false otherwise.

+
+ + + +
+ + + +

Creates an empty DocumentType node. Entity + declarations and notations are not made available. Entity reference + expansions and default attribute additions do not occur. It is expected + that a future version of the DOM will provide a way for populating a + DocumentType.

+

HTML-only DOM implementations do not need to + implement this method.

+
+ + +

The qualified name + of the document type to be created.

+
+ + +

The external subset public identifier.

+
+ + +

The external subset system identifier.

+
+ +
+ +

A new DocumentType node with + Node.ownerDocument set to null.

+
+ + +

INVALID_CHARACTER_ERR: Raised if the specified qualified name + contains an illegal character.

+

NAMESPACE_ERR: Raised if the qualifiedName is + malformed.

+
+
+
+
+ + +

Creates an XML Document object of the specified type + with its document element. HTML-only DOM implementations do not need to + implement this method.

+
+ + +

The namespace URI of + the document element to create.

+
+ + +

The qualified name + of the document element to be created.

+
+ + +

The type of document to be created or null.

+

When doctype is not null, its + Node.ownerDocument attribute is set to the document + being created.

+
+ +
+ +

A new Document object.

+
+ + +

INVALID_CHARACTER_ERR: Raised if the specified qualified name + contains an illegal character.

+

NAMESPACE_ERR: Raised if the qualifiedName is + malformed, if the qualifiedName has a prefix and + the namespaceURI is null, or if + the qualifiedName has a prefix that + is "xml" and the namespaceURI is different + from "&xml-ns;" .

+

WRONG_DOCUMENT_ERR: Raised if doctype has already + been used with a different document or was created from a different + implementation.

+
+
+
+
+
diff --git a/java/external/xdocs/dom/xml/core/definitions/element.xml b/java/external/xdocs/dom/xml/core/definitions/element.xml new file mode 100644 index 0000000..e20fc4d --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/element.xml @@ -0,0 +1,462 @@ + + + + +

The Element interface represents an element in an HTML + or XML document. Elements may have attributes associated with them; since the + Element interface inherits from Node, the generic + Node interface attribute attributes may be used + to retrieve the set of all attributes for an element. There are methods on + the Element interface to retrieve either an Attr + object by name or an attribute value by name. In XML, where an attribute + value may contain entity references, an Attr object should be + retrieved to examine the possibly fairly complex sub-tree representing the + attribute value. On the other hand, in HTML, where all attributes have + simple string values, methods to directly access an attribute value can + safely be used as a convenience.

+ +

In DOM Level 2, the method normalize is + inherited from the Node interface where it was + moved.

+
+ + + +

The name of the element. For example, in: + +<elementExample id="demo"> + ... +</elementExample> , + + tagName has the value + "elementExample". Note that this is + case-preserving in XML, as are all of the operations of the DOM. + The HTML DOM returns the tagName of an HTML element + in the canonical uppercase form, regardless of the case in the + source HTML document.

+
+
+ + +

Retrieves an attribute value by name.

+ + +

The name of the attribute to retrieve.

+ +
+ +

The Attr value as a string, or the empty string if + that attribute does not have a specified or default value.

+
+ + + +
+ +

Adds a new attribute. If an attribute with that name is already + present in the element, its value is changed to be that of the value + parameter. This value is a simple string; it is not parsed as it is being + set. So any markup (such as syntax to be recognized as an entity + reference) is treated as literal text, and needs to be appropriately + escaped by the implementation when it is written out. In order to assign + an attribute value that contains entity references, the user must create + an Attr node plus any Text and + EntityReference nodes, build the appropriate subtree, and + use setAttributeNode to assign it as the value of an + attribute.

+

To set an attribute with a qualified name and namespace URI, use + the setAttributeNS method.

+
+ + +

The name of the attribute to create or alter.

+ + +

Value to set in string form.

+ +
+ +

+
+ + +

INVALID_CHARACTER_ERR: Raised if the specified name contains + an illegal character.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

+
+
+
+
+ +

Removes an attribute by name. If the removed attribute is known + to have a default value, an attribute immediately appears containing + the default value as well as the corresponding namespace URI, + local name, and prefix when applicable.

+

To remove an attribute by local name and namespace URI, use + the removeAttributeNS method.

+
+ + +

The name of the attribute to remove.

+ +
+ +

+
+ + +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is + readonly.

+
+
+
+
+ +

Retrieves an attribute node by name.

+

To retrieve an attribute node by qualified name and namespace URI, use + the getAttributeNodeNS method.

+
+ + +

The name (nodeName) of the attribute to + retrieve.

+ +
+ +

The Attr node with the specified + name (nodeName) or null if there is no such + attribute.

+
+ + + +
+ +

Adds a new attribute node. If an attribute with that name + (nodeName) is already present in the element, it is replaced + by the new one.

+

To add a new attribute node with a qualified name and namespace URI, + use the setAttributeNodeNS method.

+
+ + +

The Attr node to add to the attribute + list.

+ +
+ +

If the newAttr attribute replaces + an existing attribute, the replaced Attr node is + returned, otherwise null is returned.

+
+ + +

WRONG_DOCUMENT_ERR: Raised if newAttr was + created from a different document than the one that created the + element.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

+

INUSE_ATTRIBUTE_ERR: Raised if newAttr is already + an attribute of another Element object. The + DOM user must explicitly clone Attr + nodes to re-use them in other elements.

+
+
+
+ +

Removes the specified attribute node. If the removed + Attr has a default value it is immediately + replaced. The replacing attribute has the same namespace URI + and local name, as well as the original prefix, when + applicable.

+
+ + +

The Attr node to remove from the attribute + list.

+ +
+ +

The Attr node that was removed.

+
+ + +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is + readonly.

+

NOT_FOUND_ERR: Raised if oldAttr is not an attribute of + the element.

+
+
+
+
+ +

Returns a NodeList of all descendant + Elements with a given tag name, in the order in which they + are encountered in a preorder traversal of this Element + tree.

+ + +

The name of the tag to match on. The special value "*" + matches all tags.

+ +
+ +

A list of matching Element nodes.

+
+ + + +
+ + + +

Retrieves an attribute value by local name and namespace + URI. HTML-only DOM implementations do not need to implement this + method.

+
+ + +

The namespace URI of + the attribute to retrieve.

+
+ + +

The local name of the + attribute to retrieve.

+
+ +
+ +

The Attr value as a string, or the empty string if + that attribute does not have a specified or default value.

+
+ + + +
+ +

Adds a new attribute. If an attribute with the same local name + and namespace URI is already present on the element, its prefix is + changed to be the prefix part of the qualifiedName, and + its value is changed to be the value parameter. This value + is a simple string; it is not parsed as it is being set. So any markup + (such as syntax to be recognized as an entity reference) is treated as + literal text, and needs to be appropriately escaped by the + implementation when it is written out. In order to assign an attribute + value that contains entity references, the user must create an + Attr node plus any Text and + EntityReference nodes, build the appropriate subtree, and + use setAttributeNodeNS or setAttributeNode to + assign it as the value of an attribute.

+

HTML-only DOM implementations do not need to implement this + method.

+
+ + +

The namespace URI of + the attribute to create or alter.

+
+ + +

The qualified name + of the attribute to create or alter.

+
+ + +

The value to set in string form.

+ +
+ +

+
+ + +

INVALID_CHARACTER_ERR: Raised if the specified qualified name + contains an illegal character.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

+

NAMESPACE_ERR: Raised if the qualifiedName is + malformed, if the qualifiedName has a prefix and + the namespaceURI is null, if the + qualifiedName has a prefix that is + "xml" and the namespaceURI is different from + "&xml-ns;", or if the + qualifiedName is "xmlns" and the + namespaceURI is different from + "&xmlns-ns;".

+
+
+
+
+ +

Removes an attribute by local name and namespace URI. If + the removed attribute has a default value it is immediately + replaced. The replacing attribute has the same namespace URI + and local name, as well as the original prefix.

+

HTML-only DOM implementations do not need to implement this + method.

+
+ + +

The namespace URI of + the attribute to remove.

+
+ + +

The local name of the + attribute to remove.

+
+ +
+ +

+
+ + +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is + readonly.

+
+
+
+
+ +

Retrieves an Attr node by local name and namespace + URI. HTML-only DOM implementations do not need to implement this + method.

+
+ + +

The namespace URI of + the attribute to retrieve.

+
+ + +

The local name of the + attribute to retrieve.

+
+ +
+ +

The Attr node with the specified attribute local + name and namespace URI or null if there is no such + attribute.

+
+
+ + + +
+ +

Adds a new attribute. If an attribute with that local name and + that namespace URI is already present in the element, it is replaced by + the new one.

+

HTML-only DOM implementations do not need to implement this + method.

+
+ + +

The Attr node to add to the attribute list.

+
+ +
+ +

If the newAttr attribute replaces an existing + attribute with the same local + name and namespace + URI, the replaced Attr node is + returned, otherwise null is returned.

+
+
+ + +

WRONG_DOCUMENT_ERR: Raised if newAttr was + created from a different document than the one that created the + element.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

+

INUSE_ATTRIBUTE_ERR: Raised if newAttr is already an + attribute of another Element object. The DOM user + must explicitly clone Attr nodes to re-use them in + other elements.

+
+
+
+
+ +

Returns a NodeList of all the descendant + Elements with a given local name and namespace URI in the + order in which they are encountered in a preorder traversal of this + Element tree.

+

HTML-only DOM implementations do not need to implement this + method.

+
+ + +

The namespace URI of + the elements to match on. The special value "*" matches all + namespaces.

+
+ + +

The local name of the + elements to match on. The special value "*" matches all local + names.

+
+ +
+ +

A new NodeList object containing all the matched + Elements.

+
+
+ + + +
+ +

Returns true when an attribute with a given name is + specified on this element or has a default value, false + otherwise.

+
+ + +

The name of the attribute to look for.

+ +
+ +

true if an attribute with the given name is + specified on this element or has a default value, false + otherwise.

+
+
+ + + +
+ +

Returns true when an attribute with a given local + name and namespace URI is specified on this element or has a default + value, false otherwise. HTML-only DOM implementations do + not need to implement this method.

+
+ + +

The namespace URI of + the attribute to look for.

+
+ + +

The local name of the + attribute to look for.

+
+ +
+ +

true if an attribute with the given local name and + namespace URI is specified or has a default value on this element, + false otherwise.

+
+
+ + + +
+
+ diff --git a/java/external/xdocs/dom/xml/core/definitions/entity-reference.xml b/java/external/xdocs/dom/xml/core/definitions/entity-reference.xml new file mode 100644 index 0000000..8eb64a6 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/entity-reference.xml @@ -0,0 +1,26 @@ + + +

EntityReference objects may be inserted into the + structure model when an entity reference is in the source document, or + when the user wishes to insert an entity reference. Note that character + references and references to predefined entities are considered to be + expanded by the HTML or XML processor so that characters are represented + by their Unicode equivalent rather than by an entity reference. Moreover, + the XML processor may completely expand references to entities while + building the structure model, instead of providing + EntityReference objects. If it does provide such objects, + then for a given EntityReference node, it may be that there + is no Entity node representing the referenced entity. If + such an Entity exists, then the subtree of the + EntityReference node is in general a copy of the + Entity node subtree. However, this may not be true when an + entity contains an unbound namespace + prefix. In such a case, because the namespace prefix resolution + depends on where the entity reference is, the descendants of the + EntityReference node may be bound to different + namespace URIs.

+

As for Entity nodes, EntityReference nodes and + all their descendants are + readonly.

+
+
diff --git a/java/external/xdocs/dom/xml/core/definitions/entity.xml b/java/external/xdocs/dom/xml/core/definitions/entity.xml new file mode 100644 index 0000000..331eeb3 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/entity.xml @@ -0,0 +1,57 @@ + + +

This interface represents an entity, either parsed or + unparsed, in an XML document. Note that this models the entity + itself not the entity declaration. Entity + declaration modeling has been left for a later Level of the DOM + specification.

+

The nodeName attribute that is inherited from + Node contains the name of the entity.

+

An XML processor may choose to completely expand entities before + the structure model is passed to the DOM; in this case there will + be no EntityReference nodes in the document tree.

+

XML does not mandate that a non-validating XML processor read + and process entity declarations made in the external subset or + declared in external parameter entities. This means + that parsed entities declared in the external subset + need not be expanded by some classes of applications, and that + the replacement value of the entity may not be available. When the + replacement value is available, the corresponding + Entity node's child list represents the structure of + that replacement text. Otherwise, the child list is empty.

+

The DOM Level 2 does not support editing Entity + nodes; if a user wants to make changes to the contents of an + Entity, every related EntityReference node + has to be replaced in the structure model by a clone of the + Entity's contents, and then the desired changes must be made + to each of those clones instead. Entity nodes and all their + descendants are readonly.

+

An Entity node does not have any parent.

+

If the entity contains an unbound namespace prefix, the + namespaceURI of the corresponding node in the + Entity node subtree is null. The same is + true for EntityReference nodes that refer to this entity, + when they are created using the createEntityReference + method of the Document interface. The DOM Level 2 does not + support any mechanism to resolve namespace prefixes.

+
+ +

The public identifier associated with the entity, if + specified. If the public identifier was not specified, this + is null.

+
+
+ +

The system identifier associated with the entity, if + specified. If the system identifier was not specified, this + is null.

+
+
+ +

For unparsed entities, the name of the notation for the + entity. For parsed entities, this is null.

+
+
+
+ diff --git a/java/external/xdocs/dom/xml/core/definitions/exceptions.xml b/java/external/xdocs/dom/xml/core/definitions/exceptions.xml new file mode 100644 index 0000000..c7dc508 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/exceptions.xml @@ -0,0 +1,90 @@ + + + + + +

DOM operations only raise exceptions in "exceptional" + circumstances, i.e., when an operation is impossible + to perform (either for logical reasons, because data is lost, or + because the implementation has become unstable). In general, DOM methods + return specific error values in ordinary + processing situations, such as out-of-bound errors when using + NodeList. +

+

Implementations should raise other exceptions under other circumstances. + For example, implementations should raise an implementation-dependent + exception if a null argument is passed.

+

Some languages and object systems do not support the concept of + exceptions. For such systems, error conditions may be indicated using + native error reporting mechanisms. For some bindings, for example, methods + may return error codes similar to those listed in the corresponding method + descriptions.

+
+ + unsigned short + +
+ +

An integer indicating the type of error generated.

+

Other numeric codes are reserved for W3C for possible future + use.

+
+ +

If index or size is negative, or greater than the + allowed value

+
+ +

If the specified range of text does not fit into a + DOMString

+
+ +

If any node is inserted somewhere it doesn't belong

+
+ +

If a node is used in a different document than the one that + created it (that doesn't support it)

+
+ +

If an invalid or illegal character is specified, such as in a + name. See production 2 + in the XML specification for the definition of a legal character, and + production 5 + for the definition of a legal name character.

+ +

If data is specified for a node which does not support + data

+ +

If an attempt is made to modify an object where modifications are + not allowed

+ +

If an attempt is made to reference a node in a context where it + does not exist

+ +

If the implementation does not support the requested + type of object or operation.

+ +

If an attempt is made to add an attribute that is already in use + elsewhere

+ + +

If an attempt is made to use an object that is not, or is no + longer, usable.

+ +

If an invalid or illegal string is specified.

+ +

If an attempt is made to modify the type of the underlying + object.

+ +

If an attempt is made to create or change an object in a way + which is incorrect with regard to namespaces.

+
+ +

If a parameter or an operation is not supported by the + underlying object.

+
+
diff --git a/java/external/xdocs/dom/xml/core/definitions/named-node-map.xml b/java/external/xdocs/dom/xml/core/definitions/named-node-map.xml new file mode 100644 index 0000000..47e7e04 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/named-node-map.xml @@ -0,0 +1,212 @@ + + + + +

Objects implementing the NamedNodeMap interface are + used to represent collections of nodes that can be accessed by name. Note + that NamedNodeMap does not inherit from + NodeList; NamedNodeMaps are not maintained in + any particular order. Objects contained in an object implementing + NamedNodeMap may also be accessed by an ordinal index, but + this is simply to allow convenient enumeration of the contents of a + NamedNodeMap, and does not imply that the DOM specifies an + order to these Nodes.

+

NamedNodeMap objects in the DOM are live.

+
+ +

Retrieves a node specified by name.

+ + +

The nodeName of a node to retrieve.

+ +
+ +

A Node (of any type) with the specified + nodeName, or null if it does not + identify any node in this map.

+
+ + + +
+ + +

Adds a node using its nodeName attribute. If a node with + that name is already present in this map, it is replaced by the new + one.

+

As the nodeName attribute is used to + derive the name which the node must be stored under, multiple + nodes of certain types (those that have a "special" string + value) cannot be stored as the names would clash. This is seen + as preferable to allowing nodes to be aliased.

+
+ + +

A node to store in this map. The node will later be + accessible using the value of its nodeName + attribute.

+ +
+ +

If the new Node replaces an existing node the + replaced Node is returned, otherwise null is + returned.

+
+ + +

WRONG_DOCUMENT_ERR: Raised if arg was created + from a different document than the one that created this map.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.

+

INUSE_ATTRIBUTE_ERR: Raised if arg is an + Attr that is already an attribute of another + Element object. The DOM user must explicitly clone + Attr nodes to re-use them in other elements.

+
+
+
+ +

Removes a node specified by name. When this map contains the + attributes attached to an element, if the removed attribute is + known to have a default value, an attribute immediately appears + containing the default value as well as the corresponding namespace + URI, local name, and prefix when applicable.

+ + +

The nodeName of the node to remove.

+
+ +
+ +

The node removed from this map if a node with such a name + exists.

+
+ + +

NOT_FOUND_ERR: Raised if there is no node named + name in this map.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.

+
+
+
+
+ +

Returns the indexth item in the map. + If index is greater than or equal to the number + of nodes in this map, this returns null.

+
+ + +

Index into this map.

+ +
+ +

The node at the indexth position in the map, or + null if that is not a valid index.

+
+ + + +
+ +

The number of nodes in this map. The range of valid child node + indices is 0 to length-1 + inclusive.

+
+ +

Retrieves a node specified by local name and namespace + URI. HTML-only DOM implementations do not need to implement this + method.

+ + +

The namespace URI of + the node to retrieve.

+
+ + +

The local name of the + node to retrieve.

+ +
+ +

A Node (of any type) with the specified + local name and namespace URI, or null if they do not + identify any node in this map.

+
+ + + +
+ + +

Adds a node using its namespaceURI and + localName. If a node with that namespace URI and that + local name is already present in this map, it is replaced by the new + one.

+

HTML-only DOM implementations do not need to implement this + method.

+
+ + +

A node to store in this map. The node will later be + accessible using the value of its namespaceURI and + localName attributes.

+ +
+ +

If the new Node replaces an existing node the + replaced Node is returned, otherwise null + is returned.

+
+ + +

WRONG_DOCUMENT_ERR: Raised if arg was created + from a different document than the one that created this map.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.

+

INUSE_ATTRIBUTE_ERR: Raised if arg is an + Attr that is already an attribute of another + Element object. The DOM user must explicitly clone + Attr nodes to re-use them in other elements.

+
+
+
+ +

Removes a node specified by local name and namespace URI. A + removed attribute may be known to have a default value when this map + contains the attributes attached to an element, as returned by the + attributes attribute of the Node interface. If so, an + attribute immediately appears containing the default value as well as + the corresponding namespace URI, local name, and prefix when + applicable.

+

HTML-only DOM implementations do not need to implement this + method.

+ + +

The namespace URI of + the node to remove.

+
+ + +

The local name of the + node to remove.

+
+ +
+ +

The node removed from this map if a node with such a local + name and namespace URI exists.

+
+ + +

NOT_FOUND_ERR: Raised if there is no node with the specified + namespaceURI and localName in this + map.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this map is readonly.

+
+
+
+
+
+ diff --git a/java/external/xdocs/dom/xml/core/definitions/node-list.xml b/java/external/xdocs/dom/xml/core/definitions/node-list.xml new file mode 100644 index 0000000..1180707 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/node-list.xml @@ -0,0 +1,35 @@ + + + + +

The NodeList interface provides the abstraction of an + ordered collection of nodes, without defining or constraining how this + collection is implemented. NodeList objects in the DOM are + live.

+

The items in the NodeList are accessible via an + integral index, starting from 0.

+
+ +

Returns the indexth item in the collection. + If index is greater than or equal to the number + of nodes in the list, this returns null.

+ + +

Index into the collection.

+ +
+ +

The node at the indexth position in the + NodeList, or null if that is not a + valid index.

+
+ + + +
+ +

The number of nodes in the list. The range of valid child node + indices is 0 to length-1 inclusive.

+
+
+ diff --git a/java/external/xdocs/dom/xml/core/definitions/node.xml b/java/external/xdocs/dom/xml/core/definitions/node.xml new file mode 100644 index 0000000..c8ed8a6 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/node.xml @@ -0,0 +1,548 @@ + + + + + +

The Node interface is the primary datatype for the entire Document Object Model. + It represents a single node in the document tree. While all objects + implementing the Node interface expose methods for dealing with children, not all objects + implementing the Node interface may have children. For example, Text nodes may not have children, and adding children to such nodes results + in a DOMException being raised.

+

The attributes nodeName, nodeValue and attributes are included as a mechanism to get at node information without casting + down to the specific derived interface. In cases where there is no obvious + mapping of these attributes for a specific nodeType (e.g., nodeValue for an Element or attributes for a Comment), this returns null. Note that the specialized interfaces may contain additional and more + convenient mechanisms to get and set the relevant information.

+
+ + +

An integer indicating which type of node this is.

+ +

Numeric codes up to 200 are reserved to W3C for possible future + use.

+
+
+ + +

The node is an Element.

+
+
+ + +

The node is an Attr.

+
+
+ + +

The node is a Text node.

+
+
+ + +

The node is a CDATASection.

+
+
+ + +

The node is an EntityReference.

+
+
+ + +

The node is an Entity.

+
+
+ + +

The node is a ProcessingInstruction.

+
+
+ + +

The node is a Comment.

+
+
+ + +

The node is a Document.

+
+
+ + +

The node is a DocumentType.

+
+
+ + +

The node is a DocumentFragment.

+
+
+ + +

The node is a Notation.

+
+
+
+

The values of nodeName, nodeValue, and attributes vary according to the node type as follows: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
InterfacenodeNamenodeValueattributes
Attrname of attributevalue of attributenull
CDATASection#cdata-sectioncontent of the CDATA Sectionnull
Comment#commentcontent of the commentnull
Document#documentnullnull
DocumentFragment#document-fragmentnullnull
DocumentTypedocument type namenullnull
Elementtag namenullNamedNodeMap
Entityentity namenullnull
EntityReferencename of entity referencednullnull
Notationnotation namenullnull
ProcessingInstructiontargetentire content excluding the targetnull
Text#textcontent of the text nodenull

+ + +

The name of this node, depending on its type; see the table above. +

+
+
+ + +

The value of this node, depending on its type; see the table above. + When it is defined to be null, setting it has no effect.

+
+ + + +

NO_MODIFICATION_ALLOWED_ERR: Raised when the node is readonly.

+
+
+
+ + + +

DOMSTRING_SIZE_ERR: Raised when it would return more characters + than fit in a DOMString variable on the implementation platform.

+
+
+
+
+ + +

A code representing the type of the underlying object, as defined + above.

+
+
+ + +

The parent of this node. All nodes, + except Attr, Document, DocumentFragment, Entity, and Notation may have a parent. However, if a node has just been created and not yet + added to the tree, or if it has been removed from the tree, this is null.

+
+
+ + +

A NodeList that contains all children of this node. If there are no children, this + is a NodeList containing no nodes.

+
+
+ + +

The first child of this node. If there is no such node, this returns null.

+
+
+ + +

The last child of this node. If there is no such node, this returns null.

+
+
+ + +

The node immediately preceding this node. If there is no such node, + this returns null.

+
+
+ + +

The node immediately following this node. If there is no such node, + this returns null.

+
+
+ + +

A NamedNodeMap containing the attributes of this node (if it is an Element) or null otherwise.

+
+
+ + +

The Document object associated with this node. This is also the Document object used to create new nodes. When this node is a Document or a DocumentType which is not used with any Document yet, this is null.

+
+
+ + +

Inserts the node newChild before the existing child node refChild. If refChild is null, insert newChild at the end of the list of children.

+

If newChild is a DocumentFragment object, all of its children are inserted, in the same order, before refChild. If the newChild is already in the tree, it is first removed.

+
+ + + +

The node to insert.

+
+ + + +

The reference node, i.e., the node before which the new node must + be inserted.

+
+ +
+ + +

The node being inserted.

+
+
+ + + +

HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does + not allow children of the type of the newChild node, or if the node to insert is one of this node's + ancestors.

+

WRONG_DOCUMENT_ERR: Raised if newChild was created from a different document than the one that created this + node.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly or if + the parent of the node being inserted is readonly.

+

NOT_FOUND_ERR: Raised if refChild is not a child of this node.

+
+
+
+
+ + +

Replaces the child node oldChild with newChild in the list of children, and returns the oldChild node.

+

If newChild is a DocumentFragment object, oldChild is replaced by all of the DocumentFragment children, which are inserted in the same order. If the newChild is already in the tree, it is first removed.

+
+ + + +

The new node to put in the child list.

+
+ + + +

The node being replaced in the list.

+
+ +
+ + +

The node replaced.

+
+
+ + + +

HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does + not allow children of the type of the newChild node, or if the node to put in is one of this node's + ancestors.

+

WRONG_DOCUMENT_ERR: Raised if newChild was created from a different document than the one that created this + node.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node or the parent of + the new node is readonly.

+

NOT_FOUND_ERR: Raised if oldChild is not a child of this node.

+
+
+
+
+ + +

Removes the child node indicated by oldChild from the list of children, and returns it.

+
+ + + +

The node being removed.

+
+ +
+ + +

The node removed.

+
+
+ + + +

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

+

NOT_FOUND_ERR: Raised if oldChild is not a child of this node.

+
+
+
+
+ + +

Adds the node newChild to the end of the list of children of this node. If the newChild is already in the tree, it is first removed.

+
+ + + +

The node to add.

+

If it is a DocumentFragment object, the entire contents of the document fragment are moved into the + child list of this node

+
+ +
+ + +

The node added.

+
+
+ + + +

HIERARCHY_REQUEST_ERR: Raised if this node is of a type that does + not allow children of the type of the newChild node, or if the node to append is one of this node's + ancestors.

+

WRONG_DOCUMENT_ERR: Raised if newChild was created from a different document than the one that created this + node.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

+
+
+
+
+ + +

Returns whether this node has any children.

+
+ + + + +

true if this node has any children, false otherwise.

+
+
+ + +
+ + +

Returns a duplicate of this node, i.e., serves as a generic copy + constructor for nodes. The duplicate node has no parent; (parentNode is null.).

+

Cloning an Element copies all attributes and their values, including those generated by + the XML processor to represent defaulted attributes, but this method does not + copy any text it contains unless it is a deep clone, since the text is + contained in a child Text node. Cloning an Attribute directly, as opposed to be cloned as part of an Element cloning operation, returns a specified attribute (specified is true). Cloning any other type of node simply returns a copy of this + node.

+

Note that cloning an immutable subtree results in a mutable copy, but + the children of an EntityReference clone are readonly. In + addition, clones of unspecified Attr nodes are specified. And, cloning Document, DocumentType, Entity, and Notation nodes is implementation dependent.

+
+ + + +

If true, recursively clone the subtree under the specified node; if false, clone only the node itself (and its attributes, if it is an Element).

+
+ +
+ + +

The duplicate node.

+
+
+ + +
+ + + +

Puts all Text nodes in the full depth of the sub-tree underneath this Node, including attribute nodes, into a "normal" form where only structure + (e.g., elements, comments, processing instructions, CDATA sections, and entity + references) separates Text nodes, i.e., there are neither adjacent Text nodes nor empty Text 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 CDATASections, the normalize operation alone may not be sufficient, since XPointers + do not differentiate between Text nodes and CDATASection nodes.

+
+
+ + + + +

+
+
+ + +
+ + +

Tests whether the DOM implementation implements a specific feature and + that feature is supported by this node.

+
+ + + +

The name of the feature to test. This is the same name which can + be passed to the method hasFeature on DOMImplementation.

+
+ + + +

This is the version number of the feature to test. In Level 2, + version 1, this is the string "2.0". If the version is not specified, + supporting any version of the feature will cause the method to return true.

+
+ +
+ + +

Returns true if the specified feature is supported on this node, false otherwise.

+
+
+ + +
+ + +

The namespace URI of this + node, or null if it is unspecified.

+

This is not a computed value that is the result of a namespace lookup + based on an examination of the namespace declarations in scope. It is merely + the namespace URI given at creation time.

+

For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE and nodes created with a DOM Level 1 method, such as createElement from the Document interface, this is always null.

+ +

Per the Namespaces in XML Specification + an attribute does not inherit its namespace from the + element it is attached to. If an attribute is not explicitly given a namespace, + it simply has no namespace.

+
+
+
+ + +

The namespace prefix of + this node, or null if it is unspecified.

+

Note that setting this attribute, when permitted, changes the nodeName attribute, which holds the qualified + name, as well as the tagName and name attributes of the Element and Attr interfaces, when applicable.

+

Note also that changing the prefix of an attribute that is known to + have a default value, does not make a new attribute with the default value and + the original prefix appear, since the namespaceURI and localName do not change.

+

For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE and nodes created with a DOM Level 1 method, such as createElement from the Document interface, this is always null.

+
+ + + +

INVALID_CHARACTER_ERR: Raised if the specified prefix contains an + illegal character.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

+

NAMESPACE_ERR: Raised if the specified prefix is malformed, if the namespaceURI of this node is null, if the specified prefix is "xml" and the namespaceURI of this node is different from "&xml-ns;", + if this node is an attribute and the specified prefix is "xmlns" and the namespaceURI of this node is different from "&xmlns-ns;", or if this node is an attribute and the qualifiedName of this node is "xmlns" .

+
+
+
+
+ + +

Returns the local part of the qualified name of this node.

+

For nodes of any type other than ELEMENT_NODE and ATTRIBUTE_NODE and nodes created with a DOM Level 1 method, such as createElement from the Document interface, this is always null.

+
+
+ + +

Returns whether this node (if it is an element) has any + attributes.

+
+ + + + +

true if this node has any attributes, false otherwise.

+
+
+ + +
+
diff --git a/java/external/xdocs/dom/xml/core/definitions/notation.xml b/java/external/xdocs/dom/xml/core/definitions/notation.xml new file mode 100644 index 0000000..f5c3249 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/notation.xml @@ -0,0 +1,30 @@ + + + + +

This interface represents a notation declared in the DTD. A notation + either declares, by name, the format of an unparsed entity (see section 4.7 + of the XML 1.0 specification ), or is used for formal + declaration of + processing instruction targets (see section 2.6 of the XML 1.0 + specification ). The nodeName attribute + inherited from + Node is set to the declared name of the notation.

+

The DOM Level 1 does not support editing Notation + nodes; they are therefore + readonly.

+

A Notation node does not have any parent.

+
+ +

The public identifier of this notation. If the + public identifier was not specified, this is null.

+
+
+ +

The system identifier of this notation. If the + system identifier was not specified, this is null.

+
+
+
diff --git a/java/external/xdocs/dom/xml/core/definitions/pi.xml b/java/external/xdocs/dom/xml/core/definitions/pi.xml new file mode 100644 index 0000000..2d631b9 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/pi.xml @@ -0,0 +1,27 @@ + + + + +

The ProcessingInstruction interface + represents a "processing instruction", used in XML + as a way to keep processor-specific information in the text of the + document.

+ +

The target of this processing instruction. XML defines this as + being the first token following the + markup that begins the processing instruction.

+
+ +

The content of this processing instruction. This + is from the first non white space character after the target + to the character immediately preceding the ?>.

+
+ + +

NO_MODIFICATION_ALLOWED_ERR: Raised when the node is + readonly.

+
+
+
+
+ diff --git a/java/external/xdocs/dom/xml/core/definitions/text.xml b/java/external/xdocs/dom/xml/core/definitions/text.xml new file mode 100644 index 0000000..05af526 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/definitions/text.xml @@ -0,0 +1,48 @@ + + + + + +

The Text interface inherits from CharacterData and represents the textual content (termed + character data in XML) of an Element or Attr. If there is no markup inside an element's content, the text is + contained in a single object implementing the Text interface that is the only child of the element. If there is markup, it + is parsed into the information items + (elements, comments, etc.) and Text nodes that form the list of children of the element.

+

When a document is first made available via the DOM, there is only one Text node for each block of text. Users may create adjacent Text nodes that represent the contents of a given element without any + intervening markup, but should be aware that there is no way to represent the + separations between these nodes in XML or HTML, so they will not (in general) + persist between DOM editing sessions. The normalize() method on Node merges any such adjacent Text objects into a single node for each block of text.

+
+ + +

Breaks this node into two nodes at the specified offset, keeping both in the tree as siblings. After being split, this node will contain + all the content up to the offset point. A new node of the same type, which contains all the content at + and after the offset point, is returned. If the original node had a parent node, the new + node is inserted as the next sibling of the + original node. When the offset is equal to the length of this node, the new node has no data.

+
+ + + +

The 16-bit unit offset at + which to split, starting from 0.

+
+ +
+ + +

The new node, of the same type as this node.

+
+
+ + + +

INDEX_SIZE_ERR: Raised if the specified offset is negative or + greater than the number of 16-bit units in data.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this node is readonly.

+
+
+
+
+
diff --git a/java/external/xdocs/dom/xml/core/dom-spec.xml b/java/external/xdocs/dom/xml/core/dom-spec.xml new file mode 100644 index 0000000..1018f89 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/dom-spec.xml @@ -0,0 +1,181 @@ + + + + +%version; + +%links; + +%parts; + +]> + + + +&options; + +
+Document Object Model (DOM) Level 2 Core Specification +1.0 &doc.prefix;-&doc.date; + W3C Recommendation +&date.day; &date.month; &date.year; + + &this.url; +&ps.loc; +&pdf.loc; +&txt.loc; +&zip.loc; + + &latest.url; + +&prev.locs; + + + +Arnaud Le Hors +W3C team contact until October 1999, then IBM + + +Philippe Le Hégaret +W3C, team contact (from November 1999) + + Lauren Wood +SoftQuad Software Inc., WG Chair + + + Gavin Nicol + Inso EPS (for DOM Level 1) + + +Jonathan Robie +Texcel Research and Software AG (for DOM Level 1) + + + Mike Champion + ArborText and Software AG (for DOM Level 1 from November 20, + 1997) + + + Steve Byrne + JavaSoft (for DOM Level 1 until November 19, + 1997) + + + + + +

This specification defines the Document Object Model Level 2 Core, a platform- +and language-neutral interface that allows programs and scripts to dynamically +access and update the content and structure of documents. The Document +Object Model Level 2 Core builds on the Document Object Model Level 1 Core.

+ +

The DOM Level 2 Core is made of a set of core interfaces to create and +manipulate the structure and contents of a document. The Core also contains +specialized interfaces dedicated to XML.

+ +
+ +&status; + + +

Created in electronic form.

+
+ +English + + +

$Revision$

+
+ +
+ + &toc; + ©right; + &introduction; + + + + &core; + + + + &core-changes; + &i18nfunctions; + + + IDL Definitions + +

This appendix contains the complete OMG IDL for + the Level 2 Document Object Model Core definitions.

+ +

The IDL files are also available as: &this.url;/idl.zip

+ + + +
+ + + Java Language Binding + +

This appendix contains the complete Java Language + binding for the Level 2 Document Object Model Core.

+ +

The Java files are also available as &this.url;/java-binding.zip

+ + + +
+ + ECMAScript Language Binding + +

This appendix contains the complete ECMAScript binding for the Level 2 Document Object Model Core + definitions.

+ + +

+ Exceptions handling is only supported by ECMAScript implementation + conformant with the Standard ECMA-262 3rd. Edition (). +

+
+ + + +
+ &contributors; + &glossary; + &references; + &index; +
+
diff --git a/java/external/xdocs/dom/xml/core/i18nfunctions.xml b/java/external/xdocs/dom/xml/core/i18nfunctions.xml new file mode 100644 index 0000000..2311263 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/i18nfunctions.xml @@ -0,0 +1,149 @@ + + + + + Accessing code point boundaries + + + Mark Davis + IBM + + + Lauren Wood + SoftQuad Software Inc. + + + + Introduction +

+ This appendix is an informative, not a normative, part of the Level 2 DOM + specification. +

+ +

+ Characters are represented in Unicode by numbers called code + points (also called scalar values). These numbers can range + from 0 up to 1,114,111 = 10FFFF16 (although some of these values are + illegal). Each code point can be directly encoded with a 32-bit code unit. + This encoding is termed UCS-4 (or UTF-32). + The DOM specification, however, uses UTF-16, in which the most frequent + characters (which have values less than FFFF16) are represented + by a single 16-bit code unit, while characters above FFFF16 + use a special pair of code units called a surrogate pair. For more information, + see or the Unicode Web site. +

+ +

+ While indexing by code points as opposed to code units is not + common in programs, some specifications such as XPath (and therefore XSLT + and XPointer) use code point + indices. For interfacing with such formats it is recommended + that the programming language provide string processing methods for + converting code point indices to code unit indices and back. Some + languages do not provide these functions natively; for these it is + recommended that the native String type that is bound to + DOMString be extended to enable this conversion. An example + of how such an API might look is supplied below. +

+ +

+ Since these methods are supplied as an illustrative example of the type + of functionality that is required, the names of the methods, + exceptions, and interface may differ from those given here. +

+
+ +
+ + Methods + + + +

Extensions to a language's native String class or interface

+
+ + +

Returns the UTF-16 offset that corresponds to a UTF-32 offset. + Used for random access.

+ +

+ You can always round-trip from a UTF-32 offset to a UTF-16 + offset and back. You can round-trip from a UTF-16 offset to + a UTF-32 offset and back if and only if the offset16 is not + in the middle of a surrogate pair. Unmatched surrogates + count as a single UTF-16 value. +

+
+
+ + + +

+ UTF-32 offset. +

+
+ +
+ + +

UTF-16 offset

+
+
+ + + +

+ if offset32 is out of bounds. +

+
+
+
+
+ + +

+ Returns the UTF-32 offset corresponding to a UTF-16 offset. Used + for random access. To find the UTF-32 length of a string, use: + len32 = findOffset32(source, source.length()); +

+ +

+ If the UTF-16 offset is into the middle of a surrogate pair, + then the UTF-32 offset of the end of the pair is + returned; that is, the index of the char after the end of the + pair. You can always round-trip from a UTF-32 offset to a UTF-16 + offset and back. You can round-trip from a UTF-16 offset to a + UTF-32 offset and back if and only if the offset16 is not in + the middle of a surrogate pair. Unmatched surrogates count as a + single UTF-16 value. +

+
+
+ + + +

UTF-16 offset

+
+ +
+ + +

UTF-32 offset

+
+
+ + + +

if offset16 is out of bounds.

+
+
+
+
+
+
+
+
diff --git a/java/external/xdocs/dom/xml/core/introduction.xml b/java/external/xdocs/dom/xml/core/introduction.xml new file mode 100644 index 0000000..3ae4108 --- /dev/null +++ b/java/external/xdocs/dom/xml/core/introduction.xml @@ -0,0 +1,431 @@ + + + + + What is the Document Object Model? + + + + Philippe Le Hégaret + W3C + + + Lauren Wood + SoftQuad Software Inc., WG Chair + + + Jonathan Robie + Texcel (for DOM Level 1) + + + + + Introduction +

The Document Object Model (DOM) is an application programming interface + (API) for valid HTML and + well-formed XML documents. It defines the logical structure of documents and + the way a document is accessed and manipulated. In the DOM specification, + the term "document" is used in the broad sense - increasingly, XML is being used as a + way of representing many different kinds of information that may + be stored in diverse systems, and much of this would traditionally + be seen as data rather than as documents. Nevertheless, XML presents + this data as documents, and the DOM may be used to manage this data.

+ +

With the Document + Object Model, programmers can build documents, navigate + their structure, and add, modify, or delete elements and content. + Anything found in an HTML or XML document can be accessed, + changed, deleted, or added using the Document Object Model, + with a few exceptions - in particular, the DOM interfaces for + the XML internal and external subsets have not yet been specified.

+

As a W3C specification, one important objective for the Document + Object Model is to provide a standard programming interface that + can be used in a wide variety of environments and applications. + The DOM is designed to be used with any programming + language. In order to provide a precise, language-independent + specification of the DOM interfaces, we have chosen to define + the specifications in Object Management Group (OMG) IDL , as defined in the CORBA 2.3.1 specification . In addition to the OMG IDL specification, we provide + language bindings for Java and ECMAScript (an industry-standard scripting + language based on JavaScript and JScript + ).

+

OMG IDL is used only as a language-independent and + implementation-neutral way to specify interfaces. Various other + IDLs could have been used (, , , ...). In general, IDLs + are designed for specific computing environments. The Document Object + Model can be implemented in any computing environment, and does not + require the object binding runtimes generally associated with + such IDLs. +

+ +
+ + What the Document Object Model is +

The DOM is a programming API for documents. + It is based on an object structure that closely resembles the structure of the + documents it models. For instance, consider this table, taken + from an HTML document:

+ + <TABLE> + <TBODY> + <TR> + <TD>Shady Grove</TD> + <TD>Aeolian</TD> + </TR> + <TR> + <TD>Over the River, Charlie</TD> + <TD>Dorian</TD> + </TR> + </TBODY> + </TABLE> + +

A graphical representation of the DOM of the example table is: + +

+

In the DOM, documents have a logical + structure which is very much like a tree; to be more precise, which is + like a "forest" or "grove", + which can contain more than one tree. Each document contains zero or one + doctype nodes, one root element node, and zero or more comments + or processing instructions; the root element serves as the root + of the element tree for the document. However, the DOM + does not specify that documents must be implemented as a + tree or a grove, nor + does it specify how the relationships among objects be + implemented. The DOM is a logical model that may be implemented in any + convenient manner. In this + specification, we use the term structure model to + describe the tree-like representation of a document. + We also use the term "tree" when referring to the arrangement of + those information items which can be reached by using "tree-walking" + methods; (this does not include attributes). + One important property of DOM structure models + is structural isomorphism: if any two Document + Object Model implementations are used to create a representation + of the same document, they will create the same structure model, + in accordance with the XML Information Set .

+

There may be some variations depending on the parser being + used to build the DOM. For instance, the DOM may not contain + whitespaces in element content if the parser discards them.

+
+

The name "Document Object Model" was chosen because + it is an "object model" in the traditional + object oriented design sense: documents are modeled using + objects, and the model encompasses not only the structure of a + document, but also the behavior of a document and the objects + of which it is composed. In other words, the nodes in the + above diagram do not represent a data structure, they + represent objects, which have functions and identity. As an + object model, the DOM identifies:

+ +

the interfaces and objects used to represent and manipulate + a document

+

the semantics of these interfaces and objects - including + both behavior and attributes

+

the relationships and collaborations among these interfaces + and objects

+
+ +

The structure of SGML documents has traditionally been + represented by an abstract data model, not by an object model. + In an abstract data model, the model is centered around the + data. In object oriented programming languages, the data itself + is encapsulated in objects that hide the data, protecting it + from direct external manipulation. The functions associated with + these objects determine how the objects may be manipulated, and + they are part of the object model.

+ +
+ + What the Document Object Model is not +

This section is designed to give a more precise understanding + of the DOM by distinguishing it from other + systems that may seem to be like it.

+ +

The Document Object Model is not a binary specification. + DOM programs written in the same language binding will be + source code compatible across platforms, but the DOM + does not define any form of binary interoperability.

+

The Document Object Model is not a way of persisting objects + to XML or HTML. Instead of specifying how objects may be + represented in XML, the DOM specifies how + XML and HTML documents are represented as objects, so that + they may be used in object oriented programs.

+

The Document Object Model is not a set of data structures; + it is an object model that specifies interfaces. Although this + document contains diagrams showing parent/child relationships, + these are logical relationships defined by the programming + interfaces, not representations of any particular internal + data structures.

+

The Document Object Model does not define what information in a + document is relevant or how information in a document is + structured. For XML, this is specified by the W3C XML Information Set + . The DOM is simply an API to this information + set.

+

The Document Object Model, despite its name, is not a + competitor to the Component Object Model (COM). COM, like + CORBA, is a language independent way to specify interfaces and + objects; the DOM is a set of interfaces and + objects designed for managing HTML and XML documents. The DOM + may be implemented using language-independent systems like COM + or CORBA; it may also be implemented using language-specific + bindings like the Java or ECMAScript bindings specified in + this document.

+
+
+ + Where the Document Object Model came from +

The DOM originated as a specification to + allow JavaScript scripts and Java programs to be portable among + Web browsers. "Dynamic HTML" was the immediate ancestor of the + Document Object Model, and it was originally thought of largely + in terms of browsers. However, when the DOM + Working Group was formed at W3C, it was also joined by vendors in other + domains, including HTML or XML editors and document + repositories. Several of these vendors had worked with SGML + before XML was developed; as a result, the DOM + has been influenced by SGML Groves and the HyTime standard. Some + of these vendors had also developed their own object models for + documents in order to provide an API for SGML/XML + editors or document repositories, and these object models have + also influenced the DOM.

+
+ + + Entities and the DOM Core +

In the fundamental DOM interfaces, there are no objects representing + entities. Numeric character references, and references to the + pre-defined entities in HTML and XML, are replaced by the + single character that makes up the entity's replacement. + For example, in: +

+ + <p>This is a dog &amp; a cat</p> + +

+ the "&amp;" will be replaced by the character "&", and the text + in the P element will form a single continuous sequence of + characters. Since numeric character references and pre-defined entities + are not recognized as such in CDATA sections, or in the SCRIPT and STYLE + elements in HTML, they are not replaced by the single character they + appear to refer to. If the example above were enclosed in a CDATA + section, the "&amp;" would not be replaced by "&"; neither would + the <p> be recognized as a start tag. The representation of general + entities, both internal and external, are defined within the + extended (XML) interfaces of DOM Level 1 .

+

+ Note: When a DOM representation of a document is serialized + as XML or HTML text, applications will need to check each + character in text data to see if it needs to be escaped + using a numeric or pre-defined entity. Failing to do so + could result in invalid HTML or XML. Also, implementations should be + aware of the fact that serialization into a character encoding + ("charset") that does not fully cover ISO 10646 may fail if there are + characters in markup or CDATA sections that are not present in the + encoding.

+
+ + + Conformance +

+ This section explains the different levels of conformance to DOM Level 2. + DOM Level 2 consists of 14 modules. It is possible to conform to DOM + Level 2, or to a DOM Level 2 module. +

+ +

+ An implementation is DOM Level 2 conformant if it supports the Core + module defined in this document (see ). An + implementation conforms to a DOM Level 2 module if it supports all the + interfaces for that module and the associated semantics. +

+

+ Here is the complete list of DOM Level 2.0 modules and the features used + by them. Feature names are case-insensitive. +

+ + + + + +

+ defines the feature "Core". +

+
+
+ + + +

+ defines the feature "XML". +

+
+
+ + + +

defines the feature "HTML". (see ).

+ +

At time of publication, this DOM Level 2 module is not yet a W3C Recommendation.

+
+
+
+ + + +

defines the feature "Views" in .

+
+
+ + + +

defines the feature "StyleSheets" in .

+
+
+ + + +

defines the feature "CSS" in .

+
+
+ + + +

defines the feature "CSS2" in .

+
+
+ + + +

defines the feature "Events" in .

+
+
+ + + +

defines the feature "UIEvents" in .

+
+
+ + + +

defines the feature "MouseEvents" in .

+
+
+ + + +

defines the feature "MutationEvents" in .

+
+
+ + + +

defines the feature "HTMLEvents" in .

+
+
+ + + +

defines the feature "Range" in .

+
+
+ + + +

defines the feature "Traversal" in .

+
+
+
+ +

+ A DOM implementation must not return "true" to the + hasFeature(feature, version) method of the DOMImplementation + interface for that feature unless the implementation conforms to that + module. The version number for all features used in DOM + Level 2.0 is "2.0". +

+ +
+ + DOM Interfaces and DOM Implementations + +

The DOM specifies interfaces which may be used to manage XML or + HTML documents. It is important to realize that these interfaces + are an abstraction - much like "abstract base classes" in C++, + they are a means of specifying a way to access and manipulate an + application's internal representation of a document. Interfaces + do not imply a particular concrete + implementation. Each DOM application is free to maintain + documents in any convenient representation, as long as the + interfaces shown in this specification are supported. Some + DOM implementations will be existing programs that use the + DOM interfaces to access software written long before the + DOM specification existed. Therefore, the DOM is designed + to avoid implementation dependencies; in particular,

+ +

Attributes defined in the IDL do not imply concrete + objects which must have specific data members - in the + language bindings, they are translated to a pair of + get()/set() functions, not to a data member. Read-only + attributes have only a get() function in the language + bindings.

+
+

DOM applications may provide additional interfaces + and objects not found in this specification and still be + considered DOM conformant.

+

Because we specify interfaces and not the actual + objects that are to be created, the DOM cannot know what + constructors to call for an implementation. In general, + DOM users call the createX() methods on the Document + class to create document structures, and DOM + implementations create their own internal representations + of these structures in their implementations of the + createX() functions. +

+
+

+ The Level 1 interfaces were extended to provide both Level 1 and Level 2 + functionality. +

+

+ DOM implementations in languages other than Java or ECMAScript may + choose bindings that are appropriate and natural for their language and + run time environment. For example, some systems may need to create a + Document2 class which inherits from Document and contains the new methods + and attributes. +

+

DOM Level 2 does not specify multithreading mechanisms.

+
+
+ + diff --git a/java/external/xdocs/dom/xml/events/definitions/documentevent.xml b/java/external/xdocs/dom/xml/events/definitions/documentevent.xml new file mode 100644 index 0000000..572304d --- /dev/null +++ b/java/external/xdocs/dom/xml/events/definitions/documentevent.xml @@ -0,0 +1,52 @@ + + + + + + +

+ The DocumentEvent interface provides a mechanism by + which the user can create an Event of a type supported by the implementation. + It is expected that the DocumentEvent interface will be implemented + on the same object which implements the Document interface in an + implementation which supports the Event model. +

+
+ + + +

+
+ + + +

The eventType parameter specifies the type of Event interface + to be created. If the Event interface specified is supported by the implementation + this method will return a new Event of the interface type requested. If the + Event is to be dispatched via the dispatchEvent method the + appropriate event init method must be called after creation in order to initialize + the Event's values. As an example, a user wishing to synthesize some kind of + UIEvent would call createEvent with the parameter "UIEvents". The + initUIEvent method could then be called on the newly created UIEvent + to set the specific type of UIEvent to be dispatched and set its context information.

+

The createEvent method is used in creating Events when it is either + inconvenient or unnecessary for the + user to create an Event themselves. In cases where the implementation provided + Event is insufficient, users may supply their own Event + implementations for use with the dispatchEvent method.

+
+ +
+ +

The newly created Event

+
+ + +

NOT_SUPPORTED_ERR: Raised if the implementation does not support + the type of Event interface requested

+
+
+
+
+ +
diff --git a/java/external/xdocs/dom/xml/events/definitions/event.xml b/java/external/xdocs/dom/xml/events/definitions/event.xml new file mode 100644 index 0000000..acb8133 --- /dev/null +++ b/java/external/xdocs/dom/xml/events/definitions/event.xml @@ -0,0 +1,169 @@ + + + + + + +

The Event interface is used to provide contextual information about an event + to the handler processing the event. An object which implements the Event interface + is generally passed as the first parameter to an event handler. More specific + context information is passed to event handlers by deriving additional interfaces from + Event which contain information directly relating to the type of event + they accompany. These derived interfaces are also implemented by the object passed to the + event listener. +

+
+ + +

An integer indicating which phase of event flow is being processed.

+ +

The current event phase is the capturing phase.

+
+ +

The event is currently being evaluated at the target EventTarget.

+
+ +

The current event phase is the bubbling phase.

+
+
+ + + +

The name of the event (case-insensitive). The name must be an XML + name.

+
+
+ + + +

Used to indicate the EventTarget to which the event + was originally dispatched. +

+
+
+ + + +

Used to indicate the EventTarget whose + EventListeners are currently being processed. This is particularly + useful during capturing and bubbling. +

+
+
+ + + +

Used to indicate which phase of event flow is currently + being evaluated. +

+
+
+ + + +

Used to indicate whether or not an event is a bubbling event. + If the event can bubble the value is true, else the value is false. +

+
+
+ + + +

Used to indicate whether or not an event can have its default + action prevented. If the default action can be prevented the value is true, else the value is false. +

+
+
+ + + +

+ Used to specify the time (in milliseconds relative + to the epoch) at which the event was created. Due to the fact that some + systems may not provide this information the value of + timeStamp may be not available for all events. When not + available, a value of 0 will be returned. Examples of epoch time are + the time of the system start or 0:0:0 UTC 1st January 1970. +

+
+
+ + + +

The stopPropagation method is used prevent further propagation of an event during + event flow. If this method is called by any EventListener the event will cease + propagating through the tree. The event will complete dispatch to all listeners on the current + EventTarget before event flow stops. This method may be used during any stage of + event flow.

+
+ + + +

+
+ + + +
+ + + +

If an event is cancelable, the preventDefault method is used + to signify that the event is to be canceled, meaning any default action normally + taken by the implementation as a result of the event will not occur. If, during any stage of event flow, + the preventDefault method is called the event is canceled. + Any default action associated with the event will not occur. Calling this method + for a non-cancelable event has no effect. Once preventDefault has been + called it will remain in effect throughout the remainder of the event's propagation. This + method may be used during any stage of event flow. +

+
+ + + +

+
+ + + +
+ + + +

The initEvent method is used to initialize the value of an Event created through + the DocumentEvent interface. This method may only be called before the Event has + been dispatched via the dispatchEvent method, though it may be called multiple times during that + phase if necessary. If called multiple times the final invocation takes precedence. If called from a + subclass of Event interface only the values specified in the initEvent method are + modified, all other attributes are left unchanged.

+
+ + +

Specifies the event type. This type may be any event type currently + defined in this specification or a new event type.. The string must + be an XML name.

+

Any new event type must not begin with any upper, lower, or mixed case version + of the string "DOM". This prefix is reserved for future DOM event sets. It is also + strongly recommended that third parties adding their own events use their own prefix to avoid + confusion and lessen the probability of conflicts with other new events.

+
+ + +

Specifies whether or not the event can bubble.

+
+ + +

Specifies whether or not the event's default + action can be prevented.

+
+ +
+ +

+
+ + + +
+ +
diff --git a/java/external/xdocs/dom/xml/events/definitions/eventcapturer.xml b/java/external/xdocs/dom/xml/events/definitions/eventcapturer.xml new file mode 100644 index 0000000..74f7c5c --- /dev/null +++ b/java/external/xdocs/dom/xml/events/definitions/eventcapturer.xml @@ -0,0 +1,70 @@ + + + + + + +

The EventCapturer interface is implemented by Node's which are + designated as being able to capture events. +

+
+ + + +

This method is used when a capturing Node wishes to begin + capturing a particular type of event. +

+
+ + +

The name of the event to be captured

+ +
+ +

+
+ + + +
+ + + +

This method is used when a capturing Node wishes to cease + capturing a particular type of event. +

+
+ + +

The name of the event to be released

+ +
+ +

+
+ + + +
+ + + +

This method is called during the handling of an event by a capturing + Node to continue the event's flow to additional event handlers, or if none + are present, to the event's target. +

+
+ + + +

+
+ + + +
+ +
+ + diff --git a/java/external/xdocs/dom/xml/events/definitions/eventexception.xml b/java/external/xdocs/dom/xml/events/definitions/eventexception.xml new file mode 100644 index 0000000..ffcd2dc --- /dev/null +++ b/java/external/xdocs/dom/xml/events/definitions/eventexception.xml @@ -0,0 +1,34 @@ + + + + + +

+ Event operations may throw an EventException as specified in + their method descriptions. +

+
+ + + unsigned short + + +
+ + + +

+ An integer indicating the type of error generated. +

+
+ + +

+ If the Event's type was not specified by initializing the + event before the method was called. Specification of the Event's type + as null or an empty string will also trigger this + exception. +

+
+
+
diff --git a/java/external/xdocs/dom/xml/events/definitions/eventlistener.xml b/java/external/xdocs/dom/xml/events/definitions/eventlistener.xml new file mode 100644 index 0000000..7ca15ac --- /dev/null +++ b/java/external/xdocs/dom/xml/events/definitions/eventlistener.xml @@ -0,0 +1,50 @@ + + + + + + +

+ The EventListener interface is the primary method for + handling events. Users implement the EventListener interface + and register their listener on an EventTarget using the + AddEventListener method. The users should also remove their + EventListener from its EventTarget after they + have completed using the listener. +

+

+ When a Node is copied using the cloneNode method + the EventListeners attached to the source Node are + not attached to the copied Node. If the user wishes the same + EventListeners to be added to the newly created copy the user must add them manually. +

+
+ + + +

+ This method is called whenever an event occurs of the type for which + the EventListener interface was registered. +

+
+ + + +

+ The Event contains contextual information about the + event. It also contains the stopPropagation and + preventDefault methods which are used in determining the event's flow and default + action. +

+
+ +
+ +

+
+ + + +
+
diff --git a/java/external/xdocs/dom/xml/events/definitions/eventtarget.xml b/java/external/xdocs/dom/xml/events/definitions/eventtarget.xml new file mode 100644 index 0000000..9ac12d2 --- /dev/null +++ b/java/external/xdocs/dom/xml/events/definitions/eventtarget.xml @@ -0,0 +1,129 @@ + + + + + + +

+ The EventTarget interface is implemented by all + Nodes in an implementation which supports the DOM Event + Model. Therefore, this interface can be obtained by using + binding-specific casting methods on an instance of the Node + interface. The interface allows registration and removal of + EventListeners on an EventTarget and dispatch + of events to that EventTarget.

+
+ + + +

This method allows the registration of event listeners on the event target. + If an EventListener is added to an EventTarget while it is + processing an event, it will not be triggered by the current actions but may be + triggered during a later stage of event flow, such as the bubbling phase. +

+

+ If multiple identical EventListeners are registered on the same + EventTarget with the same parameters the duplicate instances are discarded. + They do not cause the EventListener to be called twice and since they are + discarded they do not need to be removed with the removeEventListener method. +

+
+ + +

The event type for which the user is registering

+ + +

The listener parameter takes an interface implemented by + the user which contains the methods to be called when the event occurs.

+ + +

If true, useCapture indicates that the user wishes to initiate + capture. After initiating capture, all events of the specified type will be + dispatched to the registered EventListener before being dispatched to any + EventTargets beneath them in the tree. Events which are bubbling upward + through the tree will not trigger an EventListener designated to use + capture.

+
+ +
+ +

+
+ + + +
+ + + +

This method allows the removal of event listeners from the event target. If an + EventListener is removed from an EventTarget while it is + processing an event, it will not be triggered by the current actions. EventListeners + can never be invoked after being removed.

+

Calling removeEventListener with arguments which do not identify any + currently registered EventListener on the EventTarget + has no effect.

+
+ + +

Specifies the event type of the EventListener being removed. +

+
+ + +

The EventListener parameter indicates the EventListener + to be removed. +

+ + +

Specifies whether the EventListener being removed was registered as a + capturing listener or not. If a listener was registered twice, one with capture and one + without, each must be removed separately. Removal of a capturing listener does not + affect a non-capturing version of the same listener, and vice versa. +

+ +
+ +

+
+ + + +
+ + + +

This method allows the dispatch of events into the implementations event model. Events + dispatched in this manner will have the same capturing and bubbling behavior as events + dispatched directly by the implementation. The target of the event is the + EventTarget on which dispatchEvent is called. +

+
+ + +

Specifies the event type, behavior, and contextual information to be used + in processing the event.

+
+ +
+ +

The return value of dispatchEvent indicates whether any of + the listeners which handled the event called preventDefault. If + preventDefault was called the value is false, else the value is true. +

+
+ + +

UNSPECIFIED_EVENT_TYPE_ERR: Raised if the + Event's type was not specified by initializing the + event before dispatchEvent was called. + Specification of the Event's type as + null or an empty string will also trigger this + exception.

+
+
+
+
+ +
diff --git a/java/external/xdocs/dom/xml/events/definitions/mouseevent.xml b/java/external/xdocs/dom/xml/events/definitions/mouseevent.xml new file mode 100644 index 0000000..7a90248 --- /dev/null +++ b/java/external/xdocs/dom/xml/events/definitions/mouseevent.xml @@ -0,0 +1,197 @@ + + + + + + +

The MouseEvent interface provides specific contextual + information associated with Mouse events.

+

The detail attribute inherited from UIEvent + indicates the number of times a mouse button has been pressed and + released over the same screen location during a user action. The + attribute value is 1 when the user begins this action and increments by 1 + for each full sequence of pressing and releasing. If the user moves the + mouse between the mousedown and mouseup the value will be set to 0, + indicating that no click is occurring.

+

In the case of nested elements mouse events are always targeted at the + most deeply nested element. Ancestors of the targeted element may use + bubbling to obtain notification of mouse events which occur within its + descendent elements.

+
+ + + +

The horizontal coordinate at which the + event occurred relative to the origin of the screen coordinate + system.

+
+
+ + + +

The vertical coordinate at which the + event occurred relative to the origin of the screen coordinate + system.

+
+
+ + + +

The horizontal coordinate at which the + event occurred relative to the DOM implementation's client area.

+
+
+ + + +

The vertical coordinate at which the + event occurred relative to the DOM implementation's client area.

+ +
+
+ + + +

Used to indicate whether the 'ctrl' key was depressed + during the firing of the event.

+
+
+ + + +

Used to indicate whether the 'shift' key was depressed + during the firing of the event.

+
+
+ + + +

Used to indicate whether the 'alt' key was depressed + during the firing of the event. On some platforms this key may map to + an alternative key name.

+
+
+ + + +

Used to indicate whether the 'meta' key was depressed + during the firing of the event. On some platforms this key may map to + an alternative key name.

+
+
+ + + +

During mouse events caused by the depression or release of a mouse + button, button is used to indicate which mouse button + changed state. The values for button range from zero to indicate + the left button of the mouse, one to indicate the middle button if present, and + two to indicate the right button. For mice configured for left handed use in which + the button actions are reversed the values are instead read from right to left.

+
+
+ + + +

Used to identify a secondary EventTarget related + to a UI event. Currently this attribute is used with the mouseover event to indicate the + EventTarget which the pointing device exited and with the mouseout event to indicate the + EventTarget which the pointing device entered.

+
+
+ + + +

The initMouseEvent method is used to initialize the value of a MouseEvent created through + the DocumentEvent interface. This method may only be called before the MouseEvent has + been dispatched via the dispatchEvent method, though it may be called multiple times during that + phase if necessary. If called multiple times, the final invocation takes precedence.

+
+ + +

Specifies the event type.

+
+ + +

Specifies whether or not the event can bubble.

+
+ + +

Specifies whether or not the event's default + action can be prevented.

+
+ + +

Specifies the Event's + AbstractView.

+
+ + +

Specifies the Event's mouse click count.

+
+ + +

Specifies the Event's screen x coordinate

+
+ + +

Specifies the Event's screen y coordinate

+
+ + +

Specifies the Event's client x coordinate

+
+ + +

Specifies the Event's client y coordinate

+
+ + +

Specifies whether or not control key was depressed during + the Event.

+
+ + +

Specifies whether or not alt key was depressed during the + Event.

+
+ + +

Specifies whether or not shift key was depressed during the + Event.

+
+ + +

Specifies whether or not meta key was depressed during the + Event.

+
+ + +

Specifies the Event's mouse button.

+
+ + +

Specifies the Event's related EventTarget.

+
+ +
+ +

+
+ + + +
+ +
diff --git a/java/external/xdocs/dom/xml/events/definitions/mutationevent.xml b/java/external/xdocs/dom/xml/events/definitions/mutationevent.xml new file mode 100644 index 0000000..1768a42 --- /dev/null +++ b/java/external/xdocs/dom/xml/events/definitions/mutationevent.xml @@ -0,0 +1,129 @@ + + + + + + +

The MutationEvent interface provides specific contextual + information associated with Mutation events. +

+
+ + +

An integer indicating in which way the Attr was changed.

+ +

The Attr was modified in place.

+
+ +

The Attr was just added.

+
+ +

The Attr was just removed.

+
+
+ + + +

+ relatedNode is used to identify a secondary node related to a mutation event. + For example, if a mutation event is dispatched to a node indicating that its parent + has changed, the relatedNode is the changed parent. If an event is instead + dispatched to a subtree indicating a node was changed within it, the relatedNode + is the changed node. In the case of the DOMAttrModified event it indicates the Attr + node which was modified, added, or removed. +

+
+
+ + + +

+ prevValue indicates the previous value of the Attr node in + DOMAttrModified events, and of the CharacterData node in DOMCharDataModified events. +

+
+
+ + + +

+ newValue indicates the new value of the Attr node in DOMAttrModified + events, and of the CharacterData node in DOMCharDataModified events. +

+
+
+ + + +

+ attrName indicates the name of the changed Attr node in a + DOMAttrModified event. +

+
+
+ + + +

+ attrChange indicates the type of change which triggered the DOMAttrModified event. + The values can be MODIFICATION, ADDITION, or REMOVAL. +

+
+
+ + + +

The initMutationEvent method is used to initialize the value of a MutationEvent created through + the DocumentEvent interface. This method may only be called before the MutationEvent has + been dispatched via the dispatchEvent method, though it may be called multiple times during that + phase if necessary. If called multiple times, the final invocation takes precedence.

+
+ + +

Specifies the event type.

+
+ + +

Specifies whether or not the event can bubble.

+
+ + +

Specifies whether or not the event's default + action can be prevented.

+
+ + +

Specifies the Event's related Node.

+
+ + +

Specifies the Event's prevValue attribute. This value may be null.

+
+ + +

Specifies the Event's newValue attribute. This value may be null.

+
+ + +

Specifies the Event's attrName attribute. This value may be null.

+
+ + +

Specifies the Event's attrChange attribute

+
+ +
+ +

+
+ + + +
+
diff --git a/java/external/xdocs/dom/xml/events/definitions/uievent.xml b/java/external/xdocs/dom/xml/events/definitions/uievent.xml new file mode 100644 index 0000000..583ba5c --- /dev/null +++ b/java/external/xdocs/dom/xml/events/definitions/uievent.xml @@ -0,0 +1,65 @@ + + + + + + +

The UIEvent interface provides specific contextual + information associated with User Interface events.

+
+ + + +

The view attribute identifies the + AbstractView from which the event was generated.

+
+
+ + +

Specifies some detail information about the Event, + depending on the type of event.

+
+
+ + + +

The initUIEvent method is used to initialize the value of a UIEvent created through + the DocumentEvent interface. This method may only be called before the UIEvent has + been dispatched via the dispatchEvent method, though it may be called multiple times during that + phase if necessary. If called multiple times, the final invocation takes precedence.

+
+ + +

Specifies the event type.

+
+ + +

Specifies whether or not the event can bubble.

+
+ + +

Specifies whether or not the event's default + action can be prevented.

+
+ + +

Specifies the Event's + AbstractView.

+
+ + +

Specifies the Event's detail.

+
+ +
+ +

+
+ + + +
+ +
diff --git a/java/external/xdocs/dom/xml/events/dom-spec.xml b/java/external/xdocs/dom/xml/events/dom-spec.xml new file mode 100644 index 0000000..605c353 --- /dev/null +++ b/java/external/xdocs/dom/xml/events/dom-spec.xml @@ -0,0 +1,165 @@ + + + + +%version; + +%links; + +%parts; + +]> + + + +&options; + +
+Document Object Model (DOM) Level 2 Events Specification +1.0 &doc.prefix;-&doc.date; + W3C Recommendation +&date.day; &date.month; &date.year; + + &this.url; +&ps.loc; +&pdf.loc; +&txt.loc; +&zip.loc; + + &latest.url; + +&prev.locs; + + + Tom Pixley +Netscape Communications Corp. + + + + +

This specification defines the Document Object Model Level 2 Events, a +platform- and language-neutral interface that gives to programs and scripts a +generic event system. The Document Object Model Level 2 Events builds on the +Document Object Model Level 2 Core and on Document +Object Model Level 2 Views .

+ +
+ +&status; + + +

Created in electronic form.

+
+ +English + + +

$Revision$

+
+ +
+ + &toc; + ©right; + + + + &events; + + + + + + IDL Definitions + +

This appendix contains the complete OMG IDL for + the Level 2 Document Object Model Events definitions.

+ +

The IDL files are also available as: &this.url;/idl.zip

+ + + +
+ + + Java Language Binding + +

This appendix contains the complete Java bindings + for the Level 2 Document Object Model Events.

+ +

The Java files are also available as &this.url;/java-binding.zip

+ + + +
+ + ECMAScript Language Binding + +

This appendix contains the complete ECMAScript binding for the Level 2 Document Object Model Events + definitions.

+ + +

+ Exceptions handling is only supported by ECMAScript implementation + conformant with the Standard ECMA-262 3rd. Edition (). +

+
+ + + +

+ The following example will add an ECMAScript based EventListener to the + Node 'exampleNode': +

+ + // Given the Node 'exampleNode' + + // Define the EventListener function + function clickHandler(evt) + { + // Function contents + } + + // The following line will add a non-capturing 'click' listener + // to 'exampleNode'. + exampleNode.addEventListener("click", clickHandler, false); + +
+ &contributors; + &glossary; + &references; + &index; +
+
diff --git a/java/external/xdocs/dom/xml/events/events.xml b/java/external/xdocs/dom/xml/events/events.xml new file mode 100644 index 0000000..3db55a7 --- /dev/null +++ b/java/external/xdocs/dom/xml/events/events.xml @@ -0,0 +1,825 @@ + + + + + Document Object Model Events + + + Tom Pixley + Netscape Communications Corp. + + + + + + Overview of the DOM Level 2 Event Model +

The DOM Level 2 Event Model is designed with two main goals. The first goal is the design + of a generic event system which allows registration of event handlers, describes event flow + through a tree structure, and provides basic contextual information for each event. + Additionally, the specification will provide standard modules of events for user + interface control and document mutation notifications, including defined contextual information + for each of these event modules.

+

The second goal of the event model is to provide a common subset of the current event + systems used in DOM + Level 0 browsers. This is + intended to foster interoperability of existing scripts and content. It is not expected that + this goal will be met with full backwards compatibility. However, the specification attempts + to achieve this when possible.

+

The following sections of the Event Model specification define both the specification + for the DOM Event Model and a number of conformant event modules designed for use within the + model. The Event Model consists of the two sections on event propagation and event listener + registration and the Event interface.

+ +

+ A DOM application may use the hasFeature(feature, version) + method of the DOMImplementation interface with parameter + values "Events" and "2.0" (respectively) to determine whether or not the + event module is supported by the implementation. In order to fully support this + module, an implementation must also support the "Core" feature defined in + the DOM Level 2 Core specification . Please, refer + to additional information about conformance + in the DOM Level 2 Core specification . +

+

+ Each event module describes its own feature string in the event module + listing. +

+ + + Terminology + + + + +

User interface events. These events are generated + by user interaction through an external device (mouse, keyboard, etc.)

+
+ + + +

Device independent user interface events such as focus change + messages or element triggering notifications.

+
+ + + +

Events caused by any action which modifies the structure of the + document.

+
+ + + +

The process by which an event can be handled by one of the event's + target's ancestors before being handled by the event's target.

+
+ + + +

The process by which an event propagates upward through its + ancestors + after being handled by the event's target.

+
+ + + +

A designation for events which indicates that upon handling the event + the client may choose to prevent the DOM implementation from processing any default + action associated with the event.

+
+
+
+
+ + Description of event flow +

Event flow is the process through which the an event originates from the DOM implementation + and is passed into the Document Object Model. The methods of event capture and event + bubbling, along with various event listener registration techniques, allow the event + to then be handled in a number of ways. It can be handled locally at the + EventTarget level or centrally from an EventTarget higher in the document tree.

+ + Basic event flow +

Each event has an EventTarget toward which the event is directed by the DOM implementation. This + EventTarget is specified in the Event's target attribute. When + the event reaches the target, any event + listeners registered on the EventTarget are triggered. Although all EventListeners + on the EventTarget are guaranteed to be triggered by any event which is received by that + EventTarget, no specification is made as to the order + in which they will receive the event with regards to the other EventListeners on the + EventTarget. If neither event + capture or event bubbling are in use for that particular event, + the event flow process will complete after all listeners have been triggered. If event capture + or event bubbling is in use, the event flow will be modified as described in the sections below.

+

Any exceptions thrown inside an EventListener will not stop propagation of the + event. It will continue processing any additional EventListener in the described manner.

+

It is expected that actions taken by EventListeners may cause additional events to + fire. Additional events should be handled in a synchronous manner and may cause reentrancy into + the event model.

+
+ + Event capture +

Event capture is the process by which an EventListener registered on + an ancestor + of the event's target can intercept events of a given type before they + are received by the event's target. Capture operates from + the top of the tree, generally the Document, downward, making it the symmetrical opposite of bubbling + which is described below. The chain of EventTargets from the top of the tree + to the event's target is determined before the initial dispatch of the event. If modifications + occur to the tree during event processing, event flow will proceed based on the initial state of the tree.

+

An EventListener being registered on an EventTarget + may choose to have that EventListener capture events by + specifying the useCapture parameter of the addEventListener + method to be true. Thereafter, when an event of the given type is + dispatched toward a descendant of the capturing object, the event + will trigger any capturing event listeners of the appropriate type + which exist in the direct line between the top of the document and the + event's target. This downward propagation continues until the event's target is + reached. A capturing EventListener will not be triggered by events + dispatched directly to the EventTarget upon which it is registered.

+

If the capturing EventListener wishes to prevent further + processing of the event from occurring it may call the stopProgagation method of + the Event interface. This will prevent further dispatch of the event, although additional EventListeners registered at + the same hierarchy level will still receive the event. Once an event's + stopPropagation method has been called, further calls to that method have + no additional effect. If no additional capturers exist and stopPropagation + has not been called, + the event triggers the appropriate EventListeners on the target + itself.

+

Although event capture is similar to the delegation based event + model in which all interested parties register their listeners directly on the target + about which they wish to receive notifications, it is different in two important respects. + First, event capture only allows interception of events which are + targeted at descendants + of the capturing EventTarget. It does not allow interception of events + targeted to the capturer's ancestors, its siblings, or its + sibling's descendants. Secondly, event capture is not specified for + a single EventTarget, it is specified for a specific type of event. + Once specified, event capture intercepts all events + of the specified type targeted toward any of the capturer's descendants.

+
+ + Event bubbling +

Events which are designated as bubbling will initially proceed with the + same event flow as non-bubbling events. The event is dispatched to its target + EventTarget and any event listeners found there are triggered. Bubbling + events will then trigger any additional event listeners found by following the + EventTarget's parent chain upward, checking for any event listeners + registered on each successive EventTarget. This upward propagation will continue + up to and including the Document. EventListeners registered as + capturers will not be triggered during this phase. The chain of EventTargets from the event + target to the top of the tree is determined before the initial dispatch of the event. If modifications + occur to the tree during event processing, event flow will proceed based on the initial state of the tree.

+

Any event handler may choose to prevent further event propagation + by calling the stopPropagation method of the Event interface. If + any EventListener calls this method, all additional EventListeners + on the current EventTarget will be triggered but bubbling + will cease at that level. Only one call to stopPropagation is required to + prevent further bubbling.

+
+ + Event cancelation +

Some events are specified as cancelable. For these events, the + DOM implementation generally has a default action associated with the + event. An example of this is a hyperlink in a web browser. When the user clicks on the + hyperlink the default action is generally to active that hyperlink. + Before processing these events, the implementation must check for + event listeners registered to receive the event and dispatch the event to + those listeners. These listeners then have the option of canceling the + implementation's default action or allowing the default action to proceed. In the + case of the hyperlink in the browser, canceling the action would have the result + of not activating the hyperlink.

+

Cancelation is accomplished by calling the Event's + preventDefault method. If one or more EventListeners call + preventDefault during any phase of event flow the default action will + be canceled.

+

Different implementations will specify their own default actions, if any, associated + with each event. The DOM does not attempt to specify these actions.

+
+
+ + Event listener registration + + Event registration interfaces + + &events-eventtarget; + &events-eventlistener; + + + + Interaction with HTML 4.0 event listeners +

In HTML 4.0, event listeners were specified as attributes of an element. As such, + registration of a second event listener of the same type would replace the + first listener. The DOM Event Model allows registration of multiple event listeners on + a single EventTarget. To achieve this, event listeners are no longer stored as attribute + values.

+

In order to achieve compatibility with HTML 4.0, implementors may view the setting of + attributes which represent event handlers as the creation and registration of an + EventListener on the EventTarget. The value of useCapture + defaults to false. This EventListener behaves in + the same manner as any other EventListeners which may be registered on the + EventTarget. If the attribute representing the event listener is changed, this may be + viewed as the removal of the previously registered EventListener and the + registration of a new one. No technique is provided to allow HTML 4.0 event listeners + access to the context information defined for each event.

+
+
+ + Event interface + + &events-event; + &events-eventexception; + + + + DocumentEvent interface + + &events-documentevent; + + + + Event module definitions +

The DOM Level 2 Event Model allows a DOM implementation to support multiple modules of events. The + model has been designed to allow addition of new event modules as is required. The DOM will + not attempt to define all possible events. For purposes of interoperability, the DOM will + define a module of user interface events including lower level device dependent events, a module + of UI logical events, and a module of document mutation events. + + Any new event types defined by third parties must not begin with any upper, lower, or mixed + case version of the string "DOM". This prefix is reserved for future DOM event modules. It is also + strongly recommended that third parties adding their own events use their own prefix to avoid + confusion and lessen the probability of conflicts with other new events. +

+ + User Interface event types +

The User Interface event module is composed of events listed in HTML 4.0 and additional + events which are supported in DOM + Level 0 browsers.

+ +

+ A DOM application may use the hasFeature(feature, version) + method of the DOMImplementation interface with parameter + values "UIEvents" and "2.0" (respectively) to determine whether or not + the User Interface event module is supported by the implementation. In + order to fully support this module, an implementation must also support + the "Events" feature defined in this specification and the + "Views" feature defined in the DOM Level 2 Views specification . Please, refer to additional information about + conformance + in the DOM Level 2 Core specification . +

+ + +

To create an instance of the UIEvent interface, use the + feature string "UIEvents" as the value of the input parameter used with + the createEvent method of the DocumentEvent + interface.

+
+ + + &events-uievent; + + +

The different types of such events that can occur are: + + + + +

The DOMFocusIn event occurs when an EventTarget receives focus, for + instance via a pointing device being moved onto an element or + by tabbing navigation to the element. Unlike the HTML event + focus, DOMFocusIn can be applied to any focusable EventTarget, not just FORM + controls.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: None

+ +
+ + + + + + +

The DOMFocusOut event occurs when a EventTarget loses focus, for + instance via a pointing device being moved out of an element or + by tabbing navigation out of the element. Unlike the HTML event + blur, DOMFocusOut can be applied to any focusable EventTarget, not just FORM + controls.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: None

+
+
+
+ + + + +

The activate event occurs when an element is activated, for + instance, thru a mouse click or a keypress. A numerical + argument is provided to give an indication of the type of + activation that occurs: 1 for a simple activation (e.g. a + simple click or Enter), 2 for hyperactivation (for instance a + double click or Shift Enter).

+ +

Bubbles: Yes

+

Cancelable: Yes

+

Context Info: detail (the numerical value)

+
+
+
+ +

+
+ + Mouse event types +

The Mouse event module is composed of events listed in HTML 4.0 and additional + events which are supported in DOM + Level 0 browsers. This event module is specifically designed for use with mouse + input devices.

+ +

+ A DOM application may use the hasFeature(feature, version) + method of the DOMImplementation interface with parameter + values "MouseEvents" and "2.0" (respectively) to determine whether or not + the Mouse event module is supported by the implementation. In order to + fully support this module, an implementation must also support the + "UIEvents" feature defined in this specification. Please, refer to + additional information about conformance + in the DOM Level 2 Core specification . +

+ + +

To create an instance of the MouseEvent interface, use the + feature string "MouseEvents" as the value of the input parameter used with + the createEvent method of the DocumentEvent + interface.

+
+ + + &events-mouseevent; + + +

The different types of Mouse events that can occur are: + + + + +

The click event occurs when the pointing device button is clicked over + an element. A click is defined as a mousedown and mouseup over the same screen + location. The sequence of these events is: + + mousedown + mouseup + click + + If multiple clicks occur at the same screen location, the sequence repeats + with the detail attribute incrementing with each repetition. + This event is valid for most elements.

+ +

Bubbles: Yes

+

Cancelable: Yes

+

Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, button, detail

+
+ + + + + + +

The mousedown event occurs when the pointing device button is pressed over + an element. This event is valid for most elements.

+ +

Bubbles: Yes

+

Cancelable: Yes

+

Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, button, detail

+
+
+
+ + + + +

The mouseup event occurs when the pointing device button is released over + an element. This event is valid for most elements.

+ +

Bubbles: Yes

+

Cancelable: Yes

+

Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, button, detail

+
+
+
+ + + + +

The mouseover event occurs when the pointing device is moved onto an element. + This event is valid for most elements.

+ +

Bubbles: Yes

+

Cancelable: Yes

+

Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, relatedTarget + indicates the EventTarget the pointing device is exiting.

+
+
+
+ + + + +

The mousemove event occurs when the pointing device is moved while it is + over an element. This event is valid for most elements.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey

+
+
+
+ + + + +

The mouseout event occurs when the pointing device is moved away from an + element. This event is valid for most elements..

+ +

Bubbles: Yes

+

Cancelable: Yes

+

Context Info: screenX, screenY, clientX, clientY, altKey, ctrlKey, shiftKey, metaKey, relatedTarget + indicates the EventTarget the pointing device is entering.

+
+
+
+ + +

+
+ + + Key events +

The DOM Level 2 Event specification does not provide a key event module. An event module designed + for use with keyboard + input devices will be included in a later version of the DOM specification.

+
+ + + Mutation event types +

The mutation event module is designed to allow notification of any changes + to the structure of a document, including attr and text modifications. It may + be noted that none of the mutation events listed are designated as cancelable. + This stems from the fact that it is very difficult to make + use of existing DOM interfaces which cause document modifications if any change + to the document might or might not take place due to cancelation of the related + event. Although this is still a desired capability, it was decided that it would + be better left until the addition of transactions into the DOM.

+

Many single modifications of the tree can cause multiple mutation events to be fired. + Rather than attempt to specify the ordering of mutation events due to every + possible modification of the tree, the ordering of these events is left to the implementation.

+ +

+ A DOM application may use the hasFeature(feature, version) + method of the DOMImplementation interface with parameter + values "MutationEvents" and "2.0" (respectively) to determine whether or not + the Mutation event module is supported by the implementation. In order to + fully support this module, an implementation must also support the + "Events" feature defined in this specification. Please, refer to + additional information about conformance + in the DOM Level 2 Core specification . +

+ + +

To create an instance of the MutationEvent interface, use the + feature string "MutationEvents" as the value of the input parameter used with + the createEvent method of the DocumentEvent + interface.

+
+ + + + &events-mutationevent; + + +

The different types of Mutation events that can occur are: + + + + +

This is a general event for notification of all changes to the + document. It can be used instead of the more specific events listed + below. It may be fired after a single modification to the document or, at + the implementation's discretion, after multiple changes have occurred. The + latter use should generally be used to accomodate multiple changes which occur + either simultaneously or in rapid succession. The target of this event + is the lowest common parent of the changes which have taken place. This + event is dispatched after any other events caused by the mutation have + fired.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: None

+
+ + + + + + +

Fired when a node has been added as a child of another node. This + event is dispatched after the insertion has taken place. The target of + this event is the node being inserted.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: relatedNode holds the parent node

+
+
+
+ + + + +

Fired when a node is being removed from its parent node. This event is + dispatched before the node is removed from the tree. The target of this + event is the node being removed.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: relatedNode holds the parent node

+
+
+
+ + + + +

Fired when a node is being removed from a document, either through + direct removal of the Node or removal of a subtree in which it is + contained. This event is dispatched before the removal takes place. + The target of this event is the Node being removed. If the Node is + being directly removed the DOMNodeRemoved event will fire before the + DOMNodeRemovedFromDocument event.

+ +

Bubbles: No

+

Cancelable: No

+

Context Info: None

+
+
+
+ + + + +

Fired when a node is being inserted into a document, either through + direct insertion of the Node or insertion of a subtree in which it is + contained. This event is dispatched after the insertion has taken + place. The target of this event is the node being inserted. If the + Node is being directly inserted the DOMNodeInserted event will fire before + the DOMNodeInsertedIntoDocument event.

+ +

Bubbles: No

+

Cancelable: No

+

Context Info: None

+
+
+
+ + + + +

Fired after an Attr has been modified on a node. The target of this + event is the Node whose Attr changed. The value of attrChange indicates + whether the Attr was modified, added, or removed. The + value of relatedNode indicates the Attr node whose value has been affected. It is expected + that string based replacement of an Attr value will be viewed as a modification of the Attr + since its identity does not change. Subsequently replacement of the Attr node with a different + Attr node is viewed as the removal of the first Attr node and the addition of the second.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: attrName, attrChange, prevValue, newValue, relatedNode

+
+
+
+ + + + +

Fired after CharacterData within a node has been modified but the node + itself has not been inserted or deleted. This event is also triggered by + modifications to PI elements. The target of this event is the + CharacterData node.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: prevValue, newValue

+
+
+
+ +

+ +
+ + HTML event types +

The HTML event module is composed of events listed in HTML 4.0 and additional + events which are supported in DOM + Level 0 browsers.

+ +

+ A DOM application may use the hasFeature(feature, version) + method of the DOMImplementation interface with parameter + values "HTMLEvents" and "2.0" (respectively) to determine whether or not + the HTML event module is supported by the implementation. In order to + fully support this module, an implementation must also support the + "Events" feature defined in this specification. Please, refer to + additional information about conformance + in the DOM Level 2 Core specification . +

+ + +

To create an instance of the Event interface for + the HTML event module, use the + feature string "HTMLEvents" as the value of the input parameter used with + the createEvent method of the DocumentEvent + interface.

+
+ +

The HTML events use the base DOM Event interface to pass contextual information.

+ +

The different types of such events that can occur are: + + + + +

The load event occurs when the DOM implementation finishes loading all content within + a document, all frames within a FRAMESET, or an OBJECT element.

+ +

Bubbles: No

+

Cancelable: No

+

Context Info: None

+
+ + + + + +

The unload event occurs when the DOM implementation removes a document from a window + or frame. This event is valid for BODY and FRAMESET elements.

+ +

Bubbles: No

+

Cancelable: No

+

Context Info: None

+
+
+
+ + + +

The abort event occurs when page loading is stopped before an image has + been allowed to completely load. This event applies to OBJECT elements.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: None

+
+
+
+ + + +

The error event occurs when an image does not load properly or when an + error occurs during script execution. This event is valid for OBJECT + elements, BODY elements, and FRAMESET element.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: None

+
+
+
+ + + +

The select event occurs when a user selects some text in a text field. + This event is valid for INPUT and TEXTAREA elements.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: None

+
+
+
+ + + +

The change event occurs when a control loses the input focus and its value + has been modified since gaining focus. This event is valid for INPUT, SELECT, and TEXTAREA. + element.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: None

+
+
+
+ + + +

The submit event occurs when a form is submitted. This event only applies to the + FORM element.

+ +

Bubbles: Yes

+

Cancelable: Yes

+

Context Info: None

+
+
+
+ + + +

The reset event occurs when a form is reset. This event only applies to the FORM + element.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: None

+
+
+
+ + + +

The focus event occurs when an element receives focus either via a pointing + device or by tabbing navigation. This event is valid for the following + elements: LABEL, INPUT, SELECT, TEXTAREA, and BUTTON.

+ +

Bubbles: No

+

Cancelable: No

+

Context Info: None

+
+
+
+ + + +

The blur event occurs when an element loses focus either via the pointing + device or by tabbing navigation. This event is valid for the following + elements: LABEL, INPUT, SELECT, TEXTAREA, and BUTTON.

+ +

Bubbles: No

+

Cancelable: No

+

Context Info: None

+
+
+
+ + + + +

The resize event occurs when a document view is resized.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: None

+
+
+
+ + + + +

The scroll event occurs when a document view is + scrolled.

+ +

Bubbles: Yes

+

Cancelable: No

+

Context Info: None

+
+
+
+ +

+
+
+
+ + diff --git a/java/external/xdocs/dom/xml/glossary.xml b/java/external/xdocs/dom/xml/glossary.xml new file mode 100644 index 0000000..05f43d7 --- /dev/null +++ b/java/external/xdocs/dom/xml/glossary.xml @@ -0,0 +1,471 @@ + + + + + Glossary + + + Arnaud Le Hors + IBM + + + Lauren Wood + SoftQuad Software Inc. + + + Robert S. Sutor + IBM (for DOM Level 1) + + +

Several of the following term definitions have been borrowed or modified + from similar definitions in other W3C or standards documents. See the links + within the definitions for more information.

+ + + + +

The base unit of a DOMString. This indicates that indexing on a DOMString occurs in units of 16 bits. This must not be misunderstood to mean that + a DOMString can store arbitrary 16-bit units. A DOMString is a character string encoded in UTF-16; this means that the + restrictions of UTF-16 as well as the other relevant restrictions on character + strings must be maintained. A single character, for example in the form of a + numeric character reference, may correspond to one or two 16-bit units.

+

For more information, see and + .

+
+
+ + + +

An ancestor node of any node A is any node above A in a + tree model of a document, where "above" means "toward the root."

+
+ + + +

An API is an application programming interface, a set + of functions or methods used to access some + functionality.

+
+ + + +

A child is an immediate descendant node of + a node.

+
+ + + +

A [client] application is any software that uses the Document Object + Model programming interfaces provided by the hosting implementation to + accomplish useful work. Some examples of client applications are scripts within + an HTML or XML document.

+
+ + + +

COM is Microsoft's Component Object Model + , a technology for building applications from binary + software components.

+
+ + + +

The content model is a simple grammar governing the + allowed types of the child elements and the order in which they + appear. See Element + Content in XML .

+
+ + + +

A context specifies an access pattern (or path): a set + of interfaces which give you a way to interact with a model. For example, + imagine a model with different colored arcs connecting data nodes. A context + might be a sheet of colored acetate that is placed over the model allowing you + a partial view of the total information in the model.

+
+ + + +

A convenience method is an operation on an object that + could be accomplished by a program consisting of more basic operations on the + object. Convenience methods are usually provided to make the API + easier and simpler to use or to allow specific programs to create more + optimized implementations for common operations. A similar definition holds for + a convenience property.

+
+ + + +

A model for a document that represents the document after it has + been manipulated in some way. For example, any combination of any of the + following transformations would create a cooked model: + + +

Expansion of internal text entities.

+ + +

Expansion of external entities.

+
+ +

Model augmentation with style-specified generated text.

+
+ +

Execution of style-specified reordering.

+
+ +

Execution of scripts.

+
+ A browser might only be able to provide access to a cooked + model, while an editor might provide access to a cooked or the initial + structure model (also known as the uncooked model) for a document. +

+
+ + + +

CORBA is the Common Object Request Broker + Architecture from the + OMG . This architecture + is a collection of objects and libraries that allow the creation of + applications containing objects that make and receive requests and responses in + a distributed environment.

+
+ + + +

A cursor is an object representation of a node. It may + possess information about context and the path traversed to reach the + node.

+
+ + + +

A data model is a collection of descriptions of data + structures and their contained fields, together with the operations or + functions that manipulate them.

+
+ + + +

The deepest element is that element which is furthest + from the root or document element in a tree model of the document.

+
+ + + +

The term document order has the same meaning as depth + first, pre-order traversal, which is equivalent to the order in + which the start tags occur in the text representation of the document.

+
+ + + + +

When new releases of specifications are released, some older + features may be marked as being deprecated. This means that new + work should not use the features and that although they are supported in the + current release, they may not be supported or available in future + releases.

+
+ + + +

A descendant node of any node A is any node below A in + a tree model of a document, where "above" means "toward the root."

+
+ + + +

The term "DOM Level 0" refers to a mix (not formally + specified) of HTML document functionalities offered by Netscape Navigator + version 3.0 and Microsoft Internet Explorer version 3.0. In some cases, + attributes or methods have been included for reasons of backward + compatibility with "DOM Level 0".

+
+ + + +

The programming language defined by the ECMA-262 standard + . As stated in the standard, the originating + technology for ECMAScript was JavaScript . Note that + in the ECMAScript Language binding, the word "property" is used in the same + sense as the IDL term "attribute."

+
+ + + +

Each document contains one or more elements, the boundaries of which + are either delimited by start-tags and end-tags, or, for empty elements by an + empty-element tag. Each element has a type, identified by name, and may have a + set of attributes. Each attribute has a name and a value. See + Logical Structures in + XML .

+
+ + + +

This is the idea that an event can affect one object and a set of + related objects. Any of the potentially affected objects can block the event or + substitute a different one (upward event propagation). The event is broadcast + from the node at which it originates to every parent + node.

+
+ + + +

Two nodes are equivalent if they have the same node + type and same node name. Also, if the nodes contain data, that must be the + same. Finally, if the nodes have attributes the collection of attribute names + must be the same and the attributes corresponding by name must be equivalent as + nodes.

+

Two nodes are deeply equivalent if they are + equivalent, their child node lists are equivalent NodeList objects, and their attributes are deeply equivalent.

+

Two NodeList objects are equivalent if they have the same length, and + the nodes corresponding by index are deeply equivalent.

+

Two NamedNodeMap objects are equivalent if they have the same length, they + have same collection of names, and the nodes corresponding by name in the maps + are deeply equivalent.

+

Two DocumentType nodes are equivalent if they are equivalent as nodes, have + the same names, and have equivalent entities and attributes NamedNodeMap objects.

+
+
+ + + +

An information item is an abstract representation of some component + of an XML document. See the for details.

+
+ + + +

A [hosting] implementation is a software module that provides an + implementation of the DOM interfaces so that a client application can use them. + Some examples of hosting implementations are browsers, editors and document + repositories.

+
+ + + +

The HyperText Markup Language (HTML) is a simple markup + language used to create hypertext documents that are portable from one platform + to another. HTML documents are SGML documents with generic semantics that are + appropriate for representing information from a wide range of applications. +

+
+ + + +

An Interface Definition Language (IDL) is used to + define the interfaces for accessing and operating upon objects. Examples of + IDLs are the Object Management Group's IDL , Microsoft's + IDL , and Sun's Java IDL .

+
+ + + +

Companies, organizations, and individuals that claim to support the + Document Object Model as an API for their products.

+
+ + + +

In object-oriented programming, the ability to create new classes + (or interfaces) that contain all the methods and properties of another class + (or interface), plus additional methods and properties. If class (or interface) + D inherits from class (or interface) B, then D is said to be + derived from B. B is said to be a base class (or + interface) for D. Some programming languages allow for multiple inheritance, + that is, inheritance from more than one class or interface.

+
+ + + +

Also known as the raw structure model or the + uncooked model, this represents the document before it has been + modified by entity expansions, generated text, style-specified reordering, or + the execution of scripts. In some implementations, this might correspond to the + "initial parse tree" for the document, if it ever exists. Note that a + given implementation might not be able to provide access to the initial + structure model for a document, though an editor probably would.

+
+ + + +

An interface is a declaration of a set of + methods with no information given about their implementation. In + object systems that support interfaces and inheritance, interfaces can usually + inherit from one another.

+
+ + + +

A programming language binding for an IDL specification + is an implementation of the interfaces in the specification for the given + language. For example, a Java language binding for the Document Object Model + IDL specification would implement the concrete Java classes that provide the + functionality exposed by the interfaces.

+
+ + + +

A local name is the local part of a qualified + name. This is called the local part in Namespaces in XML + .

+
+ + + +

A method is an operation or function that is associated + with an object and is allowed to manipulate the object's data.

+
+ + + +

A model is the actual data representation for the + information at hand. Examples are the structural model and the style model + representing the parse structure and the style information associated with a + document. The model might be a tree, or a directed graph, or something + else.

+
+ + + +

A namespace prefix is a string that associates an + element or attribute name with a namespace URI in XML. See + namespace prefix in + Namespaces in XML .

+
+ + + +

A namespace URI is a URI that identifies an XML + namespace. Strictly speaking, this actually is a namespace URI + reference. This is called the namespace name in Namespaces in XML + .

+
+
+ + + +

An object model is a collection of descriptions of + classes or interfaces, together with their member data, member functions, and + class-static operations.

+
+ + + +

A parent is an immediate ancestor node of + a node.

+
+ + + +

A qualified name is the name of an element or attribute + defined as the concatenation of a local name (as defined in this + specification), optionally preceded by a namespace prefix and + colon character. See Qualified + Names in Namespaces in XML .

+
+ + + +

A readonly node is a node that is immutable. This means + its list of children, its content, and its attributes, when it is an element, + cannot be changed in any way. However, a readonly node can possibly be moved, + when it is not itself contained in a readonly node.

+
+ + + +

The root node is the unique node that is not a + child of any other node. All other nodes are children or other + descendants of the root node.

+
+ + + +

Two nodes are siblings if and only if they have the + same parent node.

+
+ + + +

When string matching is required, it is to occur as though the + comparison was between 2 sequences of code points from the Unicode 3.0 standard + .

+
+ + + +

A document is tag valid if all begin and end tags are + properly balanced and nested.

+
+ +

An information item such as an + XML Name + which has been tokenized.

+
+ +

The description given to various information items (for example, + attribute values of various types, but not including the StringType CDATA) + after having been processed by the XML processor. The process includes + stripping leading and trailing white space, and replacing multiple space + characters by one. See the definition of + tokenized + type.

+
+ + + +

A document is type valid if it conforms to an explicit + DTD.

+
+ + + +

See initial structure model.

+
+ + + +

A document is well-formed if it is tag valid and + entities are limited to single elements (i.e., single sub-trees). See + Well-Formed XML + Documents in XML .

+
+ + + +

Extensible Markup Language (XML) is an extremely simple + dialect of SGML. The 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.

+
+ + + +

See XML name in the + XML specification .

+
+ + + +

An XML namespace is a collection of names, identified + by a URI reference , which are used in XML documents as + element types and attribute names.

+
+
diff --git a/java/external/xdocs/dom/xml/index.xml b/java/external/xdocs/dom/xml/index.xml new file mode 100644 index 0000000..918f3ef --- /dev/null +++ b/java/external/xdocs/dom/xml/index.xml @@ -0,0 +1,16 @@ + + + + + Index + + + diff --git a/java/external/xdocs/dom/xml/link-entities.xml b/java/external/xdocs/dom/xml/link-entities.xml new file mode 100644 index 0000000..09e0eda --- /dev/null +++ b/java/external/xdocs/dom/xml/link-entities.xml @@ -0,0 +1,29 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/external/xdocs/dom/xml/part-entities.xml b/java/external/xdocs/dom/xml/part-entities.xml new file mode 100644 index 0000000..6b954a7 --- /dev/null +++ b/java/external/xdocs/dom/xml/part-entities.xml @@ -0,0 +1,286 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/external/xdocs/dom/xml/references.xml b/java/external/xdocs/dom/xml/references.xml new file mode 100644 index 0000000..b7aa2bc --- /dev/null +++ b/java/external/xdocs/dom/xml/references.xml @@ -0,0 +1,237 @@ + + + + + References +

+ For the latest version of any W3C specification please consult the list of + W3C Technical Reports available at + http://www.w3.org/TR. +

+ + + Normative references + + + + W3C (World Wide Web Consortium) Character Model + for the World Wide Web, November 1999. Available at &charmod; + + + + W3C (World Wide Web Consortium) Document Object + Model Level 2 Core Specification, &date.month; + &date.year;. Available at &core.url; + + + + W3C (World Wide Web Consortium) Cascading Style Sheets, + level 2 Specification, May 1998. Available at &css2; + + + + ECMA (European Computer Manufacturers Association) ECMAScript Language Specification. Available at + &ecma-262; + + + + W3C (World Wide Web Consortium) Document Object + Model Level 2 Events Specification, &date.month; + &date.year;. Available at &events.url; + + + + W3C (World Wide Web Consortium) HTML 4.0 + Specification, April 1998. Available at &html40; + + + + ISO (International Organization for Standardization). ISO/IEC 10646-1:2000 + (E). Information technology - Universal Multiple-Octet Coded + Character Set (UCS) - Part 1: Architecture and Basic Multilingual + Plane. [Geneva]: International Organization for Standardization. + + + + Sun Microsystems Inc. The Java Language + Specification, James Gosling, Bill Joy, and Guy Steele, September + 1996. Available at &java; + + + + W3C (World Wide Web Consortium) Namespaces in + XML, January 1999. Available at &xml-names; + + + + OMG (Object Management Group) IDL + (Interface Definition Language) defined in The Common Object Request + Broker: Architecture and Specification, version 2.3.1, October + 1999. Available from http://www.omg.org/ + + + + W3C (World Wide Web Consortium) Document Object + Model Level 2 Style Sheets and CSS Specification, &date.month; + &date.year;. Available at &style.url; + + + + W3C (World Wide Web Consortium) Document Object Model Level 2 Traversal + and Range Specification, &date.month; &date.year;. Available at + &traversal-range.url; + + + + IETF (Internet Engineering Task Force) RFC 2396: Uniform Resource + Identifiers (URI): Generic Syntax, eds. T. Berners-Lee, + R. Fielding, L. Masinter. August 1998. Available at + http://www.ietf.org/rfc/rfc2396.txt + + + + The Unicode Consortium. The + Unicode Standard, Version 3.0., February 2000. Available at + http://www.unicode.org/unicode/standard/versions/Unicode3.0.html. + + + + W3C (World Wide Web Consortium) Document Object + Model Level 2 Views Specification, &date.month; + &date.year;. Available at &views.url; + + + + W3C (World Wide Web Consortium) Extensible Markup + Language (XML) 1.0, February 1998. Available at &xml-spec; + + + + W3C (World Wide Web Consortium) Associating + Style Sheets with XML documents Version 1.0, June 1999. Available at + &xml-stylesheet;. + + + + + + + Informative references + + + + W3C (World Wide Web Consortium) Document Object + Model Level 2 CSS. Available at &style.latest.url;/css + + + + Microsoft Corp. The Component Object Model. Available + at &com; + + + + OMG (Object Management Group) The + Common Object Request Broker: Architecture and Specification, version + 2.3.1, October 1999. Available from http://www.omg.org/ + + + + W3C (World Wide Web Consortium) DOM Level 1 + Specification, October 1998. Available at &domlevel1; + + + + W3C (World Wide Web Consortium) Document Object + Model Level 2 HTML Specification. Available at &html.latest.url; + + + + W3C (World Wide Web Consortium) DOM Requirements + for DOM Level 3, Available at + http://www.w3.org/TR/DOM-Requirements/#Level3 + + + + W3C (World Wide Web Consortium) Document + Object Model Level 2 Events Specification. Available at &events.latest.url; + + + + W3C (World Wide Web Consortium) XML Information + Set, December 1999. Available at &infoset; + + + + Sun Microsystems Inc. Java IDL. Available + at &javaidl; + + + + Netscape Communications Corp. JavaScript + Resources. Available at &javascript; + + + + Microsoft Corp. JScript + Resources. Available at &jscript; + + + + Microsoft Corp. MIDL Language + Reference. Available at &msidl; + + + + W3C (World Wide Web Consortium) Document Object + Model Level 2 Style Sheets. Available at &style.latest.url;/stylesheets + + + + W3C (World Wide Web Consortium) Document Object Model Level + 2 Traversal. Available at + &traversal-range.latest.url;/traversal + + + + W3C (World Wide Web Consortium) Document Object Model Level + 2 Range. Available at + &traversal-range.latest.url;/ranges + + + + W3C (World Wide Web Consortium) Document Object + Model Level 2 Views Specification. Available at &views.latest.url; + + + + W3C (World Wide Web Consortium) XHTML 1.0: + Extensible HyperText Markup Language, A Reformulation of HTML 4.0 + in XML 1.0. Available at &xhtml10; + + + + W3C (World Wide Web Consortium) XML Pointer + Language (XPointer), June 2000. Available at &xpointer; + + + + + + +
+ diff --git a/java/external/xdocs/dom/xml/style/css.xml b/java/external/xdocs/dom/xml/style/css.xml new file mode 100644 index 0000000..27f9f28 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/css.xml @@ -0,0 +1,172 @@ + + + + + Document Object Model CSS + + + Chris Wilson + Microsoft Corp. + + + Philippe Le Hégaret + W3C + + + Vidur Apparao + Netscape Communications Corp. + + + + + + Overview of the DOM Level 2 CSS Interfaces +

+ The DOM Level 2 Cascading Style Sheets (CSS) + interfaces are designed with the goal of exposing CSS constructs to + object model consumers. Cascading Style Sheets is a declarative syntax + for defining presentation rules, properties and ancillary constructs used + to format and render Web documents. This document specifies a mechanism + to programmatically access and modify the rich style and presentation + control provided by CSS (specifically CSS level 2 ). This augments CSS by providing a mechanism to dynamically + control the inclusion and exclusion of individual style sheets, as well + as manipulate CSS rules and properties. +

+

+ The CSS interfaces are organized in a logical, rather than + physical structure. A collection of all style sheets + referenced by or embedded in the document is accessible on + the document interface. Each item in this collection exposes + the properties common to all style sheets referenced or embedded + in HTML and XML documents; this interface is described in the + . User style sheets are + not accessible through this collection, in part due to potential + privacy concerns (and certainly read-write issues). +

+

+ For each CSS style sheet, an additional interface is exposed - the + CSSStyleSheet interface. This interface allows access to + the collection of rules within a CSS style sheet and methods to modify + that collection. Interfaces are provided for each specific type of rule + in CSS2 (e.g. style declarations, @import rules, or + @font-face rules), as well as a shared generic + CSSRule interface. +

+

+ The most common type of rule is a style declaration. The + CSSStyleRule interface that represents this type of rule + provides string access to the CSS selector of the rule, and access to the + property declarations through the CSSStyleDeclaration + interface. +

+

+ Finally, an optional CSS2Properties interface is described; + this interface (if implemented) provides shortcuts to the string + values of all the properties in CSS level 2. +

+

+ All CSS objects in the DOM are "live", that is, a change in the style sheet + is reflected in the computed and actual style. +

+ +
+ + CSS Fundamental Interfaces + +

+ The interfaces within this section are considered fundamental CSS + interfaces, and must be supported by all conforming implementations of + the CSS module. These interfaces represent CSS style sheets specifically. +

+

+ A DOM application may use the hasFeature(feature, version) + method of the DOMImplementation interface with parameter + values "CSS" and "2.0" (respectively) to determine whether or not this + module is supported by the implementation. In order to fully support this + module, an implementation must also support the "Core" feature defined + defined in the DOM Level 2 Core specification and + the "Views" feature defined in the DOM Level 2 Views specification + . Please refer to additional information about + conformance + in the DOM Level 2 Core specification . +

+ + + &css-cssstylesheet; + &css-cssrulelist; + &css-cssrule; + &css-cssstylerule; + &css-cssmediarule; + &css-cssfontfacerule; + &css-csspagerule; + &css-cssimportrule; + &css-csscharsetrule; + &css-cssunknownrule; + &css-cssstyledeclaration; + &css-cssvalue; + &css-cssprimitivevalue; + &css-cssvaluelist; + &css-rgbcolor; + &css-rect; + &css-counter; + + + + Override and computed style sheet + + &css-viewcss; + &css-documentcss; + + + + + Style sheet creation + + &css-domimplementationcss; + + + + + Element with CSS inline style + + &css-elementcssinlinestyle; + + + +
+ + + CSS2 Extended Interface +

+ The interface found within this section are not mandatory. A DOM + application may use the hasFeature(feature, version) method + of the DOMImplementation interface with parameter values + "CSS2" and "2.0" (respectively) to determine whether or not this module + is supported by the implementation. In order to fully support this + module, an implementation must also support the "CSS" feature defined + defined in . Please refer to additional + information about conformance + in the DOM Level 2 Core specification . +

+ + + &css-css2properties; + +
+
+ diff --git a/java/external/xdocs/dom/xml/style/definitions/CSS2Properties.xml b/java/external/xdocs/dom/xml/style/definitions/CSS2Properties.xml new file mode 100644 index 0000000..169ec6c --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSS2Properties.xml @@ -0,0 +1,2271 @@ + + + + + +

+ The CSS2Properties interface represents a convenience + mechanism for retrieving and setting properties within a + CSSStyleDeclaration. The attributes of this interface + correspond to all the properties specified in + CSS2. Getting an attribute of this interface is equivalent to + calling the getPropertyValue method of the + CSSStyleDeclaration interface. Setting an attribute of this + interface is equivalent to calling the setProperty method of + the CSSStyleDeclaration interface. +

+

+ A conformant implementation of the CSS module is not required to implement the + CSS2Properties interface. If an implementation does + implement this interface, the expectation is that language-specific + methods can be used to cast from an instance of the + CSSStyleDeclaration interface to the + CSS2Properties interface. +

+

+ If an implementation does implement this interface, it is expected to + understand the specific syntax of the shorthand properties, and apply + their semantics; when the margin property is set, for + example, the marginTop, marginRight, + marginBottom and marginLeft properties are + actually being set by the underlying implementation. +

+

+ When dealing with CSS "shorthand" properties, the shorthand + properties should be decomposed into their component longhand + properties as appropriate, and when querying for their value, the + form returned should be the shortest form exactly equivalent to the + declarations made in the ruleset. However, if there is no shorthand + declaration that could be added to the ruleset without changing in + any way the rules already declared in the ruleset (i.e., by adding + longhand rules that were previously not declared in the ruleset), + then the empty string should be returned for the shorthand property. +

+

+ For example, querying for the font property should not + return "normal normal normal 14pt/normal Arial, sans-serif", when + "14pt Arial, sans-serif" suffices. (The normals are initial values, + and are implied by use of the longhand property.) +

+

+ If the values for all the longhand properties that compose a + particular string are the initial values, then a string consisting of + all the initial values should be returned (e.g. a + border-width value of "medium" should be returned as + such, not as ""). +

+

+ For some shorthand properties that take missing values from other + sides, such as the margin, padding, and + border-[width|style|color] properties, the minimum + number of sides possible should be used; i.e., "0px 10px" will be + returned instead of "0px 10px 0px 10px". +

+

+ If the value of a shorthand property can not be decomposed into its + component longhand properties, as is the case for the + font property with a value of "menu", querying for the + values of the component longhand properties should return the empty + string. +

+
+ + + +

+ See the azimuth property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the background property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the background-attachment property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the background-color property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the background-image property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the background-position property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the background-repeat property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-collapse property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-color property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-spacing property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-style property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-top property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-right property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-bottom property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-left property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-top-color property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-right-color property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-bottom-color property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-left-color property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-top-style property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-right-style property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-bottom-style property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-left-style property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-top-width property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-right-width property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-bottom-width property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-left-width property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the border-width property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the bottom property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the caption-side property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the clear property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the clip property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the color property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the content property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the counter-increment property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the counter-reset property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the cue property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the cue-after property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the cue-before property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the cursor property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the direction property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the display property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the elevation property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the empty-cells property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the float property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the font property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the font-family property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the font-size property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the font-size-adjust property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the font-stretch property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the font-style property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the font-variant property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the font-weight property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the height property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the left property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the letter-spacing property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the line-height property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the list-style property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the list-style-image property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the list-style-position property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the list-style-type property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the margin property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the margin-top property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the margin-right property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the margin-bottom property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the margin-left property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the marker-offset property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the marks property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the max-height property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the max-width property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the min-height property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the min-width property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the orphans property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the outline property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the outline-color property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the outline-style property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the outline-width property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the overflow property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the padding property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the padding-top property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the padding-right property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the padding-bottom property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the padding-left property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the page property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the page-break-after property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the page-break-before property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the page-break-inside property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the pause property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the pause-after property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the pause-before property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the pitch property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the pitch-range property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the play-during property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the position property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the quotes property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the richness property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the right property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the size property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the speak property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the speak-header property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the speak-numeral property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the speak-punctuation property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the speech-rate property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the stress property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the table-layout property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the text-align property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the text-decoration property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the text-indent property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the text-shadow property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the text-transform property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the top property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the unicode-bidi property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the vertical-align property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the visibility property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the voice-family property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the volume property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the white-space property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the widows property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the width property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the word-spacing property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ See the z-index property definition in CSS2. +

+
+ + + +

SYNTAX_ERR: Raised if the new value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/CSSCharsetRule.xml b/java/external/xdocs/dom/xml/style/definitions/CSSCharsetRule.xml new file mode 100644 index 0000000..0726e00 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSSCharsetRule.xml @@ -0,0 +1,48 @@ + + + + + +

+ The CSSCharsetRule interface represents a @charset + rule in a CSS style sheet. The value of the + encoding attribute does not affect the encoding of + text data in the DOM objects; this encoding is always UTF-16. After a + stylesheet is loaded, the value of the encoding attribute is + the value found in the @charset rule. If there was no + @charset in the original document, then no + CSSCharsetRule is created. The value of the + encoding attribute may also be used as a hint for the + encoding used on serialization of the style sheet. +

+

+ The value of the @charset + rule (and therefore of the CSSCharsetRule) may + not correspond to the encoding the document actually came in; character + encoding information e.g. in an HTTP header, has priority (see CSS document representation) but this is + not reflected in the CSSCharsetRule. +

+
+ + + +

+ The encoding information used in this @charset rule. +

+
+ + + +

SYNTAX_ERR: Raised if the specified encoding value has a syntax + error and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this encoding rule is + readonly.

+
+
+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/CSSFontFaceRule.xml b/java/external/xdocs/dom/xml/style/definitions/CSSFontFaceRule.xml new file mode 100644 index 0000000..d5eb64b --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSSFontFaceRule.xml @@ -0,0 +1,22 @@ + + + + + +

+ The CSSFontFaceRule interface represents a @font-face + rule in a CSS style sheet. The @font-face rule + is used to hold a set of font descriptions. +

+
+ + + +

+ The declaration-block of this rule. +

+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/CSSImportRule.xml b/java/external/xdocs/dom/xml/style/definitions/CSSImportRule.xml new file mode 100644 index 0000000..ea6d6dd --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSSImportRule.xml @@ -0,0 +1,47 @@ + + + + + +

+ The CSSImportRule interface represents a @import + rule within a CSS style sheet. The @import rule is + used to import style rules from other style sheets. +

+
+ + + +

+ The location of the style sheet to be imported. The attribute will not + contain the "url(...)" specifier around the URI. +

+
+
+ + + + +

+ A list of media types for which this style sheet may be + used. +

+
+
+ + + +

The style sheet referred to by this rule, if it has been loaded. The + value of this attribute is null if the style sheet has not + yet been loaded or if it will not be loaded (e.g. if the style sheet is + for a media type not supported by the user agent). +

+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/CSSMediaRule.xml b/java/external/xdocs/dom/xml/style/definitions/CSSMediaRule.xml new file mode 100644 index 0000000..63f7370 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSSMediaRule.xml @@ -0,0 +1,116 @@ + + + + + +

+ The CSSMediaRule interface represents a @media + rule in a CSS style sheet. A @media rule can be + used to delimit style rules for specific media types. +

+
+ + + +

+ A list of media types for this rule. +

+
+
+ + + +

+ A list of all CSS rules contained within the media block. +

+
+
+ + + +

+ Used to insert a new rule into the media block. +

+
+ + + +

+ The parsable text representing the rule. For rule sets + this contains both the selector and the style declaration. + For at-rules, this specifies both the at-identifier and the + rule content. +

+
+ + + +

+ The index within the media block's rule collection of the rule + before which to insert the specified rule. If the + specified index is equal to the length of the media blocks's rule + collection, the rule will be added to the end of the media block. +

+
+ +
+ + +

+ The index within the media block's rule collection of the newly + inserted rule. +

+
+
+ + + +

HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted + at the specified index, e.g., if an @import rule + is inserted after a standard rule set or other at-rule.

+

INDEX_SIZE_ERR: Raised if the specified index is not a valid + insertion point.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is + readonly.

+

SYNTAX_ERR: Raised if the specified rule has a syntax error + and is unparsable.

+
+
+
+
+ + + +

+ Used to delete a rule from the media block. +

+
+ + + +

+ The index within the media block's rule collection of the rule + to remove. +

+
+ +
+ +

+
+ + + + +

INDEX_SIZE_ERR: Raised if the specified index does not correspond + to a rule in the media rule list.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this media rule is + readonly.

+
+
+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/CSSPageRule.xml b/java/external/xdocs/dom/xml/style/definitions/CSSPageRule.xml new file mode 100644 index 0000000..d91c37f --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSSPageRule.xml @@ -0,0 +1,42 @@ + + + + + +

+ The CSSPageRule interface represents a @page + rule within a CSS style sheet. The @page rule is + used to specify the dimensions, orientation, margins, etc. of a page box + for paged media. +

+
+ + + +

+ The parsable textual representation of the page selector for the rule. +

+
+ + + +

SYNTAX_ERR: Raised if the specified CSS string value has a syntax + error and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is + readonly.

+
+
+
+
+ + + +

+ The declaration-block of this rule. +

+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/CSSPrimitiveValue.xml b/java/external/xdocs/dom/xml/style/definitions/CSSPrimitiveValue.xml new file mode 100644 index 0000000..f58c958 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSSPrimitiveValue.xml @@ -0,0 +1,454 @@ + + + + + +

+ The CSSPrimitiveValue interface represents a single + CSS value. This + interface may be used to determine the value of a specific style property + currently set in a block or to set a specific style property explicitly + within the block. An instance of this interface might be obtained from + the getPropertyCSSValue method of the + CSSStyleDeclaration interface. A + CSSPrimitiveValue object only occurs in a context of a CSS + property. +

+

+ Conversions are allowed between absolute values (from millimeters to + centimeters, from degrees to radians, and so on) but not between relative + values. (For example, a pixel value cannot be converted to a centimeter + value.) Percentage values can't be converted since they are relative to + the parent value (or another property value). There is one exception for + color percentage values: since a color percentage value is relative to + the range 0-255, a color percentage value can be converted to a number; + (see also the RGBColor interface). +

+
+ + +

An integer indicating which type of unit applies to the value.

+
+ +

The value is not a recognized CSS2 value. The value can only be + obtained by using the cssText attribute.

+
+ +

The value is a simple number. + The value can be obtained by using the getFloatValue method.

+
+ +

The value is a percentage. + The value can be obtained by using the getFloatValue method.

+
+ +

The value is a length + (ems). The value can be obtained by using the getFloatValue + method.

+
+ +

The value is a length + (exs). The value can be obtained by using the getFloatValue + method.

+
+ +

The value is a length + (px). The value can be obtained by using the getFloatValue + method.

+
+ +

The value is a length + (cm). The value can be obtained by using the getFloatValue + method.

+
+ +

The value is a length + (mm). The value can be obtained by using the getFloatValue + method.

+
+ +

The value is a length + (in). The value can be obtained by using the getFloatValue + method.

+
+ +

The value is a length + (pt). The value can be obtained by using the getFloatValue + method.

+
+ +

The value is a length + (pc). The value can be obtained by using the getFloatValue + method.

+
+ +

The value is an angle + (deg). The value can be obtained by using the getFloatValue + method.

+
+ +

The value is an angle + (rad). The value can be obtained by using the getFloatValue + method.

+
+ +

The value is an angle + (grad). The value can be obtained by using the getFloatValue + method.

+
+ +

The value is a time + (ms). The value can be obtained by using the getFloatValue + method.

+
+ +

The value is a time (s). + The value can be obtained by using the getFloatValue method.

+
+ +

The value is a frequency + (Hz). The value can be obtained by using the getFloatValue + method.

+
+ +

The value is a frequency + (kHz). The value can be obtained by using the getFloatValue + method.

+
+ +

The value is a number with an unknown dimension. + The value can be obtained by using the getFloatValue method.

+
+ +

The value is a STRING. + The value can be obtained by using the getStringValue method.

+
+ +

The value is a URI. + The value can be obtained by using the getStringValue method.

+
+ +

The value is an identifier. + The value can be obtained by using the getStringValue method.

+
+ +

The value is a attribute + function. The value can be obtained by using the getStringValue + method.

+
+ +

The value is a counter or + counters function. The value can be obtained by using the + getCounterValue method.

+
+ +

The value is a rect + function. The value can be obtained by using the getRectValue + method.

+
+ +

The value is a RGB + color. The value can be obtained by using the getRGBColorValue + method.

+
+
+ + + +

The type of the value as defined by the constants specified above.

+
+
+ + + +

+ A method to set the float value with a specified unit. If the property + attached with this value can not accept the specified unit or the float + value, the value will be unchanged and a DOMException will + be raised. +

+
+ + + +

+ A unit code as defined above. The unit code can only be a float + unit type (i.e. CSS_NUMBER, + CSS_PERCENTAGE, CSS_EMS, + CSS_EXS, CSS_PX, CSS_CM, + CSS_MM, CSS_IN, CSS_PT, + CSS_PC, CSS_DEG, CSS_RAD, + CSS_GRAD, CSS_MS, CSS_S, + CSS_HZ, CSS_KHZ, + CSS_DIMENSION). +

+
+ + + +

+ The new float value. +

+
+ +
+ + + + + + + +

+ INVALID_ACCESS_ERR: Raised if the attached property doesn't support + the float value or the unit type.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ This method is used to get a float value in a specified unit. If this + CSS value doesn't contain a float value or can't be converted into the + specified unit, a DOMException is raised. +

+
+ + + +

+ A unit code to get the float value. The unit code can only be a + float unit type (i.e. CSS_NUMBER, + CSS_PERCENTAGE, CSS_EMS, + CSS_EXS, CSS_PX, CSS_CM, + CSS_MM, CSS_IN, CSS_PT, + CSS_PC, CSS_DEG, CSS_RAD, + CSS_GRAD, CSS_MS, CSS_S, + CSS_HZ, CSS_KHZ, + CSS_DIMENSION). +

+
+ +
+ + +

+ The float value in the specified unit. +

+
+
+ + + +

+ INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a float + value or if the float value can't be converted into the specified + unit. +

+
+
+
+
+ + + +

+ A method to set the string value with the specified unit. If the + property attached to this value can't accept the specified unit or the + string value, the value will be unchanged and a + DOMException will be raised. +

+
+ + + +

+ A string code as defined above. The string code can only be a + string unit type (i.e. CSS_STRING, + CSS_URI, CSS_IDENT, and + CSS_ATTR). +

+
+ + + +

+ The new string value. +

+
+ +
+ + + + + + + +

+ INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string + value or if the string value can't be converted into the specified + unit.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this property is + readonly.

+
+
+
+
+ + + +

+ This method is used to get the string value. If the + CSS value doesn't contain a string value, a DOMException + is raised. +

+ +

+ Some properties (like 'font-family' or + 'voice-family') + convert a whitespace separated list of idents to a string. +

+
+
+ + + + +

+ The string value in the current unit. The current + primitiveType can only be a string unit type + (i.e. CSS_STRING, CSS_URI, + CSS_IDENT and CSS_ATTR). +

+
+
+ + + +

+ INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a string + value. +

+
+
+
+
+ + + +

+ This method is used to get the Counter value. If this CSS value doesn't + contain a counter value, a DOMException is + raised. Modification to the corresponding style property can be + achieved using the Counter interface. +

+
+ + + + +

The Counter value.

+
+
+ + + +

+ INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a + Counter value (e.g. this is not CSS_COUNTER). +

+
+
+
+
+ + + +

+ This method is used to get the Rect value. If this CSS value doesn't + contain a rect value, a DOMException is + raised. Modification to the corresponding style property can be + achieved using the Rect interface. +

+
+ + + + +

The Rect value.

+
+
+ + + +

+ INVALID_ACCESS_ERR: Raised if the CSS value doesn't contain a Rect + value. (e.g. this is not CSS_RECT). +

+
+
+
+
+ + + +

+ This method is used to get the RGB color. If this CSS value doesn't + contain a RGB color value, a DOMException is + raised. Modification to the corresponding style property can be + achieved using the RGBColor interface. +

+
+ + + + +

the RGB color value.

+
+
+ + + +

+ INVALID_ACCESS_ERR: Raised if the attached property can't return a + RGB color value (e.g. this is not CSS_RGBCOLOR). +

+
+
+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/CSSRule.xml b/java/external/xdocs/dom/xml/style/definitions/CSSRule.xml new file mode 100644 index 0000000..dab2613 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSSRule.xml @@ -0,0 +1,96 @@ + + + + + +

+ The CSSRule interface is the abstract base interface for any + type of CSS statement. + This includes both rule sets + and at-rules. An + implementation is expected to preserve all rules specified in a CSS style + sheet, even if the rule is not recognized by the parser. Unrecognized + rules are represented using the CSSUnknownRule interface. +

+
+ + +

An integer indicating which type of rule this is.

+ +

The rule is a CSSUnknownRule.

+
+ +

The rule is a CSSStyleRule.

+
+ +

The rule is a CSSCharsetRule.

+
+ +

The rule is a CSSImportRule.

+
+ +

The rule is a CSSMediaRule.

+
+ +

The rule is a CSSFontFaceRule.

+
+ +

The rule is a CSSPageRule.

+
+
+ + + +

+ The type of the rule, as defined above. The expectation is that + binding-specific casting methods can be used to cast down from an + instance of the CSSRule interface to the specific derived + interface implied by the type. +

+
+
+ + + +

+ The parsable textual representation of the rule. This reflects the + current state of the rule and not its initial value. +

+
+ + + +

SYNTAX_ERR: Raised if the specified CSS string value has a syntax + error and is unparsable.

+

INVALID_MODIFICATION_ERR: Raised if the specified CSS string value + represents a different type of rule than the current one.

+

HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted at + this point in the style sheet.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if the rule is readonly.

+
+
+
+
+ + + +

+ The style sheet that contains this rule. +

+
+
+ + + +

+ If this rule is contained inside another rule (e.g. a style rule inside + an @media block), this is the containing rule. If this rule is not + nested inside any other rules, this returns null. +

+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/CSSRuleList.xml b/java/external/xdocs/dom/xml/style/definitions/CSSRuleList.xml new file mode 100644 index 0000000..17dbfe2 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSSRuleList.xml @@ -0,0 +1,52 @@ + + + + + +

+ The CSSRuleList interface provides the + abstraction of an ordered collection of CSS rules. +

+

+ The items in the CSSRuleList are accessible via an integral + index, starting from 0. +

+
+ + + +

+ The number of CSSRules in the list. The range of valid + child rule indices is 0 to length-1 inclusive. +

+
+
+ + + +

+ Used to retrieve a CSS rule by ordinal index. The order in this + collection represents the order of the rules in the CSS style sheet. If + index is greater than or equal to the number of rules in the list, this + returns null. +

+
+ + +

Index into the collection

+ +
+ +

The style rule at the index position in the + CSSRuleList, or null if + that is not a valid index. +

+
+ + + +
+
+ + diff --git a/java/external/xdocs/dom/xml/style/definitions/CSSStyleDeclaration.xml b/java/external/xdocs/dom/xml/style/definitions/CSSStyleDeclaration.xml new file mode 100644 index 0000000..5fa9cb9 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSSStyleDeclaration.xml @@ -0,0 +1,293 @@ + + + + + +

+ The CSSStyleDeclaration interface represents a single + CSS declaration block. This interface may be used to determine the style properties + currently set in a block or to set style properties explicitly within + the block. +

+

+ While an implementation may not recognize all CSS properties within a CSS + declaration block, it is expected to provide access to all specified + properties in the style sheet through the + CSSStyleDeclaration interface. Furthermore, implementations + that support a specific level of CSS should correctly handle CSS shorthand properties + for that level. For a further discussion of shorthand properties, see the + CSS2Properties interface. +

+

+ This interface is also used to provide a read-only access to the + computed + values of an element. See also the ViewCSS + interface. +

+ +

+ The CSS Object Model doesn't provide an access to the specified or + actual values of the + CSS cascade. +

+
+
+ + + +

+ The parsable textual representation of the declaration block (excluding + the surrounding curly braces). Setting this attribute will result in + the parsing of the new value and resetting of all the properties in the + declaration block including the removal or addition of properties. +

+
+ + + +

SYNTAX_ERR: Raised if the specified CSS string value has a syntax + error and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is + readonly or a property is readonly.

+
+
+
+
+ + + +

+ Used to retrieve the value of a CSS property if it has been explicitly + set within this declaration block. +

+
+ + + +

+ The name of the CSS property. See the CSS property index. +

+
+ +
+ + +

+ Returns the value of the property if it has been explicitly set + for this declaration block. Returns the empty string if the property + has not been set. +

+
+
+ + + +
+ + + +

+ Used to retrieve the object representation of the value of a CSS + property if it has been explicitly set within this declaration block. + This method returns null if the property is a shorthand property. Shorthand + property values can only be accessed and modified as strings, using + the getPropertyValue and setProperty methods. +

+
+ + + +

+ The name of the CSS property. See the CSS property index. +

+
+ +
+ + +

+ Returns the value of the property if it has been explicitly set for + this declaration block. Returns null if the property + has not been set. +

+
+
+ + + +
+ + + +

+ Used to remove a CSS property if it has been explicitly + set within this declaration block. +

+
+ + + +

+ The name of the CSS property. See the CSS property index. +

+
+ +
+ + +

+ Returns the value of the property if it has been explicitly set + for this declaration block. Returns the empty string if the property + has not been set or the property name does not correspond to + a known CSS property. +

+
+
+ + + +

NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is + readonly or the property is readonly.

+
+
+
+
+ + + +

+ Used to retrieve the priority of a CSS property + (e.g. the "important" qualifier) if the property + has been explicitly set in this declaration block. +

+
+ + + +

+ The name of the CSS property. See the CSS property + index. +

+
+ +
+ + +

+ A string representing the priority (e.g. "important") + if one exists. The empty string if none exists. +

+
+
+ + + +
+ + + +

+ Used to set a property value and priority within this declaration + block. +

+
+ + + +

+ The name of the CSS property. See the CSS property index. +

+
+ + + +

+ The new value of the property. +

+
+ + + +

+ The new priority of the property (e.g. "important"). +

+
+ +
+ + +

+

+
+
+ + + +

SYNTAX_ERR: Raised if the specified value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this declaration is + readonly or the property is readonly.

+
+
+
+
+ + + +

+ The number of properties that have been explicitly set in this + declaration block. The range of valid indices is 0 to length-1 + inclusive. +

+
+
+ + + +

+ Used to retrieve the properties that have been explicitly set in + this declaration block. The order of the properties retrieved using + this method does not have to be the order in which they were set. + This method can be used to iterate over all properties in this + declaration block. +

+
+ + + +

+ Index of the property name to retrieve. +

+
+ +
+ + +

+ The name of the property at this ordinal position. The empty string + if no property exists at this position. +

+
+
+ + + +
+ + + +

+ The CSS rule that contains this declaration block or null + if this CSSStyleDeclaration is not attached to a + CSSRule. +

+
+
+ + +
diff --git a/java/external/xdocs/dom/xml/style/definitions/CSSStyleRule.xml b/java/external/xdocs/dom/xml/style/definitions/CSSStyleRule.xml new file mode 100644 index 0000000..88bb235 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSSStyleRule.xml @@ -0,0 +1,45 @@ + + + + + +

+ The CSSStyleRule interface represents a single rule set + in a CSS style sheet. +

+
+ + + +

+ The textual representation of the selector + for the rule set. The implementation may have stripped out insignificant + whitespace while parsing the selector. +

+
+ + + +

SYNTAX_ERR: Raised if the specified CSS string value has a syntax error + and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this rule is + readonly.

+
+
+
+
+ + + +

+ The declaration-block + of this rule set. +

+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/CSSStyleSheet.xml b/java/external/xdocs/dom/xml/style/definitions/CSSStyleSheet.xml new file mode 100644 index 0000000..d774836 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSSStyleSheet.xml @@ -0,0 +1,124 @@ + + + + + +

+ The CSSStyleSheet interface is a concrete interface used + to represent a CSS style sheet i.e., a style sheet whose content type + is "text/css". +

+
+ + + +

+ If this style sheet comes from an @import rule, the + ownerRule attribute will contain the + CSSImportRule. In that case, the ownerNode + attribute in the StyleSheet interface will be + null. If the style sheet comes from an element or a + processing instruction, the ownerRule attribute will be + null and the ownerNode attribute will contain + the Node. +

+
+
+ + + +

+ The list of all CSS rules contained within the style sheet. + This includes both rule sets and + at-rules. +

+
+
+ + + +

+ Used to insert a new rule into the style sheet. The new rule now + becomes part of the cascade. +

+
+ + + +

+ The parsable text representing the rule. For rule sets + this contains both the selector and the style declaration. + For at-rules, this specifies both the at-identifier and the + rule content. +

+
+ + + +

+ The index within the style sheet's rule list of the rule + before which to insert the specified rule. If the + specified index is equal to the length of the style sheet's rule + collection, the rule will be added to the end of the style sheet. +

+
+ +
+ + +

+ The index within the style sheet's rule collection of the newly + inserted rule. +

+
+
+ + + +

HIERARCHY_REQUEST_ERR: Raised if the rule cannot be inserted + at the specified index e.g. if an @import rule + is inserted after a standard rule set or other at-rule.

+

INDEX_SIZE_ERR: Raised if the specified index is not a valid + insertion point.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is + readonly.

+

SYNTAX_ERR: Raised if the specified rule has a syntax error + and is unparsable.

+
+
+
+
+ + + +

+ Used to delete a rule from the style sheet. +

+
+ + + +

+ The index within the style sheet's rule list of the rule + to remove. +

+
+ +
+ +

+
+ + + +

INDEX_SIZE_ERR: Raised if the specified index does not correspond + to a rule in the style sheet's rule list.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this style sheet is + readonly.

+
+
+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/CSSUnknownRule.xml b/java/external/xdocs/dom/xml/style/definitions/CSSUnknownRule.xml new file mode 100644 index 0000000..305757d --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSSUnknownRule.xml @@ -0,0 +1,13 @@ + + + + + +

+ The CSSUnknownRule interface represents an at-rule not + supported by this user agent. +

+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/CSSValue.xml b/java/external/xdocs/dom/xml/style/definitions/CSSValue.xml new file mode 100644 index 0000000..a8468a4 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSSValue.xml @@ -0,0 +1,75 @@ + + + + + +

+ The CSSValue interface represents a simple or a complex + value. A CSSValue object only occurs in a context of a CSS + property. +

+
+ + + +

An integer indicating which type of unit applies to the value.

+
+ +

The value is inherited and the cssText contains + "inherit".

+
+
+ + +

The value is a primitive value and an instance of the + CSSPrimitiveValue interface can be obtained by using + binding-specific casting methods on this instance of the + CSSValue interface.

+
+
+ +

The value is a CSSValue list and an instance of + the CSSValueList interface can be obtained by using + binding-specific casting methods on this instance of the + CSSValue interface.

+
+
+ +

The value is a custom value.

+
+
+
+ + + +

+ A string representation of the current value. +

+
+ + + +

+ SYNTAX_ERR: Raised if the specified CSS string value has a syntax + error (according to the attached property) or is unparsable. +

+

INVALID_MODIFICATION_ERR: Raised if the specified CSS string value + represents a different type of values than the values allowed by + the CSS property.

+

+ NO_MODIFICATION_ALLOWED_ERR: Raised if this value is readonly. +

+
+
+
+
+ + + +

+ A code defining the type of the value as defined above. +

+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/CSSValueList.xml b/java/external/xdocs/dom/xml/style/definitions/CSSValueList.xml new file mode 100644 index 0000000..75984e6 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/CSSValueList.xml @@ -0,0 +1,53 @@ + + + + + +

The CSSValueList interface provides the abstraction of an + ordered collection of CSS values.

+

+ Some properties allow an empty list into their syntax. In that case, + these properties take the none identifier. So, an empty list + means that the property has the value none. +

+

+ The items in the CSSValueList are accessible via an integral + index, starting from 0. +

+
+ + +

The number of CSSValues in the list. The range of valid + values of the indices is 0 to length-1 + inclusive.

+
+
+ + + +

Used to retrieve a CSSValue by ordinal index. The order in this + collection represents the order of the values in the CSS style + property. If index is greater than or equal to the number of values in the list, this + returns null.

+
+ + + +

Index into the collection.

+
+ +
+ + +

The CSSValue at the index position in the + CSSValueList, or null if that is not a valid + index.

+
+
+ + + +
+
diff --git a/java/external/xdocs/dom/xml/style/definitions/Counter.xml b/java/external/xdocs/dom/xml/style/definitions/Counter.xml new file mode 100644 index 0000000..9ddc65d --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/Counter.xml @@ -0,0 +1,37 @@ + + + + + +

+ The Counter interface is used to represent any counter or + counters function value. This interface reflects the values in + the underlying style property. +

+
+ + + +

+ This attribute is used for the identifier of the counter. +

+
+
+ + + +

+ This attribute is used for the style of the list. +

+
+
+ + + +

+ This attribute is used for the separator of the nested counters. +

+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/DOMImplementationCSS.xml b/java/external/xdocs/dom/xml/style/definitions/DOMImplementationCSS.xml new file mode 100644 index 0000000..1266e6b --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/DOMImplementationCSS.xml @@ -0,0 +1,51 @@ + + + + +

+ This interface allows the DOM user to create a CSSStyleSheet + outside the context of a document. There is no way to associate the new + CSSStyleSheet with a document in DOM Level 2. +

+
+ + +

Creates a new CSSStyleSheet.

+
+ + + +

+ The advisory title. See also the section. +

+
+ + + +

+ The comma-separated list of media associated with the new style + sheet. See also the + section. +

+
+ +
+ + +

A new CSS style sheet.

+
+
+ + + +

+ SYNTAX_ERR: Raised if the specified media string value has a syntax + error and is unparsable. +

+
+
+
+
+
diff --git a/java/external/xdocs/dom/xml/style/definitions/DocumentCSS.xml b/java/external/xdocs/dom/xml/style/definitions/DocumentCSS.xml new file mode 100644 index 0000000..d4c93e6 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/DocumentCSS.xml @@ -0,0 +1,64 @@ + + + + + +

This interface represents a document with a CSS view.

+

+ The getOverrideStyle method provides a mechanism through + which a DOM author could effect immediate change to the style of an + element without modifying the explicitly linked style sheets of a + document or the inline style of elements in the style sheets. This style + sheet comes after the author style sheet in the cascade algorithm and is + called override style sheet. The override style sheet takes + precedence over author style sheets. An "!important" declaration still + takes precedence over a normal declaration. Override, author, and user + style sheets all may contain "!important" declarations. User "!important" + rules take precedence over both override and author "!important" rules, + and override "!important" rules take precedence over author "!important" + rules. +

+

+ The expectation is that an instance of the DocumentCSS + interface can be obtained by using binding-specific casting methods on an + instance of the Document interface. +

+
+ + + +

+ This method is used to retrieve the override style declaration for a + specified element and a specified pseudo-element. +

+
+ + + +

+ The element whose style is to be modified. This parameter cannot + be null. +

+
+ + + +

+ The pseudo-element or null if none. +

+
+ +
+ + +

+ The override style declaration. +

+
+
+ + +
+ +
\ No newline at end of file diff --git a/java/external/xdocs/dom/xml/style/definitions/DocumentStyle.xml b/java/external/xdocs/dom/xml/style/definitions/DocumentStyle.xml new file mode 100644 index 0000000..a381064 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/DocumentStyle.xml @@ -0,0 +1,31 @@ + + + + + +

+ The DocumentStyle interface provides a mechanism by which + the style sheets embedded in a document can be retrieved. The expectation + is that an instance of the DocumentStyle interface can be + obtained by using binding-specific casting methods on an instance of the + Document interface. +

+
+ + + +

+ A list containing all the style sheets explicitly linked into or + embedded in a document. For HTML documents, this includes external + style sheets, included via the HTML + + LINK element, and inline + + STYLE elements. In XML, this includes external + style sheets, included via style sheet + processing instructions (see ). +

+
+
+
diff --git a/java/external/xdocs/dom/xml/style/definitions/ElementCSSInlineStyle.xml b/java/external/xdocs/dom/xml/style/definitions/ElementCSSInlineStyle.xml new file mode 100644 index 0000000..9bad158 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/ElementCSSInlineStyle.xml @@ -0,0 +1,28 @@ + + + + + +

+ Inline style information attached to elements is exposed through the + style attribute. This represents the contents of the + STYLE + attribute for HTML elements (or elements in other schemas or DTDs which + use the STYLE attribute in the same way). The expectation is that an + instance of the ElementCSSInlineStyle interface can be obtained by using + binding-specific casting methods on an instance of the Element interface + when the element supports inline CSS style informations. +

+
+ + + +

+ The style attribute. +

+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/LinkStyle.xml b/java/external/xdocs/dom/xml/style/definitions/LinkStyle.xml new file mode 100644 index 0000000..87e24d0 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/LinkStyle.xml @@ -0,0 +1,22 @@ + + + + +

+ The LinkStyle interface provides a mechanism by which a + style sheet can be retrieved from the node responsible for linking it + into a document. An instance of the LinkStyle interface can + be obtained using binding-specific casting methods on an instance of a + linking node (HTMLLinkElement, HTMLStyleElement + or ProcessingInstruction in DOM Level 2). +

+
+ + +

+ The style sheet. +

+
+
+
diff --git a/java/external/xdocs/dom/xml/style/definitions/MediaList.xml b/java/external/xdocs/dom/xml/style/definitions/MediaList.xml new file mode 100644 index 0000000..e3ab491 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/MediaList.xml @@ -0,0 +1,143 @@ + + + + +

+ The MediaList interface provides the abstraction of an + ordered collection of media, + without defining or constraining how this collection is implemented. An + empty list is the same as a list that contains the medium + "all". +

+

+ The items in the MediaList are accessible via an integral + index, starting from 0. +

+
+ + + +

+ The parsable textual representation of the media list. This is a + comma-separated list of media. +

+
+ + + +

SYNTAX_ERR: Raised if the specified string value has a syntax + error and is unparsable.

+

NO_MODIFICATION_ALLOWED_ERR: Raised if this media list is + readonly.

+
+
+
+
+ + + +

+ The number of media in the list. The range of valid media is + 0 to length-1 inclusive. +

+
+
+ + + +

+ Returns the indexth in the list. If index is + greater than or equal to the number of media in the list, this returns + null. +

+
+ + + +

+ Index into the collection. +

+
+ +
+ + +

+ The medium at the indexth position in the + MediaList, or null if that is not a + valid index. +

+
+
+ + +
+ + + +

+ Deletes the medium indicated by oldMedium from the list. +

+
+ + + +

The medium to delete in the media list.

+
+ +
+ + +

+
+
+ + + +

+ NO_MODIFICATION_ALLOWED_ERR: Raised if this list is readonly. +

+

+ NOT_FOUND_ERR: Raised if oldMedium is not in the list. +

+
+
+
+
+ + + +

+ Adds the medium newMedium to the end of the list. If the + newMedium is already used, it is first removed. +

+
+ + + +

The new medium to add.

+
+ +
+ + +

+
+
+ + + +

+ INVALID_CHARACTER_ERR: If the medium contains characters that are + invalid in the underlying style language. +

+

+ NO_MODIFICATION_ALLOWED_ERR: Raised if this list is readonly. +

+
+
+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/RGBColor.xml b/java/external/xdocs/dom/xml/style/definitions/RGBColor.xml new file mode 100644 index 0000000..6cbe191 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/RGBColor.xml @@ -0,0 +1,53 @@ + + + + + +

+ The RGBColor interface is used to represent any RGB + color value. This interface reflects the values in the + underlying style property. Hence, modifications made to the + CSSPrimitiveValue objects modify the style property. +

+

+ A specified RGB color is not clipped (even if the number is outside the + range 0-255 or 0%-100%). A computed RGB color is clipped depending on the + device. +

+

+ Even if a style sheet can only contain an integer for a color value, the + internal storage of this integer is a float, and this can be used as a + float in the specified or the computed style. +

+

+ A color percentage value can always be converted to a number and vice + versa. +

+
+ + + +

+ This attribute is used for the red value of the RGB color. +

+
+
+ + + +

+ This attribute is used for the green value of the RGB color. +

+
+
+ + + +

+ This attribute is used for the blue value of the RGB color. +

+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/Rect.xml b/java/external/xdocs/dom/xml/style/definitions/Rect.xml new file mode 100644 index 0000000..815e8f6 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/Rect.xml @@ -0,0 +1,51 @@ + + + + + +

+ The Rect interface is used to represent any rect + value. This interface reflects the values in the underlying style + property. Hence, modifications made to the CSSPrimitiveValue + objects modify the style property. +

+
+ + + +

+ This attribute is used for the top of the rect. +

+
+
+ + + +

+ This attribute is used for the right of the rect. +

+
+
+ + + +

+ This attribute is used for the bottom of the rect. +

+
+
+ + + +

+ This attribute is used for the left of the rect. +

+
+
+ +
diff --git a/java/external/xdocs/dom/xml/style/definitions/StyleSheet.xml b/java/external/xdocs/dom/xml/style/definitions/StyleSheet.xml new file mode 100644 index 0000000..4c3857e --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/StyleSheet.xml @@ -0,0 +1,115 @@ + + + + + +

+ The StyleSheet interface is the abstract base interface for + any type of style sheet. It represents a single style sheet associated + with a structured document. In HTML, the StyleSheet interface represents + either an external style sheet, included via the HTML + + LINK element, or an inline + + STYLE element. In XML, this interface represents an external + style sheet, included via a style sheet + processing instruction. +

+
+ + + +

+ This specifies the style sheet language for this style sheet. The style + sheet language is specified as a content type (e.g. "text/css"). The + content + type is often specified in the ownerNode. Also + see the type + attribute definition for the LINK element in + HTML 4.0, and the type pseudo-attribute for the XML style sheet processing instruction. +

+
+
+ + + +

+ false if the style sheet is applied to the document. + true if it is not. Modifying this attribute may cause a + new resolution of style for the document. A stylesheet only applies if + both an appropriate medium definition is present and the disabled + attribute is false. So, if the media doesn't apply to the current user + agent, the disabled attribute is ignored. +

+
+
+ + + +

+ The node that associates this style sheet with the document. For HTML, + this may be the corresponding LINK or STYLE + element. For XML, it may be the linking processing instruction. For + style sheets that are included by other style sheets, the value of this + attribute is null. +

+
+
+ + + +

+ For style sheet languages that support the concept of style sheet + inclusion, this attribute represents the including style sheet, if one + exists. If the style sheet is a top-level style sheet, or the style + sheet language does not support inclusion, the value of this attribute + is null. +

+
+
+ + + +

+ If the style sheet is a linked style sheet, the value of its attribute + is its location. For inline style sheets, the value of this attribute + is null. See the href + attribute definition for the LINK element in HTML + 4.0, and the href pseudo-attribute for the XML style sheet processing + instruction. +

+
+
+ + + +

+ The advisory title. The title is often specified in the + ownerNode. See the title attribute + definition for the LINK element in HTML 4.0, + and the title pseudo-attribute for the XML style sheet processing instruction. +

+
+
+ + + +

+ The intended destination media for style information. The media is + often specified in the ownerNode. If no media has been + specified, the MediaList will be empty. See the media + attribute definition for the LINK element in + HTML 4.0, and the media pseudo-attribute for the XML style sheet processing + instruction . Modifying the media list may cause a change to + the attribute disabled. +

+
+
+
diff --git a/java/external/xdocs/dom/xml/style/definitions/StyleSheetList.xml b/java/external/xdocs/dom/xml/style/definitions/StyleSheetList.xml new file mode 100644 index 0000000..3e4db64 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/StyleSheetList.xml @@ -0,0 +1,51 @@ + + + + + +

The StyleSheetList interface provides the + abstraction of an ordered collection of style sheets. +

+

+ The items in the StyleSheetList are accessible via an + integral index, starting from 0. +

+
+ + + +

+ The number of StyleSheets in the list. The range of valid + child stylesheet indices is 0 to length-1 + inclusive. +

+
+
+ + + +

+ Used to retrieve a style sheet by ordinal index. If index is greater + than or equal to the number of style sheets in the list, this returns + null. +

+
+ + +

Index into the collection

+ +
+ +

The style sheet at the index position in the + StyleSheetList, or null if + that is not a valid index. +

+
+ + + +
+
+ + diff --git a/java/external/xdocs/dom/xml/style/definitions/ViewCSS.xml b/java/external/xdocs/dom/xml/style/definitions/ViewCSS.xml new file mode 100644 index 0000000..e6e52d2 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/definitions/ViewCSS.xml @@ -0,0 +1,63 @@ + + + + + +

+ This interface represents a CSS view. The getComputedStyle + method provides a read only access to the computed values of + an element. +

+

+ The expectation is that an instance of the ViewCSS + interface can be obtained by using binding-specific casting methods on an + instance of the AbstractView interface. +

+

+ Since a computed style is related to an Element node, if + this element is removed from the document, the associated + CSSStyleDeclaration and CSSValue related to + this declaration are no longer valid. +

+ +
+ + + +

+ This method is used to get the computed style as it is defined in + . +

+
+ + + +

+ The element whose style is to be computed. This parameter cannot + be null. +

+
+ + + +

+ The pseudo-element or null if none. +

+
+ +
+ + +

+ The computed style. The CSSStyleDeclaration is + read-only and contains only absolute values. +

+
+
+ + + +
+ +
diff --git a/java/external/xdocs/dom/xml/style/dom-spec.xml b/java/external/xdocs/dom/xml/style/dom-spec.xml new file mode 100644 index 0000000..3d5709e --- /dev/null +++ b/java/external/xdocs/dom/xml/style/dom-spec.xml @@ -0,0 +1,195 @@ + + + + +%version; + +%links; + +%parts; + +]> + + + +&options; + +
+Document Object Model (DOM) Level 2 Style Specification +1.0 &doc.prefix;-&doc.date; + W3C Recommendation +&date.day; &date.month; &date.year; + + &this.url; +&ps.loc; +&pdf.loc; +&txt.loc; +&zip.loc; + + &latest.url; + +&prev.locs; + + + Chris Wilson +Microsoft Corp. + Philippe Le Hégaret +W3C, team contact (from November 1999) + Vidur Apparao +Netscape Communications Corp. + + + + +

This specification defines the Document Object Model Level 2 Style Sheets +and Cascading Style Sheets (CSS), a platform- and language-neutral interface +that allows programs and scripts to dynamically access and update the content +and of style sheets documents. The Document Object Model Level 2 Style +builds on the Document Object Model Level 2 Core and on +the Document Object Model Level 2 Views .

+ +
+ +&status; + + +

Created in electronic form.

+
+ +English + + +

$Revision$

+
+ +
+ + &toc; + ©right; + + + + &stylesheets; + &css; + + + + + IDL Definitions + +

This appendix contains the complete OMG IDL for the + Level 2 Document Object Model Style definitions. The + definitions are divided into Stylesheets + and CSS.

+ + +

The IDL files are also available as: &this.url;/idl.zip

+ + + Document Object Model Style Sheets + + + + + Document Object Model CSS + + + +
+ + + Java Language Binding + +

This appendix contains the complete Java Language + binding for the Level 2 Document Object Model Style. The definitions are + divided into StyleSheets and CSS.

+ +

The Java files are also available as &this.url;/java-binding.zip

+ + + Document Object Model Style Sheets + + + + + Document Object Model CSS + + + +
+ + ECMAScript Language Binding + +

This appendix contains the complete ECMAScript binding for the Level 2 Document Object Model Style + definitions. The definitions are divided into + StyleSheets and + CSS.

+ + +

+ Exceptions handling is only supported by ECMAScript implementation + conformant with the Standard ECMA-262 3rd. Edition (). +

+
+ + + Document Object Model StyleSheets + + + + + Document Object Model CSS + + + +
+ &contributors; + &references; + &index; +
+
diff --git a/java/external/xdocs/dom/xml/style/stylesheets.xml b/java/external/xdocs/dom/xml/style/stylesheets.xml new file mode 100644 index 0000000..df05e08 --- /dev/null +++ b/java/external/xdocs/dom/xml/style/stylesheets.xml @@ -0,0 +1,150 @@ + + + + + Document Object Model Style Sheets + + + Chris Wilson + Microsoft Corp. + + + Philippe Le Hégaret + W3C + + + Vidur Apparao + Netscape Communications Corp. + + + + + + Introduction +

+ The DOM Level 2 Style Sheet interfaces are base interfaces used to + represent any type of style sheet. The expectation is that DOM modules + that represent a specific style sheet language may contain interfaces + that derive from these interfaces. +

+

+ The interfaces found within this section are not mandatory. A DOM + application may use the hasFeature(feature, version) method + of the DOMImplementation interface with parameter values + "StyleSheets" and "2.0" (respectively) to determine whether or not this module + is supported by the implementation. In order to fully support this + module, an implementation must also support the "Core" feature defined + defined in the DOM 2 Core specification . Please refer to additional information about conformance + in the DOM Level 2 Core specification . +

+ +
+ + + Style Sheet Interfaces +

This set of interfaces represents the generic notion of style sheets.

+ + &stylesheets-stylesheet; + &stylesheets-stylesheetlist; + &stylesheets-medialist; + +
+ + + Document Extensions + + &stylesheets-linkstyle; + &stylesheets-documentstyle; + + + + + Association between a style sheet and a document. + + + + +

+ A style sheet can be associated with an HTMLDocument in one of two + ways: +

+ + +

+ By creating a new LINK HTML element (see the + HTMLLinkElement interface in the and ). The underlying + style sheet will be created after the element is inserted into + the document and both the href and the type attribute have been + set in a way indicating that the linked object is a style + sheet. +

+
+ +

+ By creating a new STYLE HTML element (see the + HTMLStyleElement interface in the and ). The underlying style + sheet will be created after the element is inserted into the + document and the type attribute is set in a way indicating that + the element corresponds to a style sheet language interpreted + by the user agent. +

+
+
+
+
+ + + +

+ Removing a LINK HTML element or a STYLE HTML element removes the + underlying style sheet from the style sheet collection associated + with a document. Specifically, the removed style sheet is no longer + applied to the presentation of the document. +

+
+
+ + + +

+ A new style sheet can be created and associated with an XML + document by creating a processing instruction with the target + 'xml-stylesheet' and inserting it + into the document. +

+
+
+ + + +

+ Removing a processing instruction with a target of 'xml-stylesheet' + removes the underlying style sheet + from the style sheet collection associated with a document. + Specifically, the removed style sheet is no longer applied to the + presentation of the document. +

+
+
+
+
+
+ diff --git a/java/external/xdocs/dom/xml/toc.xml b/java/external/xdocs/dom/xml/toc.xml new file mode 100644 index 0000000..fca9a7f --- /dev/null +++ b/java/external/xdocs/dom/xml/toc.xml @@ -0,0 +1,6 @@ + + + + Expanded Table of Contents + + diff --git a/java/external/xdocs/dom/xml/traversal-range/dom-spec.xml b/java/external/xdocs/dom/xml/traversal-range/dom-spec.xml new file mode 100644 index 0000000..fc4f1aa --- /dev/null +++ b/java/external/xdocs/dom/xml/traversal-range/dom-spec.xml @@ -0,0 +1,211 @@ + + + + +%version; + +%links; + +%parts; + +]> + + + +&options; + +
+Document Object Model (DOM) Level 2 Traversal and Range Specification +1.0 &doc.prefix;-&doc.date; + W3C Recommendation +&date.day; &date.month; &date.year; + + &this.url; +&ps.loc; +&pdf.loc; +&txt.loc; +&zip.loc; + + &latest.url; + +&prev.locs; + + + Joe Kesselman +IBM + Jonathan Robie +Texcel Research and Software AG + Mike Champion +Arbortext and Software AG + Peter Sharpe +SoftQuad Software Inc. + Vidur Apparao +Netscape Communications Corp. + Lauren Wood +SoftQuad Software Inc., WG Chair + + + + +

This specification defines the Document Object Model Level 2 Traversal and +Range, platform- and language-neutral interfaces that allow programs and +scripts to dynamically traverse and identify a range of content +in a document. The Document Object Model Level 2 Traversal and Range +build on the Document Object Model Level 2 Core .

+ +

The DOM Level 2 Traversal and Range specification is composed of two modules. The +two modules contain specialized interfaces dedicated to traversing the document structure +and identifying and manipulating a range in a document.

+ +
+ +&status; + + +

Created in electronic form.

+
+ +English + + +

$Revision$

+
+ +
+ + &toc; + ©right; + + + + &traversal; + ⦥ + + + + + + IDL Definitions + +

This appendix contains the complete OMG IDL for the + Level 2 Document Object Model Traversal and Range definitions. The + definitions are divided into Traversal, and + Range.

+ +

The IDL files are also available as: &this.url;/idl.zip

+ + + Document Object Model Traversal + + + + + Document Object Model Range + + + +
+ + + Java Language Binding + +

This appendix contains the complete Java Language + binding for the Level 2 Document Object Model Traversal and Range. The + definitions are divided into Traversal, and + Range.

+ +

The Java files are also available as &this.url;/java-binding.zip

+ + + Document Object Model Traversal + + + + + Document Object Model Range + + + +
+ + ECMAScript Language Binding + +

This appendix contains the complete ECMAScript binding for the Level 2 Document Object Model Traversal + and Range definitions. The definitions are divided into + Traversal, and + Range.

+ + +

+ Exceptions handling is only supported by ECMAScript implementation + conformant with the Standard ECMA-262 3rd. Edition (). +

+
+ + + + + Document Object Model Traversal + + + + + Document Object Model Range + + + +
+ &contributors; + &glossary; + &references; + &index; +
+
diff --git a/java/external/xdocs/dom/xml/traversal-range/range.xml b/java/external/xdocs/dom/xml/traversal-range/range.xml new file mode 100644 index 0000000..dcaba66 --- /dev/null +++ b/java/external/xdocs/dom/xml/traversal-range/range.xml @@ -0,0 +1,1385 @@ + + + + + Document Object Model Range + + + Peter Sharpe + SoftQuad Software Inc. + + + Vidur Apparao + Netscape Communications Corp. + + + Lauren Wood + SoftQuad Software Inc. + + + + + Introduction +

A Range identifies a range of content in a Document, DocumentFragment + or Attr. It is contiguous in the sense that it can be characterized as + selecting all of the content between a pair of boundary-points.

+ +

In a text editor or a word processor, a user can make a selection by + pressing down the mouse at one point in a document, moving the mouse to another + point, and releasing the mouse. The resulting selection is contiguous and + consists of the content between the two points.

+
+

The term 'selecting' does not mean that every Range corresponds to a + selection made by a GUI user; however, such a selection can be returned to a + DOM user as a Range.

+ +

In bidirectional writing (Arabic, Hebrew), a range may correspond to + a logical selection that is not necessarily contiguous when displayed. A + visually contiguous selection, also used in some cases, may not correspond to a + single logical selection, and may therefore have to be represented by more than + one range.

+
+

The Range interface provides methods for accessing and manipulating the + document tree at a higher level than similar methods in the Node interface. The + expectation is that each of the methods provided by the Range interface for the + insertion, deletion and copying of content can be directly mapped to a series + of Node editing operations enabled by DOM Core. In this sense, the Range + operations can be viewed as convenience methods that also enable the + implementation to optimize common editing patterns.

+

This chapter describes the Range interface, including methods for + creating and moving a Range and methods for manipulating content with Ranges.

+

+ The interfaces found within this section are not mandatory. A DOM + application may use the hasFeature(feature, version) method + of the DOMImplementation interface with parameter values + "Range" and "2.0" (respectively) to determine whether or not this module + is supported by the implementation. In order to fully support this + module, an implementation must also support the "Core" feature defined + defined in the DOM Level 2 Core specification . Please refer to additional information about conformance + in the DOM Level 2 Core specification . +

+
+ + Definitions and Notation + + Position +

This chapter refers to two different representations of a document: + the text or source form that includes the document markup and the tree + representation similar to the one described in the + introduction section of the DOM Level 2 Core .

+

A Range consists of two boundary-points corresponding to + the start and the end of the Range. + A boundary-point's + position in a Document or DocumentFragment tree can be characterized by a node + and an offset. The node + is called the container of the boundary-point and of its + position. The container and its ancestors are the ancestor + containers of the boundary-point and of its position. + The offset within the node is called the + offset of the boundary-point and its position. If the + container is an Attr, Document, DocumentFragment, Element or EntityReference + node, the offset is between its child nodes. If the container is a + CharacterData, Comment or ProcessingInstruction node, the offset is between the + 16-bit units of the UTF-16 encoded string contained by it.

+

The boundary-points of a + Range must have a common ancestor + container which is either a Document, DocumentFragment or Attr node. + That is, the content of a Range must be entirely within the subtree rooted by a + single Document, DocumentFragment or Attr Node. + This common + ancestor container is known as + the root container of the Range. + The tree rooted by the + root container is known as the + Range's context tree.

+

The container of a + boundary-point of a Range must be an + Element, Comment, ProcessingInstruction, EntityReference, CDATASection, + Document, DocumentFragment, Attr, or Text node. None of the + ancestor containers of the + boundary-point of a Range can be a + DocumentType, Entity or Notation node.

+

In terms of the text representation of a document, the + boundary-points of a Range can only + be on token boundaries. That is, the boundary-point of the text range cannot be in + the middle of a start- or end-tag of an element or within the name of an entity + or character reference. A Range locates a contiguous portion of the content of + the structure model.

+

The relationship between locations in a text representation of the + document and in the Node tree interface of the DOM is illustrated in the + following diagram:

+ +

In this diagram, four different Ranges are illustrated. The + boundary-points of each Range are + labelled with s# (the start of the Range) and e# (the end of the + Range), where # is the number of the Range. For Range 2, the start is in the + BODY element and is immediately after the H1 element and immediately before the + P element, so its position is between the H1 and P children of BODY. The + offset of a boundary-point whose + container is not a CharacterData node is + 0 if it is before the first child, 1 if between the first and second child, and + so on. So, for the start of the Range 2, the container is BODY and the offset is 1. The offset of a boundary-point whose + container is a CharacterData node is + obtained similarly but using 16-bit unit positions instead. For example, the + boundary-point labelled s1 of the + Range 1 has a Text node (the one containing "Title") as its + container and an offset of 2 since it is between the second and third + 16-bit unit.

+

Notice that the boundary-points of Ranges 3 and 4 correspond + to the same location in the text representation. An important feature of the + Range is that a boundary-point of a + Range can unambiguously represent every position within the document tree.

+

The containers and + offsets of the + boundary-points can be obtained + through the following read-only Range attributes: + readonly attribute Node startContainer; + readonly attribute long startOffset; + readonly attribute Node endContainer; + readonly attribute long endOffset; +

+

If the + boundary-points of a Range have the + same containers and + offsets, the Range is said to be a + collapsed Range. (This is often referred to as an + insertion point in a user agent.)

+
+ + Selection and Partial Selection +

A node or 16-bit unit unit is said + to be selected by a Range if it is between the two + boundary-points of the + Range, that is, if the position immediately before the node or 16-bit + unit is before the end of the Range and the position immediately after the node + or 16-bit unit is after the start of the range. For example, in terms of a text + representation of the document, an element would be selected by a Range if its corresponding start-tag + was located after the start of the Range and its end-tag was located before the + end of the Range. In the examples in the above diagram, the Range 2 + selects the P node and the Range 3 + selects the text node containing the text + "Blah xyz."

+

A node is said to be partially selected + by a Range if it is an ancestor + container of exactly one boundary-point of the Range. For + example, consider Range 1 in the above diagram. The element H1 is + partially selected by that Range + since the start of the Range is within one of its children.

+
+ + Notation +

Many of the examples in this chapter are illustrated using a text + representation of a document. The boundary-points of a Range are indicated by + displaying the characters (be they markup or data characters) between the two + boundary-points in bold, as in + <FOO>ABC<BAR>DEF</BAR></FOO> +

+

When both boundary-points are at + the same position, they are indicated with a bold caret ('^'), as in + <FOO>A^BC<BAR>DEF</BAR></FOO> +

+ +
+
+ +Creating a Range +

A Range is created by calling the createRange() method on +the DocumentRange interface. This interface can be obtained from +the object implementing the Document interface using +binding-specific casting methods. + interface DocumentRange { + Range createRange(); + }

+

The initial state of the Range returned from this method is such that both +of its boundary-points are positioned +at the beginning of the corresponding Document, before any content. In other +words, the container of each boundary-point is the Document node and the +offset within that node is 0.

+

Like some objects created using methods in the Document interface (such as +Nodes and DocumentFragments), Ranges created via a particular document instance +can select only content associated with that Document, or with +DocumentFragments and Attrs for which that Document is +the ownerDocument. Such Ranges, then, can not be used with other +Document instances.

+
+ +Changing a Range's Position +

A Range's position can be specified by setting the container and offset of each boundary-point with +the setStart and setEnd methods. + void setStart(in Node parent, in long offset) + raises(RangeException); + void setEnd(in Node parent, in long offset) + raises(RangeException); +

+

If one boundary-point of a Range is set to have a root container other than the current one for +the Range, the Range is collapsed to the +new position. This enforces the restriction that both boundary-points of a +Range must have the same root +container.

+

The start position of a Range is guaranteed to never be after the end +position. To enforce this restriction, if the start is set to be at a position +after the end, the Range is collapsed to +that position. Similarly, if the end is set to be at a position before the +start, the Range is collapsed to that +position.

+

It is also possible to set a Range's position relative to nodes in the tree: + void setStartBefore(in Node node); + raises(RangeException); + void setStartAfter(in Node node); + raises(RangeException); + void setEndBefore(in Node node); + raises(RangeException); + void setEndAfter(in Node node); + raises(RangeException); +

+

The parent of the node becomes the container of the boundary-point and the Range is subject to the +same restrictions as given above in the description +of setStart()and setEnd().

+

A Range can be collapsed to either +boundary-point: + void collapse(in boolean toStart);

+

Passing TRUE as the parameter toStart will collapse the Range to its start, FALSE +to its end.

+

Testing whether a Range is collapsed can be done by examining the +collapsed attribute: + readonly attribute boolean collapsed;

+

The following methods can be used to make a Range select the contents of a +node or the node itself. + void selectNode(in Node n); + void selectNodeContents(in Node n);

+

The following examples demonstrate the operation of the +methods selectNode and selectNodeContents: +Before: + ^<BAR><FOO>A<MOO>B</MOO>C</FOO></BAR> +After Range.selectNodeContents(FOO): + <BAR><FOO>A<MOO>B</MOO>C</FOO></BAR> +(In this case, FOO is the parent of both boundary-points) +After Range.selectNode(FOO): + +<BAR><FOO>A<MOO>B</MOO>C</FOO></BAR>

+
+ +Comparing Range Boundary-Points +

It is possible to compare two Ranges by comparing their boundary-points: + short compareBoundaryPoints(in CompareHow how, in Range sourceRange) raises(RangeException);

+

where CompareHow is one of four +values: START_TO_START, START_TO_END, +END_TO_END and END_TO_START. The return value is -1, 0 or 1 +depending on whether the corresponding boundary-point of the Range is before, +equal to, or after the corresponding boundary-point of +sourceRange. An exception is thrown if the two Ranges have +different root containers.

+

The result of comparing two boundary-points (or positions) is specified +below. An informal but not always correct specification is that an +boundary-point is before, equal to, or after another if it corresponds to a +location in a text representation before, equal to, or after the other's +corresponding location.

+

Let A and B be two boundary-points or positions. Then one +of the following holds: A is before B, A is equal +to B, or A is after B. Which one holds is specified in the +following by examining four cases:

+

In the first case the boundary-points have the same container. A is before B if its +offset is less than the offset of B, A is equal to B if its +offset is equal to the offset of B, and A is after B if its +offset is greater than the offset of B.

+

In the second case a child node C of the container of A is an ancestor container of B. In this case, A +is before B if the offset of A +is less than or equal to the index of the child node C and A is after B +otherwise.

+

In the third case a child node C of the container of B is an ancestor container of A. In this case, A +is before B if the index of the child node C is less than the offset of B and A is after B +otherwise.

+

In the fourth case, none of three other cases hold: the containers of A and + B are siblings or descendants of sibling nodes. In this case, A +is before B if the container +of A is before the container of B in a +pre-order traversal of the Ranges' context +tree and A is after B otherwise.

+

Note that because the same location in a text representation of the document +can correspond to two different positions in the DOM tree, it is possible for +two boundary-points to not compare equal even though they would be equal in the +text representation. For this reason, the informal definition above can +sometimes be incorrect.

+
+ +Deleting Content with a Range +

One can delete the contents selected by a Range with: + void deleteContents();

+

deleteContents() deletes all nodes and characters selected by +the Range. All other nodes and characters remain in the context tree of the Range. Some examples of +this deletion operation are: +(1) <FOO>AB<MOO>CD</MOO>CD</FOO> --> +<FOO>A^CD</FOO> +(2) <FOO>A<MOO>BC</MOO>DE</FOO> --> +<FOO>A<MOO>B</MOO>^E</FOO> +(3) <FOO>XY<BAR>ZW</BAR>Q</FOO> --> +<FOO>X^<BAR>W</BAR>Q</FOO> +(4) <FOO><BAR1>AB</BAR1><BAR2/><BAR3>CD</BAR3></FOO> +--> <FOO><BAR1>A</BAR1>^<BAR3>D</BAR3>

+

After deleteContents() is invoked on a Range, the Range +is collapsed. If no node was partially selected by the Range, then it +is collapsed to its original start point, +as in example (1). If a node was partially +selected by the Range and was an ancestor container of the start of the + Range and no ancestor of the node satisfies these two conditions, then the +Range is collapsed to the position immediately after the node, as in examples +(2) and (4). If a node was partially +selected by the Range and was an ancestor container of the end of the +Range and no ancestor of the node satisfies these two conditions, then the +Range is collapsed to the position immediately before the node, as in examples +(3) and (4).

+

Note that if deletion of a Range leaves adjacent Text nodes, they are not +automatically merged, and empty Text nodes are not automatically removed. Two +Text nodes should be joined only if each is the container of one of the +boundary-points of a Range whose contents are deleted. To merge adjacent Text +nodes, or remove empty text nodes, the normalize() method on +the Node interface should be used.

+
+ +Extracting Content +

If the contents of a Range need to be extracted rather than deleted, the +following method may be used: + DocumentFragment extractContents();

+

The extractContents() method removes nodes from the +Range's context tree similarly to the +deleteContents() method. In addition, it places the deleted +contents in a new DocumentFragment. The following examples +illustrate the contents of the returned DocumentFragment: +(1) <FOO>AB<MOO>CD</MOO>CD</FOO> --> +B<MOO>CD</MOO> +(2) <FOO>A<MOO>BC</MOO>DE</FOO> --> +<MOO>C<MOO>D +(3) <FOO>XY<BAR>ZW</BAR>Q</FOO> --> +Y<BAR>Z</BAR> +(4) +<FOO><BAR1>AB</BAR1><BAR2/><BAR3>CD</BAR3></FOO> --> +<BAR1>B</BAR1><BAR2/><BAR3>C</BAR3>

+

It is important to note that nodes that are partially selected by the Range are +cloned. Since part of such a node's contents must remain in the Range's context tree and part of the contents must be +moved to the new DocumentFragment, a clone of the partially selected node is included in +the new DocumentFragment. Note that cloning does not take place for selected +elements; these nodes are moved to the new DocumentFragment.

+
+ +Cloning Content +

The contents of a Range may be duplicated using the following method: + DocumentFragment cloneContents();

+

This method returns a DocumentFragment that is similar to the +one returned by the method extractContents(). However, in this +case, the original nodes and character data in the Range are not removed from +the Range's context tree. Instead, all +of the nodes and text content within the returned +DocumentFragment are cloned.

+
+ +Inserting Content +

A node may be inserted into a Range using the following method: + void insertNode(in Node n) raises(RangeException);

+

The insertNode() method inserts the specified node into the +Range's context tree. The node is +inserted at the start boundary-point of the Range, without modifying +it.

+

If the start boundary point of the Range is in a Text node, the +insertNode operation splits the Text node at the +boundary point. If the node to be inserted is also a Text node, +the resulting adjacent Text nodes are not normalized automatically; +this operation is left to the application.

+

The Node passed into this method can be a DocumentFragment. In +that case, the contents of the DocumentFragment are inserted at +the start boundary-point of the +Range, but the DocumentFragment itself is not. Note that if the +Node represents the root of a sub-tree, the entire sub-tree is inserted.

+

The same rules that apply to the insertBefore() method on the +Node interface apply here. Specifically, the Node passed in, if it already has +a parent, will be removed from its existing position.

+
+ +Surrounding Content +

The insertion of a single node to subsume the content selected by a Range +can be performed with: + void surroundContents(in Node newParent);

+

The surroundContents() method causes all of the content +selected by the Range to be rooted by the specified node. The nodes may not be +Attr, Entity, DocumentType, Notation, Document, or DocumentFragment nodes. +Calling surroundContents() with the Element node FOO in the following +examples yields: + Before: + <BAR>AB<MOO>C</MOO>DE</BAR> + + After surroundContents(FOO): + +<BAR>A<FOO>B<MOO>C</MOO>D</FOO>E</BAR>

+

Another way of describing the effect of this method on the Range's context tree is to decompose it in terms of +other operations:

+ + +

Remove the contents selected by the Range with a call +to extractContents().

+
+ +

Insert the node newParent where the Range is collapsed (after the +extraction) with insertNode().

+
+ +

Insert the entire contents of the extracted DocumentFragment +into newParent. Specifically, invoke the appendChild() +on newParent passing in the DocumentFragment returned as a result of the +call to extractContents()

+
+ +

Select newParent and all of its contents with +selectNode().

+
+
+

The surroundContents() method raises an exception if the +Range partially selects a +non-Text node. An example of a Range for +which surroundContents()raises an exception is: + <FOO>AB<BAR>CD</BAR>E</FOO>

+

If the node newParent has any children, those children are removed before its +insertion. Also, if the node newParent already has a parent, it is removed from +the original parent's childNodes list.

+
+ +Miscellaneous Members +

One can clone a Range: + Range cloneRange();

+

This creates a new Range which selects exactly the same content as that +selected by the Range on which the method cloneRange was invoked. +No content is affected by this operation.

+

Because the boundary-points of a Range do not necessarily have the +same containers, use: + readonly attribute Node commonAncestorContainer;

+

to get the ancestor +container of both boundary-points that is furthest down from the +Range's root container

+

One can get a copy of all the character data selected or partially selected +by a Range with: + DOMString toString();

+

This does nothing more than simply concatenate all the character data +selected by the Range. This includes character data in both +Text and CDATASection nodes.

+
+ +Range modification under document mutation +

As a document is modified, the Ranges within the document need to be +updated. For example, if one boundary-point of a Range is within a node and +that node is removed from the document, then the Range would be invalid unless +it is fixed up in some way. This section describes how Ranges are modified +under document mutations so that they remain valid.

+

There are two general principles which apply to Ranges under document +mutation: The first is that all Ranges in a document will remain valid after +any mutation operation and the second is that, as much as possible, all Ranges +will select the same portion of the document after any mutation operation.

+

Any mutation of the document tree which affect Ranges can be considered to +be a combination of basic deletion and insertion operations. In fact, it can be +convenient to think of those operations as being accomplished using the +deleteContents() and insertNode() Range methods and, +in the case of Text mutations, the splitText() and +normalize() methods.

+ +Insertions +

An insertion occurs at a single point, the insertion point, in the document. +For any Range in the document tree, consider each boundary-point. The only case +in which the boundary-point will be changed after the insertion is when the +boundary-point and the insertion point have the same container and the offset of the insertion point is strictly less than +the offset of the Range's boundary-point. In +that case the offset of the Range's +boundary-point will be increased so that it is between the same nodes or +characters as it was before the insertion.

+

Note that when content is inserted at a boundary-point, it is ambiguous as +to where the boundary-point should be repositioned if its relative position is +to be maintained. There are two possibilities: at the start or at the end of +the newly inserted content. We have chosen that in this case neither +the container nor offset of the boundary-point is changed. As a result, +the boundary-point will be positioned at the start of the newly inserted +content.

+

Examples:

+

Suppose the Range selects the following: +<P>Abcd efgh XY blah ijkl</P>

+

Consider the insertion of the text "inserted text" at the following +positions: +1. Before the 'X': + +<P>Abcd efgh inserted textXY blah ijkl</P> + +2. After the 'X': + +<P>Abcd efgh Xinserted textY blah ijkl</P> + +3. After the 'Y': + +<P>Abcd efgh XYinserted text blah ijkl</P> + +4. After the 'h' in "Y blah": + +<P>Abcd efgh XY blahinserted text ijkl</P> + +

+
+ +Deletions +

Any deletion from the document tree can be considered as a sequence +of deleteContents() operations applied to a minimal set of disjoint +Ranges. To specify how a Range is modified under deletions we need only +consider what happens to a Range under a single +deleteContents()operation of another Range. And, in fact, we need +only consider what happens to a single boundary-point of the Range since both +boundary-points are modified using the same algorithm.

+

If a boundary-point of the original Range is within the content being +deleted, then after the deletion it will be at the same position as the +resulting boundary-point of the (now collapsed) Range used to delete the contents.

+

If a boundary-point is after the content being deleted then it is not +affected by the deletion unless its container is also the container of one of the boundary-points of the +Range being deleted. If there is such a common container, then the index of the boundary-point is +modified so that the boundary-point maintains its position relative to the +content of the container.

+

If a boundary-point is before the content being deleted then it is not +affected by the deletion at all.

+

Examples:

+

In these examples, the Range on which deleteContents()is +invoked is indicated by the underline.

+

Example 1.

+

Before:

+<P>Abcd efgh The Range ijkl</P> +

After:

+<P>Abcd Range ijkl</P> +

Example 2.

+

Before:

+<p>Abcd efgh The Range ijkl</p> +

After:

+<p>Abcd ^kl</p> +

Example 3.

+

Before:

+<P>ABCD efgh The <EM>Range</EM> ijkl</P> +

After:

+<P>ABCD <EM>ange</EM> ijkl</P> +

In this example, the container of the start boundary-point after the +deletion is the Text node holding the string "ange".

+

Example 4.

+

Before:

+<P>Abcd efgh The Range ijkl</P> +

After:

+<P>Abcd he Range ijkl</P> +

Example 5.

+

Before:

+<P>Abcd <EM>efgh The Range ij</EM>kl</P> +

After:

+<P>Abcd ^kl</P> +
+
+ +Formal Description of the Range Interface +

To summarize, the complete, formal description of the Range +interface is given below:

+ + + + + + +

Node within which the Range begins

+
+ + + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Offset within the starting node of the Range.

+
+ + + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Node within which the Range ends

+
+ + + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Offset within the ending node of the Range.

+
+ + + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

TRUE if the Range is collapsed

+
+ + + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

The deepest common ancestor container of the Range's two +boundary-points.

+
+ + + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Sets the attributes describing the start of the Range.

+
+ + + +

The refNode value. This parameter must be different from +null.

+
+ + + +

The startOffset value.

+
+ +
+ + +

+
+
+ + + +

INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor of +refNode is an Entity, Notation, or DocumentType node.

+
+
+ + +

INDEX_SIZE_ERR: Raised if offset is negative or greater than +the number of child units in refNode. Child units are 16-bit units +if refNode is a type of CharacterData node (e.g., a Text or Comment node) or a ProcessingInstruction +node. Child units are Nodes in all other cases.

+

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Sets the attributes describing the end of a Range.

+
+ + + +

The refNode value. This parameter must be different from +null.

+
+ + + +

The endOffset value.

+
+ +
+ + +

+
+
+ + + +

INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor of +refNode is an Entity, Notation, or DocumentType node.

+
+
+ + +

INDEX_SIZE_ERR: Raised if offset is negative or greater than +the number of child units in refNode. Child units are 16-bit units +if refNode is a type of CharacterData node (e.g., a Text or Comment node) or a ProcessingInstruction +node. Child units are Nodes in all other cases.

+

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Sets the start position to be before a node

+
+ + + +

Range starts before refNode

+
+ +
+ + +

+
+
+ + + +

INVALID_NODE_TYPE_ERR: Raised if the root container of +refNode is not an Attr, Document, or DocumentFragment node or if +refNode is a Document, DocumentFragment, Attr, Entity, or Notation +node.

+
+
+ + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Sets the start position to be after a node

+
+ + + +

Range starts after refNode

+
+ +
+ + +

+
+
+ + + +

INVALID_NODE_TYPE_ERR: Raised if the root container of refNode is +not an Attr, Document, or DocumentFragment node or if refNode is a +Document, DocumentFragment, Attr, Entity, or Notation node.

+
+
+ + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Sets the end position to be before a node.

+
+ + + +

Range ends before refNode

+
+ +
+ + +

+
+
+ + + +

INVALID_NODE_TYPE_ERR: Raised if the root container of refNode is +not an Attr, Document, or DocumentFragment node or if refNode is a +Document, DocumentFragment, Attr, Entity, or Notation node.

+
+
+ + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Sets the end of a Range to be after a node

+
+ + + +

Range ends after refNode.

+
+ +
+ + +

+
+
+ + + +

INVALID_NODE_TYPE_ERR: Raised if the root container of +refNode is not an Attr, Document or DocumentFragment node or if +refNode is a Document, DocumentFragment, Attr, Entity, or Notation +node.

+
+
+ + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Collapse a Range onto one of its boundary-points

+
+ + + +

If TRUE, collapses the Range onto its start; if FALSE, collapses it onto its +end.

+
+ +
+ + +

+
+
+ + + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Select a node and its contents

+
+ + + +

The node to select.

+
+ +
+ + +

+
+
+ + + +

INVALID_NODE_TYPE_ERR: Raised if an ancestor of refNode is an +Entity, Notation or DocumentType node or if refNode is a Document, +DocumentFragment, Attr, Entity, or Notation node.

+
+
+ + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Select the contents within a node

+
+ + + +

Node to select from

+
+ +
+ + +

+
+
+ + + +

INVALID_NODE_TYPE_ERR: Raised if refNode or an ancestor of +refNode is an Entity, Notation or DocumentType node.

+
+
+ + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Passed as a parameter to the compareBoundaryPoints method.

+
+ + +

Compare start boundary-point of sourceRange to start +boundary-point of Range on which compareBoundaryPoints is +invoked.

+
+
+ + +

Compare start boundary-point of sourceRange to end +boundary-point of Range on which compareBoundaryPoints is +invoked.

+
+
+ + +

Compare end boundary-point of sourceRange to end boundary-point +of Range on which compareBoundaryPoints is invoked.

+
+
+ + +

Compare end boundary-point of sourceRange to start +boundary-point of Range on which compareBoundaryPoints is +invoked.

+
+
+
+ + +

Compare the boundary-points of two Ranges in a document.

+
+ + + +

A code representing the type of comparison, as defined above.

+
+ + + +

The Range on which this current Range is compared to.

+
+ +
+ + +

-1, 0 or 1 depending on whether the corresponding boundary-point of the +Range is respectively before, equal to, or after the corresponding boundary-point +of sourceRange.

+
+
+ + + +

WRONG_DOCUMENT_ERR: Raised if the two Ranges are not in the same Document or +DocumentFragment.

+

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Removes the contents of a Range from the containing document or document +fragment without returning a reference to the removed content.

+
+ + + + +

+
+
+ + + +

NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of the +Range is read-only or any of the nodes that contain any of the content of the +Range are read-only.

+

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Moves the contents of a Range from the containing document or document +fragment to a new DocumentFragment.

+
+ + + + +

A DocumentFragment containing the extracted contents.

+
+
+ + + +

NO_MODIFICATION_ALLOWED_ERR: Raised if any portion of the content of the +Range is read-only or any of the nodes which contain any of the content of the +Range are read-only.

+

HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be extracted into +the new DocumentFragment.

+

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Duplicates the contents of a Range

+
+ + + + +

A DocumentFragment that contains content equivalent to this Range.

+
+
+ + + +

HIERARCHY_REQUEST_ERR: Raised if a DocumentType node would be extracted into +the new DocumentFragment.

+

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Inserts a node into the Document or DocumentFragment at the start of the +Range. If the container is a Text node, this will be split at the start of the +Range (as if the Text node's splitText method was performed at the insertion +point) and the insertion will occur between the two resulting Text nodes. +Adjacent Text nodes will not be automatically merged. If the node to be inserted is a +DocumentFragment node, the children will be inserted rather than the DocumentFragment node +itself.

+
+ + + +

The node to insert at the start of the Range

+
+ +
+ + +

+
+
+ + + +

NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of the start of the +Range is read-only.

+

WRONG_DOCUMENT_ERR: Raised if newNode and the container of the start of the Range were not +created from the same document.

+

HIERARCHY_REQUEST_ERR: Raised if the container of the start of the Range is of a type +that does not allow children of the type of newNode or +if newNode is an ancestor of the container.

+

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+ + +

INVALID_NODE_TYPE_ERR: Raised if newNode is an Attr, Entity, +Notation, or Document node.

+
+
+
+
+ + +

Reparents the contents of the Range to the given node and inserts the node +at the position of the start of the Range.

+
+ + + +

The node to surround the contents with.

+
+ +
+ + +

+
+
+ + + +

NO_MODIFICATION_ALLOWED_ERR: Raised if an ancestor container of either +boundary-point of the Range is read-only.

+

WRONG_DOCUMENT_ERR: Raised if newParent and the container of the start of the Range were not +created from the same document.

+

HIERARCHY_REQUEST_ERR: Raised if the container of the start of the Range is of a type +that does not allow children of the type of newParent or +if newParent is an ancestor of the container or if node would end up with +a child node of a type not allowed by the type of node.

+

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+ + +

BAD_BOUNDARYPOINTS_ERR: Raised if the Range partially selects a non-text node.

+

INVALID_NODE_TYPE_ERR: Raised if node is an Attr, Entity, +DocumentType, Notation, Document, or DocumentFragment node.

+
+
+
+
+ + +

Produces a new Range whose boundary-points are equal to the boundary-points +of the Range.

+
+ + + + +

The duplicated Range.

+
+
+ + + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Returns the contents of a Range as a string. This string contains only the +data characters, not any markup.

+
+ + + + +

The contents of the Range.

+
+
+ + + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+ + +

Called to indicate that the Range is no longer in use and that the +implementation may relinquish any resources associated with this Range. +Subsequent calls to any methods or attribute getters on this Range will result +in a DOMException being thrown with an error code of +INVALID_STATE_ERR.

+
+ + + + + + + + + +

INVALID_STATE_ERR: Raised if detach() has already been invoked +on this object.

+
+
+
+
+
+ + + + + +

This interface can be obtained from the object implementing +the Document interface using binding-specific casting methods.

+
+ + + + +

The initial state of the Range returned from this method is such that both +of its boundary-points are positioned at the beginning of the corresponding +Document, before any content. The Range returned can only be used to select +content associated with this Document, or with DocumentFragments and Attrs for +which this Document is the ownerDocument.

+
+
+ + +
+
+ + +

Range operations may throw a RangeException as specified in +their method descriptions.

+
+ +unsigned short + +
+ + +

An integer indicating the type of error generated.

+
+ + +

If the boundary-points of a Range do not meet specific requirements.

+
+
+ + +

If the container of an boundary-point +of a Range is being set to either a node of an invalid type or a node with an +ancestor of an invalid type.

+
+
+
+
+
+
diff --git a/java/external/xdocs/dom/xml/traversal-range/traversal.xml b/java/external/xdocs/dom/xml/traversal-range/traversal.xml new file mode 100644 index 0000000..1f06984 --- /dev/null +++ b/java/external/xdocs/dom/xml/traversal-range/traversal.xml @@ -0,0 +1,1439 @@ + + + + + Document Object Model Traversal + + + Joe Kesselman + IBM + + + Jonathan Robie + Software AG + + + Mike Champion + Software AG + + + + + Overview +

This chapter describes the optional DOM Level 2 Traversal + feature. Its TreeWalker, NodeIterator, and + NodeFilter interfaces provide easy-to-use, robust, selective + traversal of a document's contents.

+ +

+ The interfaces found within this section are not mandatory. A DOM + application may use the hasFeature(feature, version) method + of the DOMImplementation interface with parameter values + "Traversal" and "2.0" (respectively) to determine whether or not this module + is supported by the implementation. In order to fully support this + module, an implementation must also support the "Core" feature defined + defined in the DOM Level 2 Core specification . Please refer to additional information about conformance + in the DOM Level 2 Core specification . +

+ +

NodeIterators and TreeWalkers are two + different ways of representing the nodes of a document subtree and a position + within the nodes they present. A NodeIterator presents a flattened + view of the subtree as an ordered sequence of nodes, presented in document + order. Because this view is presented without respect to hierarchy, iterators + have methods to move forward and backward, but not to move up and down. + Conversely, a TreeWalker maintains the hierarchical relationships + of the subtree, allowing navigation of this hierarchy. In general, + TreeWalkers are better for tasks in which the structure of the + document around selected nodes will be manipulated, while + NodeIterators are better for tasks that focus on the content of + each selected node.

+

NodeIterators and TreeWalkers each present a + view of a document subtree that may not contain all nodes found in the subtree. + In this specification, we refer to this as the + logical view to distinguish it from + the physical view, which corresponds to the document subtree per + se. When an iterator or TreeWalker is created, it may be + associated with a NodeFilter, which examines each node and + determines whether it should appear in the logical view. In addition, flags may + be used to specify which node types should occur in the logical view.

+

NodeIterators and TreeWalkers are dynamic - + the logical view changes to reflect changes made to the underlying document. + However, they differ in how they respond to those changes. + NodeIterators, which present the nodes sequentially, attempt to + maintain their location relative to a position in that sequence when the + sequence's contents change. TreeWalkers, which present the nodes + as a filtered tree, maintain their location relative to their current node and + remain attached to that node if it is moved to a new context. We will discuss + these behaviors in greater detail below.

+ + NodeIterators +

A NodeIterator allows the members of a list of nodes to + be returned sequentially. In the current DOM interfaces, this list will always + consist of the nodes of a subtree, presented in document order. When an + iterator is first created, calling its nextNode() method returns + the first node in the logical view of the subtree; in most cases, this is the + root of the subtree. Each successive call advances the + NodeIterator through the list, returning the next + node available in the logical view. When no more nodes are visible, + nextNode() returns null.

+

NodeIterators are created using the + createNodeIterator method found in the + DocumentTraversal interface. When a NodeIterator is + created, flags can be used to determine which node types will be "visible" and + which nodes will be "invisible" while traversing the tree; these flags can be + combined using the OR operator. Nodes that are "invisible" are + skipped over by the iterator as though they did not exist.

+

The following code creates an iterator, then calls a function to print + the name of each element:

+ + NodeIterator iter= + ((DocumentTraversal)document).createNodeIterator( + root, NodeFilter.SHOW_ELEMENT, null); + + while (Node n = iter.nextNode()) + printMe(n); + + + Moving Forward and Backward +

NodeIterators present nodes as an ordered list, and + move forward and backward within this list. The iterator's position is always + either between two nodes, before the first node, or after the last node. When + an iterator is first created, the position is set before the first item. The + following diagram shows the list view that an iterator might provide for a + particular subtree, with the position indicated by an asterisk '*' :

+ * A B C D E F G H I +

Each call to nextNode() returns the next node and + advances the position. For instance, if we start with the above position, the + first call to nextNode() returns "A" and advances the + iterator:

+ [A] * B C D E F G H I +

The position of a NodeIterator can best be described + with respect to the last node returned, which we will call the reference + node. When an iterator is created, the first node is the reference node, + and the iterator is positioned before the reference node. In these diagrams, we + use square brackets to indicate the reference node.

+

A call to previousNode() returns the previous node and + moves the position backward. For instance, if we start with the + NodeIterator between "A" and "B", it would + return "A" and move to the position shown below:

+ * [A] B C D E F G H I +

If nextNode() is called at the end of a list, or + previousNode() is called at the beginning of a list, it returns + null and does not change the position of the iterator. When a + NodeIterator is first created, the reference node is the first + node:

+ * [A] B C D E F G H I +
+ +Robustness +

A NodeIterator may be active while the data structure it + navigates is being edited, so an iterator must behave gracefully in the face of + change. Additions and removals in the underlying data structure do not + invalidate a NodeIterator; in fact, a NodeIterator is + never invalidated unless its detach() method is invoked. To make + this possible, the iterator uses the reference node to maintain its position. + The state of an iterator also depends on whether the iterator is positioned + before or after the reference node.

+

If changes to the iterated list do not remove the reference node, they do + not affect the state of the NodeIterator. For instance, the + iterator's state is not affected by inserting new nodes in the vicinity of the + iterator or removing nodes other than the reference node. Suppose we start from + the following position:

+A B C [D] * E F G H I +

Now let's remove "E". The resulting state is:

+A B C [D] * F G H I +

If a new node is inserted, the NodeIterator stays close to the + reference node, so if a node is inserted between "D" and "F", it will occur + between the iterator and "F":

+A B C [D] * X F G H I +

Moving a node is equivalent to a removal followed by an insertion. If we + move "I" to the position before "X" the result is:

+A B C [D] * I X F G H +

If the reference node is removed from the list being iterated over, a + different node is selected as the reference node. If the reference node's + position is before that of the NodeIterator, which is usually the + case after nextNode() has been called, the nearest node before the + iterator is chosen as the new reference node. Suppose we remove the "D" node, + starting from the following state:

+A B C [D] * F G H I +

The "C" node becomes the new reference node, since it is the nearest node to + the NodeIterator that is before the iterator:

+A B [C] * F G H I +

If the reference node is after the NodeIterator, which is + usually the case after previousNode() has been called, the nearest + node after the iterator is chosen as the new reference node. Suppose we remove + "E", starting from the following state:

+A B C D * [E] F G H I +

The "F" node becomes the new reference node, since it is the nearest node to + the NodeIterator that is after the iterator:

+A B C D * [F] G H I +

As noted above, moving a node is equivalent to a removal followed by an + insertion. Suppose we wish to move the "D" node to the end of the list, + starting from the following state:

+A B C [D] * F G H I C +

The resulting state is as follows:

+A B [C] * F G H I D +

One special case arises when the reference node is the last node in the list + and the reference node is removed. Suppose we remove node "C", starting from + the following state:

+A B * [C] +

According to the rules we have given, the new reference node should be the + nearest node after the NodeIterator, but there are no further + nodes after "C". The same situation can arise when previousNode() + has just returned the first node in the list, which is then removed. Hence: If + there is no node in the original direction of the reference node, the nearest + node in the opposite direction is selected as the reference node:

+A [B] * +

If the NodeIterator is positioned within a block of nodes that + is removed, the above rules clearly indicate what is to be done. For instance, + suppose "C" is the parent node of "D", "E", and "F", and we remove "C", + starting with the following state:

+A B C [D] * E F G H I D +

The resulting state is as follows:

+A [B] * G H I D +

Finally, note that removing a NodeIterator's root + node from its parent does not alter the list being iterated over, and thus does + not change the iterator's state.

+
+ +Visibility of Nodes +

The underlying data structure that is being iterated may contain nodes that +are not part of the logical view, and therefore will not be returned by the +NodeIterator. If nodes that are to be excluded because of the +value of the whatToShow flag, nextNode() returns the +next visible node, skipping over the excluded "invisible" nodes. If a +NodeFilter is present, it is applied before returning a node; if +the filter does not accept the node, the process is repeated until a node is +accepted by the filter and is returned. If no visible nodes are encountered, a +null is returned and the iterator is positioned at the end of the +list. In this case, the reference node is the last node in the list, whether or +not it is visible. The same approach is taken, in the opposite direction, for +previousNode().

+

In the following examples, we will use lowercase letters to represent nodes +that are in the data structure, but which are not in the logical view. For +instance, consider the following list:

+A [B] * c d E F G +

A call to nextNode() returns E and advances to the following +position:

+A B c d [E] * F G +

Nodes that are not visible may nevertheless be used as reference nodes if a +reference node is removed. Suppose node "E" is removed, started from the state +given above. The resulting state is:

+A B c [d] * F G +

Suppose a new node "X", which is visible, is inserted before "d". The +resulting state is:

+A B c X [d] * F G +

Note that a call to previousNode() now returns node X. It is +important not to skip over invisible nodes when the reference node is removed, +because there are cases, like the one just given above, where the wrong results +will be returned. When "E" was removed, if the new reference node had been "B" +rather than "d", calling previousNode() would not return "X".

+
+
+ +NodeFilters +

NodeFilters allow the user to create objects that "filter out" +nodes. Each filter contains a user-written function that looks at a node and +determines whether or not it should be presented as part of the traversal's +logical view of the document. To use a NodeFilter, you create a +NodeIterator or a TreeWalker that uses the filter. +The traversal engine applies the filter to each node, and if the filter does +not accept the node, traversal skips over the node as though it were not +present in the document. NodeFilters need not know how to navigate +the structure that contains the nodes on which they operate.

+ +

Filters will be consulted when a traversal operation is performed, or when a +NodeIterator's reference node is removed from the subtree being +iterated over and it must select a new one. However, the exact timing of these +filter calls may vary from one DOM implementation to another. For that reason, +NodeFilters should not attempt to maintain state based on the +history of past invocations; the resulting behavior may not be portable.

+

Similarly, TreeWalkers and NodeIterators should +behave as if they have no memory of past filter results, and no anticipation of +future results. If the conditions a NodeFilter is examining have +changed (e.g., an attribute which it tests has been added or removed) since the +last time the traversal logic examined this node, this change in visibility +will be discovered only when the next traversal operation is performed. For +example: if the filtering for the current node changes from +FILTER_SHOW to FILTER_SKIP, a TreeWalker +will be able to navigate off that node in any direction, but not back to it +unless the filtering conditions change again. NodeFilters which +change during a traversal can be written, but their behavior may be confusing +and they should be avoided when possible.

+ + +Using NodeFilters +

A NodeFilter contains one method named +acceptNode(), which allows a NodeIterator or +TreeWalker to pass a Node to a filter and ask whether +it should be present in the logical view. The acceptNode() +function returns one of three values to state how the Node should +be treated. If acceptNode() returns FILTER_ACCEPT, +the Node will be present in the logical view; if it returns +FILTER_SKIP, the Node will not be present in the +logical view, but the children of the Node may; if it returns + FILTER_REJECT, neither the Node nor its + descendants +will be present in the logical view. Since iterators present nodes as an +ordered list, without hierarchy, FILTER_REJECT and +FILTER_SKIP are synonyms for NodeIterators, skipping +only the single current node.

+

Consider a filter that accepts the named anchors in an HTML document. In +HTML, an HREF can refer to any A element that has a NAME attribute. Here is a +NodeFilter in Java that looks at a node and determines whether it +is a named anchor:

+ + class NamedAnchorFilter implements NodeFilter + { + short acceptNode(Node n) { + if (n.getNodeType()==Node.ELEMENT_NODE) { + Element e = (Element)n; + if (! e.getNodeName().equals("A")) + return FILTER_SKIP; + if (e.getAttributeNode("NAME") != null) + return FILTER_ACCEPT; + } + return FILTER_SKIP; + } + } +

If the above NodeFilter were to be used only with +NodeIterators, it could have used FILTER_REJECT +wherever FILTER_SKIP is used, and the behavior would not change. +For TreeWalker, though, FILTER_REJECT would reject +the children of any element that is not a named anchor, and since named anchors +are always contained within other elements, this would have meant that no named +anchors would be found. FILTER_SKIP rejects the given node, but +continues to examine the children; therefore, the above filter will work with +either a NodeIterator or a TreeWalker.

+

To use this filter, the user would create an instance of the +NodeFilter and create a NodeIterator using it:

+ +NamedAnchorFilter myFilter = new NamedAnchorFilter(); +NodeIterator iter= + ((DocumentTraversal)document).createNodeIterator( + node, NodeFilter.SHOW_ELEMENT, myFilter); + +

Note that the use of the SHOW_ELEMENT flag is not strictly +necessary in this example, since our sample NodeFilter tests the +nodeType. However, some implementations of the Traversal +interfaces may be able to improve whatToShow performance by taking +advantage of knowledge of the document's structure, which makes the use of +SHOW_ELEMENT worthwhile. Conversely, while we could remove the +nodeType test from our filter, that would make it dependent upon +whatToShow to distinguish between Elements, +Attr's, and ProcessingInstructions.

+
+ +NodeFilters and Exceptions +

When writing a NodeFilter, users should avoid writing code that +can throw an exception. However, because a DOM implementation can not prevent +exceptions from being thrown, it is important that the behavior of filters that +throw an exception be well-defined. A TreeWalker or +NodeIterator does not catch or alter an exception thrown by a +filter, but lets it propagate up to the user's code. The following functions +may invoke a NodeFilter, and may therefore propagate an exception +if one is thrown by a filter: + + +

NodeIterator.nextNode()

+ + +

NodeIterator.previousNode()

+
+ +

TreeWalker.firstChild()

+
+ +

TreeWalker.lastChild()

+
+ +

TreeWalker.nextSibling()

+
+ +

TreeWalker.previousSibling()

+
+ +

TreeWalker.nextNode()

+
+ +

TreeWalker.previousNode()

+
+ +

TreeWalker.parentNode()

+
+

+
+ +NodeFilters and Document Mutation +

Well-designed NodeFilters should not have to modify the +underlying structure of the document. But a DOM implementation can not prevent +a user from writing filter code that does alter the document structure. +Traversal does not provide any special processing to handle this case. For +instance, if a NodeFilter removes a node from a document, it can +still accept the node, which means that the node may be returned by the +NodeIterator or TreeWalker even though it is no +longer in the subtree being traversed. In general, this may lead to +inconsistent, confusing results, so we encourage users to write +NodeFilters that make no changes to document structures. Instead, +do your editing in the loop controlled by the traversal object.

+ + +
+ +NodeFilters and whatToShow flags +

NodeIterator and TreeWalker apply their +whatToShow flags before applying filters. If a node is + +skipped by the active whatToShow flags, a NodeFilter +will not be called to evaluate that node. Please note that this behavior is +similar to that of FILTER_SKIP; children of that node will be +considered, and filters may be called to evaluate them. Also note that it will +in fact be a "skip" even if the NodeFilter would have preferred to +reject the entire subtree; if this would cause a problem in your application, +consider setting whatToShow to SHOW_ALL and +performing the nodeType test inside your filter. + +

+
+
+ +TreeWalker +

The TreeWalker interface provides many of the same benefits as +the NodeIterator interface. The main difference between these two +interfaces is that the TreeWalker presents a tree-oriented view of +the nodes in a subtree, rather than the iterator's list-oriented view. In other +words, an iterator allows you to move forward or back, but a +TreeWalker allows you to also move to the parent of a node, to one + of its children, or to a sibling.

+

Using a TreeWalker is quite similar to navigation using the +Node directly, and the navigation methods for the two interfaces are analogous. +For instance, here is a function that recursively walks over a tree of nodes in +document order, taking separate actions when first entering a node and after +processing any children:

+ +processMe(Node n) { + nodeStartActions(n); + for (Node child=n.firstChild(); + child != null; + child=child.nextSibling()) { + processMe(child); + } + nodeEndActions(n); +} +

Doing the same thing using a TreeWalker is quite similar. There +is one difference: since navigation on the TreeWalker changes the +current position, the position at the end of the function has changed. A +read/write attribute named currentNode allows the current node for +a TreeWalker to be both queried and set. We will use this to +ensure that the position of the TreeWalker is restored when this +function is completed:

+ +processMe(TreeWalker tw) { + Node n = tw.getCurrentNode(); + nodeStartActions(tw); + for (Node child=tw.firstChild(); + child!=null; + child=tw.nextSibling()) { + processMe(tw); + } + + tw.setCurrentNode(n); + nodeEndActions(tw); +} +

The advantage of using a TreeWalker instead of direct +Node navigation is that the TreeWalker allows the +user to choose an appropriate view of the tree. Flags may be used to show or +hide Comments or ProcessingInstructions; entities may +be expanded or shown as EntityReference nodes. In addition, +NodeFilters may be used to present a custom view of the tree. +Suppose a program needs a view of a document that shows which tables occur in +each chapter, listed by chapter. In this view, only the chapter elements and +the tables that they contain are seen. The first step is to write an +appropriate filter:

+ +class TablesInChapters implements NodeFilter { + + short acceptNode(Node n) { + if (n.getNodeType()==Node.ELEMENT_NODE) { + + if (n.getNodeName().equals("CHAPTER")) + return FILTER_ACCEPT; + + if (n.getNodeName().equals("TABLE")) + return FILTER_ACCEPT; + + if (n.getNodeName().equals("SECT1") + || n.getNodeName().equals("SECT2") + || n.getNodeName().equals("SECT3") + || n.getNodeName().equals("SECT4") + || n.getNodeName().equals("SECT5") + || n.getNodeName().equals("SECT6") + || n.getNodeName().equals("SECT7")) + return FILTER_SKIP; + + } + + return FILTER_REJECT; + } +} +

+

This filter assumes that TABLE elements are contained directly in CHAPTER or +SECTn elements. If another kind of element is encountered, it and its children +are rejected. If a SECTn element is encountered, it is skipped, but its +children are explored to see if they contain any TABLE elements.

+

Now the program can create an instance of this NodeFilter, +create a TreeWalker that uses it, and pass this +TreeWalker to our ProcessMe() function:

+TablesInChapters tablesInChapters = new TablesInChapters(); +TreeWalker tw = + ((DocumentTraversal)document).createTreeWalker( + root, NodeFilter.SHOW_ELEMENT, tablesInChapters); +processMe(tw); +

(Again, we've chosen to both test the nodeType in the filter's +logic and use SHOW_ELEMENT, for the reasons discussed in the +earlier NodeIterator example.)

+

Without making any changes to the above ProcessMe() function, +it now processes only the CHAPTER and TABLE elements. The programmer can write +other filters or set other flags to choose different sets of nodes; if +functions use TreeWalker to navigate, they will support any view +of the document defined with a TreeWalker.

+

Note that the structure of a TreeWalker's filtered view of a +document may differ significantly from that of the document itself. For +example, a TreeWalker with only SHOW_TEXT specified +in its whatToShow parameter would present all the +Text nodes as if they were siblings of each other yet had no +parent.

+ +Robustness +

As with NodeIterators, a TreeWalker may be active +while the data structure it navigates is being edited, and must behave +gracefully in the face of change. Additions and removals in the underlying data +structure do not invalidate a TreeWalker; in fact, a +TreeWalker is never invalidated.

+

But a TreeWalker's response to these changes is quite different +from that of a NodeIterator. While NodeIterators +respond to editing by maintaining their position within the list that they are +iterating over, TreeWalkers will instead remain attached to their +currentNode. All the TreeWalker's navigation methods +operate in terms of the context of the currentNode at the time +they are invoked, no matter what has happened to, or around, that node since +the last time the TreeWalker was accessed. This remains true even +if the currentNode is moved out of its original subtree.

+

As an example, consider the following document fragment:

+ + ... + <subtree> + <twRoot> + <currentNode/> + <anotherNode/> + </twRoot> + </subtree> + ... + +

Let's say we have created a TreeWalker whose root +node is the <twRoot/> element and whose currentNode is the +<currentNode/> element. For this illustration, we will assume that all +the nodes shown above are accepted by the TreeWalker's +whatToShow and filter settings.

+

If we use removeChild() to remove the <currentNode/> +element from its parent, that element remains the TreeWalker's +currentNode, even though it is no longer within the +root node's subtree. We can still use the TreeWalker +to navigate through any children that the orphaned currentNode may +have, but are no longer able to navigate outward from the +currentNode since there is no parent available.

+

If we use insertBefore() or appendChild() to give +the <currentNode/> a new parent, then TreeWalker navigation +will operate from the currentNode's new location. For example, if +we inserted the <currentNode/> immediately after the <anotherNode/> +element, the TreeWalker's previousSibling() operation +would move it back to the <anotherNode/>, and calling +parentNode() would move it up to the <twRoot/>.

+

If we instead insert the currentNode into the <subtree/> +element, like so:

+ + ... + <subtree> + <currentNode/> + <twRoot> + <anotherNode/> + </twRoot> + </subtree> + ... +

we have moved the currentNode out from under the +TreeWalker's root node. This does not invalidate the +TreeWalker; it may still be used to navigate relative to the +currentNode. Calling its parentNode() operation, for +example, would move it to the <subtree/> element, even though that too is +outside the original root node. However, if the +TreeWalker's navigation should take it back into the original +root node's subtree -- for example, if rather than calling +parentNode() we called nextNode(), moving the +TreeWalker to the <twRoot/> element -- the root +node will "recapture" the TreeWalker, and prevent it from +traversing back out.

+ +

This becomes a bit more complicated when filters are in use. Relocation of +the currentNode -- or explicit selection of a new +currentNode, or changes in the conditions that the +NodeFilter is basing its decisions on -- can result in a +TreeWalker having a currentNode which would not +otherwise be visible in the filtered (logical) view of the document. This node +can be thought of as a "transient member" of that view. When you ask the +TreeWalker to navigate off this node the result will be just as if +it had been visible, but you may be unable to navigate back to it unless +conditions change to make it visible again.

+

In particular: If the currentNode becomes part of a subtree +that would otherwise have been Rejected by the filter, that entire subtree may +be added as transient members of the logical view. You will be able to navigate +within that subtree (subject to all the usual filtering) until you move upward +past the Rejected ancestor. The behavior is as if the Rejected node had only +been Skipped (since we somehow wound up inside its subtree) until we leave it; +thereafter, standard filtering applies.

+ +
+
+
+ +Formal Interface Definition + + + + +

Iterators are used to step through a set of nodes, e.g. the set +of nodes in a NodeList, the document subtree governed by a +particular Node, the results of a query, or any other set of +nodes. The set of nodes to be iterated is determined by the implementation of +the NodeIterator. DOM Level 2 specifies a single +NodeIterator implementation for document-order traversal of a +document subtree. Instances of these iterators are created by calling +DocumentTraversal.createNodeIterator().

+
+ + + +

The root node of the NodeIterator, as specified when it was +created.

+
+
+ + + + +

This attribute determines which node types are presented via the iterator. +The available set of constants is defined in the NodeFilter +interface. + + +Nodes not accepted by whatToShow will be skipped, but their +children may still be considered. Note that this skip takes precedence over the +filter, if any. + +

+
+
+ + +

The NodeFilter used to screen nodes.

+
+
+ + +

The value of this flag determines whether the children of entity reference +nodes are visible to the iterator. If false, they + + +and their descendants will be rejected. Note that this rejection takes +precedence over whatToShow and the filter. Also note that this is +currently the only situation where NodeIterators may reject a +complete subtree rather than skipping individual nodes. + +

+

+

To produce a view of the document that has entity references expanded and +does not expose the entity reference node itself, use the +whatToShow flags to hide the entity reference node and set +expandEntityReferences to true when creating the iterator. To +produce a view of the document that has entity reference nodes but no entity +expansion, use the whatToShow flags to show the entity reference +node and set expandEntityReferences to false.

+
+
+ + +

Returns the next node in the set and advances the position of the iterator +in the set. After a NodeIterator is created, the first call to +nextNode() returns the first node in the set.

+
+ + + + +

The next Node in the set being iterated over, or +null if there are no more members in that set.

+
+
+ + + +

INVALID_STATE_ERR: Raised if this method is called after the +detach method was invoked.

+
+
+ + + + +
+
+ + +

Returns the previous node in the set and moves the position of the +NodeIterator backwards in the set.

+
+ + + + +

The previous Node in the set being iterated over, or +null if there are no more members in that set.

+
+
+ + + +

INVALID_STATE_ERR: Raised if this method is called after the +detach method was invoked.

+
+
+ + +
+
+ + +

Detaches the NodeIterator from the set which it iterated over, +releasing any computational resources and placing the iterator in the INVALID +state. After detach has been invoked, calls to +nextNode or previousNode will raise the exception +INVALID_STATE_ERR.

+
+ + + + +

+
+
+ + + + +
+
+ + +

Filters are objects that know how to "filter out" nodes. If a +NodeIterator or TreeWalker is given a +NodeFilter, it applies the filter before it returns the next node. +If the filter says to accept the node, the traversal logic returns it; +otherwise, traversal looks for the next node and pretends that the node that +was rejected was not there.

+

The DOM does not provide any filters. NodeFilter is just an +interface that users can implement to provide their own filters.

+

NodeFilters do not need to know how to traverse from node to +node, nor do they need to know anything about the data structure that is being +traversed. This makes it very easy to write filters, since the only thing they +have to know how to do is evaluate a single node. One filter may be used with a +number of different kinds of traversals, encouraging code reuse.

+
+ + +

The following constants are returned by the acceptNode() method:

+
+ + +

Accept the node. Navigation methods defined for NodeIterator or +TreeWalker will return this node.

+
+
+ + +

Reject the node. Navigation methods defined for NodeIterator or +TreeWalker will not return this node. For TreeWalker, +the children of this node will also be rejected. NodeIterators +treat this as a synonym for FILTER_SKIP.

+
+
+ + +

Skip this single node. Navigation methods defined for +NodeIterator or TreeWalker will not return this node. +For both NodeIterator and TreeWalker, the children of +this node will still be considered.

+
+
+
+ + +

These are the available values for the whatToShow parameter +used in TreeWalkers and NodeIterators. They are the +same as the set of possible types for Node, and their values are +derived by using a bit position corresponding to the value of +nodeType for the equivalent node type. + + +If a bit in whatToShow is set false, that will be taken as a +request to skip over this type of node; the behavior in that case is similar to +that of FILTER_SKIP.

+

Note that if node types greater than 32 are ever introduced, they may not +be individually testable via whatToShow. If that need should +arise, it can be handled by selecting SHOW_ALL together with an +appropriate NodeFilter.

+ + +
+ + + + + + +

Show all Nodes.

+
+
+ + +

Show Element nodes.

+
+
+ + +

Show Attr nodes. This is meaningful only when creating an +iterator or tree-walker with an attribute node as its root; in +this case, it means that the attribute node will appear in the first position +of the iteration or traversal. Since attributes are never children of other +nodes, they do not appear when traversing over the document tree.

+
+
+ + +

Show Text nodes.

+
+
+ + +

Show CDATASection nodes.

+
+
+ + + +

Show EntityReference nodes.

+
+
+ + +

Show Entity nodes. This is meaningful only when creating an +iterator or tree-walker with an Entity node as its +root; in this case, it means that the Entity node +will appear in the first position of the traversal. Since entities are not part +of the document tree, they do not appear when traversing over the document +tree.

+
+
+ + +

Show ProcessingInstruction nodes.

+
+
+ + +

Show Comment nodes.

+
+
+ + +

Show Document nodes.

+
+
+ + +

Show DocumentType nodes.

+
+
+ + +

Show DocumentFragment nodes.

+
+
+ + +

Show Notation nodes. This is meaningful only when creating an +iterator or tree-walker with a Notation node as its +root; in this case, it means that the Notation node +will appear in the first position of the traversal. Since notations are not +part of the document tree, they do not appear when traversing over the document +tree.

+
+
+
+ + +

Test whether a specified node is visible in the logical view of a +TreeWalker or NodeIterator. This function will be +called by the implementation of TreeWalker and +NodeIterator; it is not normally called directly from user code. +(Though you could do so if you wanted to use the same filter to guide your own +application logic.)

+
+ + + +

The node to check to see if it passes the filter or not.

+
+ +
+ + +

a constant to determine whether the node is accepted, rejected, or skipped, +as defined +above.

+
+
+ + + + +
+
+ + +

TreeWalker objects are used to navigate a document tree or +subtree using the view of the document defined by their whatToShow +flags and filter (if any). Any function which performs navigation using a +TreeWalker will automatically support any view defined by a +TreeWalker.

+

Omitting nodes from the logical view of a subtree can result in a structure +that is substantially different from the same subtree in the complete, +unfiltered document. Nodes that are siblings in the TreeWalker +view may be children of different, widely separated nodes in the original view. +For instance, consider a NodeFilter that skips all nodes except +for Text nodes and the root node of a document. In the logical view that +results, all text nodes will be siblings and appear as direct children of the +root node, no matter how deeply nested the structure of the original +document.

+
+ + + +

The root node of the TreeWalker, as specified when +it was created.

+
+
+ + + + +

This attribute determines which node types are presented via the +TreeWalker. The available set of constants is defined in the +NodeFilter interface. + +Nodes not accepted by whatToShow will be skipped, but their +children may still be considered. Note that this skip takes precedence over the +filter, if any. +

+
+
+ + +

The filter used to screen nodes.

+
+
+ + +

The value of this flag determines whether the children of entity reference +nodes are visible to the TreeWalker. If false, they + +and their descendants will be rejected. Note that this rejection takes +precedence over whatToShow and the filter, if any. +

+

To produce a view of the document that has entity references expanded and +does not expose the entity reference node itself, use the +whatToShow flags to hide the entity reference node and set +expandEntityReferences to true when creating the +TreeWalker. To produce a view of the document that has entity +reference nodes but no entity expansion, use the whatToShow flags +to show the entity reference node and set expandEntityReferences +to false.

+
+
+ + +

The node at which the TreeWalker is currently positioned.

+

Alterations to the DOM tree may cause the current node to no longer be +accepted by the TreeWalker's associated filter. +currentNode may also be explicitly set to any node, whether or not +it is within the subtree specified by the root node or would be +accepted by the filter and whatToShow flags. Further traversal +occurs relative to currentNode even if it is not part of the +current view, by applying the filters in the requested direction; if no +traversal is possible, currentNode is not changed.

+
+ + + +

NOT_SUPPORTED_ERR: Raised if an attempt is made to set +currentNode to null.

+
+
+
+
+ + +

Moves to and returns the closest visible ancestor node of the current node. +If the search for parentNode attempts to step upward from the +TreeWalker's root node, or if it fails to find a +visible ancestor node, this method retains the current position and returns +null.

+
+ + + + +

The new parent node, or null if the current node has no parent + + +in the TreeWalker's logical view. + + +

+
+
+ + + + +
+ + +

Moves the TreeWalker to the first visible child of the current +node, and returns the new node. If the current node has no visible children, +returns null, and retains the current node.

+
+ + + + +

The new node, or null if the current node has no visible +children + + +in the TreeWalker's logical view. + + +

+
+
+ + + + +
+ + +

Moves the TreeWalker to the last visible child of the current +node, and returns the new node. If the current node has no visible children, +returns null, and retains the current node.

+
+ + + + +

The new node, or null if the current node has no children + + +in the TreeWalker's logical view. + + +

+
+
+ + + + +
+ + +

Moves the TreeWalker to the previous sibling of the current +node, and returns the new node. If the current node has no visible previous +sibling, returns null, and retains the current node.

+
+ + + + +

The new node, or null if the current node has no previous +sibling. + + +in the TreeWalker's logical view. + + +

+
+
+ + + + +
+ + +

Moves the TreeWalker to the next sibling of the current node, +and returns the new node. If the current node has no visible next sibling, +returns null, and retains the current node.

+
+ + + + +

The new node, or null if the current node has no next sibling. + + +in the TreeWalker's logical view. + + +

+
+
+ + + + +
+ + +

Moves the TreeWalker to the previous visible node in document +order relative to the current node, and returns the new node. If the current +node has no previous node, + + +or if the search for previousNode attempts to step upward from the +TreeWalker's root node, + + +returns null, and retains the current node.

+
+ + + + +

The new node, or null if the current node has no previous node + + +in the TreeWalker's logical view. + + +

+
+
+ + + + +
+ + +

Moves the TreeWalker to the next visible node in document order +relative to the current node, and returns the new node. If the current node has +no next node, or if the search for nextNode attempts to step upward from the +TreeWalker's root node, returns null, +and retains the current node.

+
+ + + + +

The new node, or null if the current node has no next node + + +in the TreeWalker's logical view. + + +

+
+
+ + + + +
+
+ + +

DocumentTraversal contains methods that create iterators and +tree-walkers to traverse a node and its children in document order (depth +first, pre-order traversal, which is equivalent to the order in which the start +tags occur in the text representation of the document). In DOMs which support +the Traversal feature, DocumentTraversal will be implemented by +the same objects that implement the Document interface.

+
+ + +

Create a new NodeIterator over the subtree rooted at the +specified node.

+
+ + + +

The node which will be iterated together with its children. The iterator is +initially positioned just before this node. The whatToShow flags +and the filter, if any, are not considered when setting this position. The root +must not be null.

+
+ + + + + +

This flag specifies which node types may appear in the logical view of the +tree presented by the iterator. See the description of NodeFilter +for the set of possible SHOW_ values.

+

These flags can be combined using OR.

+
+ + + +

The NodeFilter to be used with this TreeWalker, or +null to indicate no filter.

+
+ + + +

The value of this flag determines whether entity reference nodes are +expanded.

+
+ +
+ + +

The newly created NodeIterator.

+
+
+ + + +

NOT_SUPPORTED_ERR: Raised if the specified root is +null.

+
+
+
+
+ + +

Create a new TreeWalker over the subtree rooted at the +specified node.

+
+ + + +

The node which will serve as the root for the +TreeWalker. The whatToShow flags and the +NodeFilter are not considered when setting this value; any node +type will be accepted as the root. The currentNode of +the TreeWalker is initialized to this node, whether or not it is +visible. The root functions as a stopping point for traversal +methods that look upward in the document structure, such as +parentNode and nextNode. The root must not be +null.

+
+ + + + + +

This flag specifies which node types may appear in the logical view of the +tree presented by the tree-walker. See the description of +NodeFilter for the set of possible SHOW_ values.

+

These flags can be combined using OR.

+
+ + + +

The NodeFilter to be used with this TreeWalker, or +null to indicate no filter.

+
+ + + +

If this flag is false, the contents of EntityReference nodes +are not presented in the logical view.

+
+ +
+ + +

The newly created TreeWalker.

+
+
+ + + +

NOT_SUPPORTED_ERR: Raised if the specified root is +null.

+
+
+
+
+
+
+
+
diff --git a/java/external/xdocs/dom/xml/version.xml b/java/external/xdocs/dom/xml/version.xml new file mode 100644 index 0000000..43cbd0f --- /dev/null +++ b/java/external/xdocs/dom/xml/version.xml @@ -0,0 +1,74 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +PDF file"> +plain text"> + + + + + + + + + + + + + + + + + + + + +ZIP file"> +PostScript file"> +&prev.url;"> diff --git a/java/external/xdocs/dom/xml/views/dom-spec.xml b/java/external/xdocs/dom/xml/views/dom-spec.xml new file mode 100644 index 0000000..742592d --- /dev/null +++ b/java/external/xdocs/dom/xml/views/dom-spec.xml @@ -0,0 +1,150 @@ + + + + +%version; + +%links; + +%parts; + +]> + + + +&options; + +
+Document Object Model (DOM) Level 2 Views Specification +1.0 &doc.prefix;-&doc.date; + W3C Recommendation +&date.day; &date.month; &date.year; + + &this.url; +&ps.loc; +&pdf.loc; +&txt.loc; +&zip.loc; + + &latest.url; + +&prev.locs; + + + Arnaud Le Hors +W3C team contact until October 1999, then IBM + + Laurence Cable +Sun Microsystems + + + + +

This specification defines the Document Object Model Level 2 Views, a platform- +and language-neutral interface that allows programs and scripts to dynamically +access and update the content of a representation of a document. The Document +Object Model Level 2 Views builds on the Document Object Model Level 2 Core +.

+ +
+ +&status; + + +

Created in electronic form.

+
+ +English + + +

$Revision$

+
+ +
+ + &toc; + ©right; + + + + &views; + + + + + + IDL Definitions + +

This appendix contains the complete OMG IDL for + the Level 2 Document Object Model Views definitions.

+ +

The IDL files are also available as: &this.url;/idl.zip

+ + + +
+ + + Java Language Binding + +

This appendix contains the complete Java Language + binding for the Level 2 Document Object Model Views.

+ +

The Java files are also available as &this.url;/java-binding.zip

+ + + +
+ + ECMAScript Language Binding + +

This appendix contains the complete ECMAScript binding for the Level 2 Document Object Model Views + definitions.

+ + +

+ Exceptions handling is only supported by ECMAScript implementation + conformant with the Standard ECMA-262 3rd. Edition (). +

+
+ + + +
+ &contributors; + &references; + &index; +
+
diff --git a/java/external/xdocs/dom/xml/views/views.xml b/java/external/xdocs/dom/xml/views/views.xml new file mode 100644 index 0000000..a4cd77b --- /dev/null +++ b/java/external/xdocs/dom/xml/views/views.xml @@ -0,0 +1,107 @@ + + + + Document Object Model Views + + + Arnaud Le Hors + IBM + + + Laurence Cable + Sun Microsystems + + + + + + Introduction + +

A document may have one or more "views" associated with it, e.g., a + computed view on a document after applying a CSS stylesheet, or multiple + presentations (e.g., HTML Frame) of the same document in a client. That is, + a view is some alternate representation of, or a presentation of, and + associated with, a source document.

+

A view may be static, reflecting the state of the document when + the view was created, or dynamic, reflecting changes in the target + document as they occur, subsequent to the view being created. This + Level of the DOM specification makes no statement about these behaviors.

+ +

This section defines an AbstractView interface which + provides a base interface from which all such views shall derive. It + defines an attribute which references the target document of the + AbstractView. The only semantics of the AbstractView + defined here create an association between a view and its target document.

+ +

There are no subinterfaces of AbstractView defined in the DOM + Level 2.

+ +

However, AbstractView is defined in and used in this Level + in two places:

+ +

A Document may implement a DocumentView that has a default view + attribute associated with it. This default view is typically dependent on + the implementation (e.g., the browser frame rendering the document). The + default view can be used in order to identify and/or associate a view with + its target document (by testing object equality on the + AbstractView or obtaining the DocumentView + attribute).

+ +

A UIEvent typically occurs upon a view of a Document + (e.g., a mouse click on a browser frame rendering a particular Document + instance). A UIEvent has an AbstractView + associated with it which identifies both the particular + (implementation-dependent) view in which the event occurs, and + the target document the UIEvent is related to.

+ +

+ The interfaces found within this section are not mandatory. A DOM + application may use the hasFeature(feature, version) method + of the DOMImplementation interface with parameter values + "Views" and "2.0" (respectively) to determine whether or not this module + is supported by the implementation. In order to fully support this + module, an implementation must also support the "Core" feature defined + defined in the Document Object Model Level 2 Core specification . Please refer to additional information about conformance in + the DOM Level 2 Core specification. +

+ +
+ + + Interfaces + + + + +

A base interface that all views shall derive from.

+
+ + +

The source DocumentView of which this is an + AbstractView.

+
+
+
+ + + +

The DocumentView interface is implemented by + Document objects in DOM implementations supporting DOM + Views. It provides an attribute to retrieve the default view of a + document.

+
+ + +

The default AbstractView for this + Document, or null if none + available.

+
+
+
+
+
+