1 /**********************************************
2 * Copyright (C) 2010 Lukas Laag
3 * This file is part of lib-gwt-svg.
4 *
5 * libgwtsvg is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU Lesser General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * libgwtsvg is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU Lesser General Public License for more details.
14 *
15 * You should have received a copy of the GNU Lesser General Public License
16 * along with libgwtsvg. If not, see http://www.gnu.org/licenses/
17 **********************************************/
18 /*
19 * Copyright (c) 2004 World Wide Web Consortium,
20 *
21 * (Massachusetts Institute of Technology, European Research Consortium for
22 * Informatics and Mathematics, Keio University). All Rights Reserved. This
23 * work is distributed under the W3C(r) Software License [1] in the hope that
24 * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
25 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
26 *
27 * [1] http://www.w3.org/Consortium/Legal/2002/copyright-software-20021231
28 */
29
30 package org.vectomatic.dom.svg.itf;
31
32 import org.vectomatic.dom.svg.OMSVGDocument;
33
34 /**
35 * <p>This interface provides access to an SVG document embedded by reference
36 * in another DOM-based language. The expectation is that the interface is
37 * implemented on DOM objects that allow such SVG document references, such
38 * as the DOM {@link org.vectomatic.dom.svg.OMElement} object that corresponds
39 * to an HTML <span class='element-name'>'object'</span> element. Such DOM
40 * objects are often also required to implement the <code>EmbeddingElement</code>
41 * defined in the Window specification [<a href="refs.html#ref-WINDOW">WINDOW</a>].</p>
42 * <p>This interface is deprecated and may be dropped from future versions
43 * of the SVG specification. Authors are suggested to use the <code>contentDocument</code>
44 * attribute on the <code>EmbeddingElement</code> interface to obtain a referenced
45 * SVG document, if that interface is available.</p>
46 */
47 public interface IGetSVGDocument {
48 /**
49 * <p> This method must return the {@link org.vectomatic.dom.svg.OMDocument}
50 * object embedded content in an embedding element, or null if there is no
51 * document.</p> <p>Note that this is equivalent to fetching the value of
52 * the <code>EmbeddingElement::contentDocument</code> attribute of the embedding
53 * element, if the <code>EmbeddingElement</code> interface is also implemented.
54 * The author is advised to check that the document element of the returned
55 * {@link org.vectomatic.dom.svg.OMDocument} is indeed an <a href='http://www.w3.org/TR/SVG11/struct.html#SVGElement'
56 * title='svg element specification'>svg</a> element instead of assuming that
57 * that will always be the case.</p>
58 * @return The {@link org.vectomatic.dom.svg.OMDocument} object for the referenced
59 * document, or null if there is no document.
60 */
61 public OMSVGDocument getSVGDocument();
62 }