Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:14:51

0001 /*
0002  * Licensed to the Apache Software Foundation (ASF) under one or more
0003  * contributor license agreements.  See the NOTICE file distributed with
0004  * this work for additional information regarding copyright ownership.
0005  * The ASF licenses this file to You under the Apache License, Version 2.0
0006  * (the "License"); you may not use this file except in compliance with
0007  * the License.  You may obtain a copy of the License at
0008  * 
0009  *      http://www.apache.org/licenses/LICENSE-2.0
0010  * 
0011  * Unless required by applicable law or agreed to in writing, software
0012  * distributed under the License is distributed on an "AS IS" BASIS,
0013  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
0014  * See the License for the specific language governing permissions and
0015  * limitations under the License.
0016  */
0017 
0018 /*
0019  * $Id$
0020  */
0021 
0022 #if !defined(XERCESC_INCLUDE_GUARD_DOMENTITYREFERENCE_HPP)
0023 #define XERCESC_INCLUDE_GUARD_DOMENTITYREFERENCE_HPP
0024 
0025 #include <xercesc/util/XercesDefs.hpp>
0026 #include <xercesc/dom/DOMNode.hpp>
0027 
0028 XERCES_CPP_NAMESPACE_BEGIN
0029 
0030 
0031 /**
0032  * <code>DOMEntityReference</code> objects may be inserted into the structure
0033  * model when an entity reference is in the source document, or when the
0034  * user wishes to insert an entity reference. Note that character references
0035  * and references to predefined entities are considered to be expanded by
0036  * the HTML or XML processor so that characters are represented by their
0037  * Unicode equivalent rather than by an entity reference. Moreover, the XML
0038  * processor may completely expand references to entities while building the
0039  * structure model, instead of providing <code>DOMEntityReference</code>
0040  * objects. If it does provide such objects, then for a given
0041  * <code>DOMEntityReference</code> node, it may be that there is no
0042  * <code>DOMEntity</code> node representing the referenced entity. If such an
0043  * <code>DOMEntity</code> exists, then the subtree of the
0044  * <code>DOMEntityReference</code> node is in general a copy of the
0045  * <code>DOMEntity</code> node subtree. However, this may not be true when an
0046  * entity contains an unbound namespace prefix. In such a case, because the
0047  * namespace prefix resolution depends on where the entity reference is, the
0048  * descendants of the <code>DOMEntityReference</code> node may be bound to
0049  * different namespace URIs.
0050  * <p>As for <code>DOMEntity</code> nodes, <code>DOMEntityReference</code> nodes and
0051  * all their descendants are readonly.
0052  * <p>See also the <a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113'>Document Object Model (DOM) Level 2 Core Specification</a>.
0053  *
0054  * @since DOM Level 1
0055  */
0056 
0057 class CDOM_EXPORT DOMEntityReference: public DOMNode {
0058 protected:
0059     // -----------------------------------------------------------------------
0060     //  Hidden constructors
0061     // -----------------------------------------------------------------------
0062     /** @name Hidden constructors */
0063     //@{    
0064     DOMEntityReference() {}
0065     DOMEntityReference(const DOMEntityReference &other) : DOMNode(other) {}
0066     //@}
0067 
0068 private:
0069     // -----------------------------------------------------------------------
0070     // Unimplemented constructors and operators
0071     // -----------------------------------------------------------------------
0072     /** @name Unimplemented operators */
0073     //@{
0074     DOMEntityReference & operator = (const DOMEntityReference &);
0075     //@}
0076 
0077 public:
0078     // -----------------------------------------------------------------------
0079     //  All constructors are hidden, just the destructor is available
0080     // -----------------------------------------------------------------------
0081     /** @name Destructor */
0082     //@{
0083     /**
0084      * Destructor
0085      *
0086      */
0087     virtual ~DOMEntityReference() {};
0088     //@}
0089 
0090 };
0091 
0092 XERCES_CPP_NAMESPACE_END
0093 
0094 #endif
0095 
0096