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 }