1 /* 2 * Copyright (c) 1999 World Wide Web Consortium 3 * (Massachusetts Institute of Technology, Institut National de Recherche 4 * en Informatique et en Automatique, Keio University). 5 * All Rights Reserved. http://www.w3.org/Consortium/Legal/ 6 * 7 * The original version of this interface comes from SAX : 8 * http://www.megginson.com/SAX/ 9 * 10 * $Id: Locator.java,v 1.1.1.1 2003/12/28 21:23:51 davidsch Exp $ 11 */ 12 package org.w3c.css.sac; 13 14 /** 15 * Interface for associating a CSS event with a document location. 16 * 17 * <p>If a SAX parser provides location information to the SAX 18 * application, it does so by implementing this interface and then 19 * passing an instance to the application using the document 20 * handler's setDocumentLocator method. The application can use the 21 * object to obtain the location of any other document handler event 22 * in the CSS source document.</p> 23 * 24 * <p>Note that the results returned by the object will be valid only 25 * during the scope of each document handler method: the application 26 * will receive unpredictable results if it attempts to use the 27 * locator at any other time.</p> 28 * 29 * <p>CSS parsers are not required to supply a locator, but they are 30 * very strong encouraged to do so. If the parser supplies a 31 * locator, it must do so before reporting any other document events. 32 * If no locator has been set by the time the application receives 33 * the startDocument event, the application should assume that a 34 * locator is not available.</p> 35 * 36 * @version $Revision: 1.1.1.1 $ 37 * @author Philippe Le Hegaret 38 */ 39 public interface Locator { 40 41 /** 42 * Return the URI for the current document event. 43 * 44 * <p>The parser must resolve the URI fully before passing it to the 45 * application.</p> 46 * 47 * @return A string containing the URI, or null 48 * if none is available. 49 */ 50 public String getURI(); 51 52 /** 53 * Return the line number where the current document event ends. 54 * Note that this is the line position of the first character 55 * after the text associated with the document event. 56 * @return The line number, or -1 if none is available. 57 * @see #getColumnNumber 58 */ 59 public int getLineNumber(); 60 61 /** 62 * Return the column number where the current document event ends. 63 * Note that this is the column number of the first 64 * character after the text associated with the document 65 * event. The first column in a line is position 1. 66 * @return The column number, or -1 if none is available. 67 * @see #getLineNumber 68 */ 69 public int getColumnNumber(); 70 } 71