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
013package 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 */
042public interface EntityReference extends Node {
043}