source: icXML/icXML-devel/src/xercesc/dom/DOMXPathNamespace.hpp @ 2722

Last change on this file since 2722 was 2722, checked in by cameron, 6 years ago

Original Xerces files with import mods for icxercesc

File size: 4.5 KB
Line 
1/*
2 * Licensed to the Apache Software Foundation (ASF) under one or more
3 * contributor license agreements.  See the NOTICE file distributed with
4 * this work for additional information regarding copyright ownership.
5 * The ASF licenses this file to You under the Apache License, Version 2.0
6 * (the "License"); you may not use this file except in compliance with
7 * the License.  You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/*
19 * $Id: DOMXPathNamespace.hpp 932887 2010-04-11 13:04:59Z borisk $
20 */
21
22#if !defined(XERCESC_INCLUDE_GUARD_DOMXPATHNAMESPACE_HPP)
23#define XERCESC_INCLUDE_GUARD_DOMXPATHNAMESPACE_HPP
24
25#include <xercesc/dom/DOMNode.hpp>
26
27XERCES_CPP_NAMESPACE_BEGIN
28
29class DOMElement;
30
31/**
32 * The <code>DOMXPathNamespace</code> interface is returned by <code>DOMXPathResult</code>
33 * interfaces to represent the XPath namespace node type that DOM lacks. There is no
34 * public constructor for this node type. Attempts to place it into a hierarchy or a
35 * NamedNodeMap result in a DOMException with the code HIERARCHY_REQUEST_ERR. This node
36 * is read only, so methods or setting of attributes that would mutate the node result
37 * in a <code>DOMException</code> with the code NO_MODIFICATION_ALLOWED_ERR.
38 * The core specification describes attributes of the <code>DOMNode</code> interface that
39 * are different for different node types but does not describe XPATH_NAMESPACE_NODE,
40 * so here is a description of those attributes for this node type. All attributes of
41 * <code>DOMNode</code> not described in this section have a null or false value.
42 * ownerDocument matches the ownerDocument of the ownerElement even if the element is later adopted.
43 * nodeName is always the string "#namespace".
44 * prefix is the prefix of the namespace represented by the node.
45 * localName is the same as prefix.
46 * nodeType is equal to XPATH_NAMESPACE_NODE.
47 * namespaceURI is the namespace URI of the namespace represented by the node.
48 * nodeValue is the same as namespaceURI.
49 * adoptNode, cloneNode, and importNode fail on this node type by raising a DOMException with the code NOT_SUPPORTED_ERR.
50 * Note: In future versions of the XPath specification, the definition of a namespace node may
51 * be changed incompatibly, in which case incompatible changes to field values may be required to
52 * implement versions beyond XPath 1.0.
53 * @since DOM Level 3
54 */
55class CDOM_EXPORT DOMXPathNamespace : public DOMNode
56{
57
58protected:
59    // -----------------------------------------------------------------------
60    //  Hidden constructors
61    // -----------------------------------------------------------------------
62    /** @name Hidden constructors */
63    //@{   
64    DOMXPathNamespace() {};
65    //@}
66
67private:
68    // -----------------------------------------------------------------------
69    // Unimplemented constructors and operators
70    // -----------------------------------------------------------------------
71    /** @name Unimplemented constructors and operators */
72    //@{
73    DOMXPathNamespace(const DOMXPathNamespace &);
74    DOMXPathNamespace& operator = (const  DOMXPathNamespace&);
75    //@}
76
77public:
78
79   
80    enum XPathNodeType {
81        XPATH_NAMESPACE_NODE = 13
82    };
83
84    // -----------------------------------------------------------------------
85    //  All constructors are hidden, just the destructor is available
86    // -----------------------------------------------------------------------
87    /** @name Destructor */
88    //@{
89    /**
90     * Destructor
91     *
92     */
93    virtual ~DOMXPathNamespace() {};
94    //@}
95
96    // -----------------------------------------------------------------------
97    // Virtual DOMXPathNamespace interface
98    // -----------------------------------------------------------------------
99    /** @name Functions introduced in DOM Level 3 */
100    //@{
101    /**
102     * The <code>DOMElement</code> on which the namespace was in scope when
103     * it was requested. This does not change on a returned namespace node
104     * even if the document changes such that the namespace goes out of
105     * scope on that element and this node is no longer found there by XPath.
106     * @since DOM Level 3
107     */
108    virtual DOMElement     *getOwnerElement() const = 0;
109
110    //@}
111};
112
113XERCES_CPP_NAMESPACE_END
114
115#endif
Note: See TracBrowser for help on using the repository browser.