/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */ /* ***** BEGIN LICENSE BLOCK ***** * Version: MPL 1.1/GPL 2.0/LGPL 2.1 * * The contents of this file are subject to the Mozilla Public License Version * 1.1 (the "License"); you may not use this file except in compliance with * the License. You may obtain a copy of the License at * http://www.mozilla.org/MPL/ * * Software distributed under the License is distributed on an "AS IS" basis, * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License * for the specific language governing rights and limitations under the * License. * * The Original Code is mozilla.org code. * * The Initial Developer of the Original Code is Robert Sayre. * * Portions created by the Initial Developer are Copyright (C) 2005 * the Initial Developer. All Rights Reserved. * * Contributor(s): * * Alternatively, the contents of this file may be used under the terms of * either the GNU General Public License Version 2 or later (the "GPL"), or * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"), * in which case the provisions of the GPL or the LGPL are applicable instead * of those above. If you wish to allow use of your version of this file only * under the terms of either the GPL or the LGPL, and not to allow others to * use your version of this file under the terms of the MPL, indicate your * decision by deleting the provisions above and replace them with the notice * and other provisions required by the GPL or the LGPL. If you do not delete * the provisions above, a recipient may use your version of this file under * the terms of any one of the MPL, the GPL or the LGPL. * * ***** END LICENSE BLOCK ***** */ #include "nsISupports.idl" /** * Interface for associating a SAX event with a document location. * * Note that the results returned by the object will be valid only * during the scope of each callback method: the application will * receive unpredictable results if it attempts to use the locator at * any other time, or after parsing completes. */ [scriptable, uuid(7a307c6c-6cc9-11da-be43-001422106990)] interface nsISAXLocator: nsISupports { /** * Return the column number where the current document event ends. * * Warning: The return value from the method is intended only as an * approximation for the sake of diagnostics; it is not intended to * provide sufficient information to edit the character content of * the original XML document. For example, when lines contain * combining character sequences, wide characters, surrogate pairs, * or bi-directional text, the value may not correspond to the * column in a text editor's display. * * The return value is an approximation of the column number in the * document entity or external parsed entity where the markup * triggering the event appears. * * If possible, the SAX driver should provide the line position of * the first character after the text associated with the document * event. The first column in each line is column 1. * * @return The column number, or -1 if none is available. */ readonly attribute long columnNumber; /** * Return the line number where the current document event ends. * Lines are delimited by line ends, which are defined in the XML * specification. * * Warning: The return value from the method is intended only as an * approximation for the sake of diagnostics; it is not intended to * provide sufficient information to edit the character content of * the original XML document. In some cases, these "line" numbers * match what would be displayed as columns, and in others they may * not match the source text due to internal entity expansion. * * The return value is an approximation of the line number in the * document entity or external parsed entity where the markup * triggering the event appears. * * If possible, the SAX driver should provide the line position of * the first character after the text associated with the document * event. The first line is line 1. * * @return The line number, or -1 if none is available. */ readonly attribute long lineNumber; /** * Return the public identifier for the current document event. * * The return value is the public identifier of the document entity * or of the external parsed entity in which the markup triggering * the event appears. * * @return A string containing the public identifier, or * null if none is available. */ readonly attribute AString publicId; /** * Return the system identifier for the current document event. * * The return value is the system identifier of the document entity * or of the external parsed entity in which the markup triggering * the event appears. * * @return A string containing the system identifier, or null * if none is available. */ readonly attribute AString systemId; };