1 |
14 |
jlechner |
/*
|
2 |
|
|
* Copyright (c) 2004 World Wide Web Consortium,
|
3 |
|
|
*
|
4 |
|
|
* (Massachusetts Institute of Technology, European Research Consortium for
|
5 |
|
|
* Informatics and Mathematics, Keio University). All Rights Reserved. This
|
6 |
|
|
* work is distributed under the W3C(r) Software License [1] in the hope that
|
7 |
|
|
* it will be useful, but WITHOUT ANY WARRANTY; without even the implied
|
8 |
|
|
* warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
|
9 |
|
|
*
|
10 |
|
|
* [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
|
11 |
|
|
*/
|
12 |
|
|
|
13 |
|
|
package org.w3c.dom.ls;
|
14 |
|
|
|
15 |
|
|
import org.w3c.dom.traversal.NodeFilter;
|
16 |
|
|
|
17 |
|
|
/**
|
18 |
|
|
* <code>LSSerializerFilter</code>s provide applications the ability to
|
19 |
|
|
* examine nodes as they are being serialized and decide what nodes should
|
20 |
|
|
* be serialized or not. The <code>LSSerializerFilter</code> interface is
|
21 |
|
|
* based on the <code>NodeFilter</code> interface defined in [<a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>DOM Level 2 Traversal and Range</a>]
|
22 |
|
|
* .
|
23 |
|
|
* <p> <code>Document</code>, <code>DocumentType</code>,
|
24 |
|
|
* <code>DocumentFragment</code>, <code>Notation</code>, <code>Entity</code>
|
25 |
|
|
* , and children of <code>Attr</code> nodes are not passed to the filter.
|
26 |
|
|
* The child nodes of an <code>EntityReference</code> node are only passed
|
27 |
|
|
* to the filter if the <code>EntityReference</code> node is skipped by the
|
28 |
|
|
* method <code>LSParserFilter.acceptNode()</code>.
|
29 |
|
|
* <p> When serializing an <code>Element</code>, the element is passed to the
|
30 |
|
|
* filter before any of its attributes are passed to the filter. Namespace
|
31 |
|
|
* declaration attributes, and default attributes (except in the case when "
|
32 |
|
|
* discard-default-content" is set to <code>false</code>), are never passed
|
33 |
|
|
* to the filter.
|
34 |
|
|
* <p> The result of any attempt to modify a node passed to a
|
35 |
|
|
* <code>LSSerializerFilter</code> is implementation dependent.
|
36 |
|
|
* <p> DOM applications must not raise exceptions in a filter. The effect of
|
37 |
|
|
* throwing exceptions from a filter is DOM implementation dependent.
|
38 |
|
|
* <p> For efficiency, a node passed to the filter may not be the same as the
|
39 |
|
|
* one that is actually in the tree. And the actual node (node object
|
40 |
|
|
* identity) may be reused during the process of filtering and serializing a
|
41 |
|
|
* document.
|
42 |
|
|
* <p>See also the <a href='http://www.w3.org/TR/2004/REC-DOM-Level-3-LS-20040407'>Document Object Model (DOM) Level 3 Load
|
43 |
|
|
and Save Specification</a>.
|
44 |
|
|
*/
|
45 |
|
|
public interface LSSerializerFilter extends NodeFilter {
|
46 |
|
|
/**
|
47 |
|
|
* Tells the <code>LSSerializer</code> what types of nodes to show to the
|
48 |
|
|
* filter. If a node is not shown to the filter using this attribute, it
|
49 |
|
|
* is automatically serialized. See <code>NodeFilter</code> for
|
50 |
|
|
* definition of the constants. The constants <code>SHOW_DOCUMENT</code>
|
51 |
|
|
* , <code>SHOW_DOCUMENT_TYPE</code>, <code>SHOW_DOCUMENT_FRAGMENT</code>
|
52 |
|
|
* , <code>SHOW_NOTATION</code>, and <code>SHOW_ENTITY</code> are
|
53 |
|
|
* meaningless here, such nodes will never be passed to a
|
54 |
|
|
* <code>LSSerializerFilter</code>.
|
55 |
|
|
* <br> Unlike [<a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>DOM Level 2 Traversal and Range</a>]
|
56 |
|
|
* , the <code>SHOW_ATTRIBUTE</code> constant indicates that the
|
57 |
|
|
* <code>Attr</code> nodes are shown and passed to the filter.
|
58 |
|
|
* <br> The constants used here are defined in [<a href='http://www.w3.org/TR/2000/REC-DOM-Level-2-Traversal-Range-20001113'>DOM Level 2 Traversal and Range</a>]
|
59 |
|
|
* .
|
60 |
|
|
*/
|
61 |
|
|
public int getWhatToShow();
|
62 |
|
|
|
63 |
|
|
}
|