001    /*
002     * Copyright (c) 2004 World Wide Web Consortium,
003     *
004     * (Massachusetts Institute of Technology, European Research Consortium for
005     * Informatics and Mathematics, Keio University). All Rights Reserved. This
006     * work is distributed under the W3C(r) Software License [1] in the hope that
007     * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
008     * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
009     *
010     * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
011     */
012    
013    package org.w3c.dom;
014    
015    /**
016     * <code>EntityReference</code> nodes may be used to represent an entity
017     * reference in the tree. Note that character references and references to
018     * predefined entities are considered to be expanded by the HTML or XML
019     * processor so that characters are represented by their Unicode equivalent
020     * rather than by an entity reference. Moreover, the XML processor may
021     * completely expand references to entities while building the
022     * <code>Document</code>, instead of providing <code>EntityReference</code>
023     * nodes. If it does provide such nodes, then for an
024     * <code>EntityReference</code> node that represents a reference to a known
025     * entity an <code>Entity</code> exists, and the subtree of the
026     * <code>EntityReference</code> node is a copy of the <code>Entity</code>
027     * node subtree. However, the latter may not be true when an entity contains
028     * an unbound namespace prefix. In such a case, because the namespace prefix
029     * resolution depends on where the entity reference is, the descendants of
030     * the <code>EntityReference</code> node may be bound to different namespace
031     * URIs. When an <code>EntityReference</code> node represents a reference to
032     * an unknown entity, the node has no children and its replacement value,
033     * when used by <code>Attr.value</code> for example, is empty.
034     * <p>As for <code>Entity</code> nodes, <code>EntityReference</code> nodes and
035     * all their descendants are readonly.
036     * <p ><b>Note:</b> <code>EntityReference</code> nodes may cause element
037     * content and attribute value normalization problems when, such as in XML
038     * 1.0 and XML Schema, the normalization is performed after entity reference
039     * are expanded.
040     * <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-Core-20040407'>Document Object Model (DOM) Level 3 Core Specification</a>.
041     */
042    public interface EntityReference extends Node {
043    }