/parser/xml/public/nsISAXLocator.idl

http://github.com/zpao/v8monkey · IDL · 121 lines · 8 code · 6 blank · 107 comment · 0 complexity · 4c0f2aa03022d68778dbd0c931ea9405 MD5 · raw file

  1. /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
  2. /* ***** BEGIN LICENSE BLOCK *****
  3. * Version: MPL 1.1/GPL 2.0/LGPL 2.1
  4. *
  5. * The contents of this file are subject to the Mozilla Public License Version
  6. * 1.1 (the "License"); you may not use this file except in compliance with
  7. * the License. You may obtain a copy of the License at
  8. * http://www.mozilla.org/MPL/
  9. *
  10. * Software distributed under the License is distributed on an "AS IS" basis,
  11. * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  12. * for the specific language governing rights and limitations under the
  13. * License.
  14. *
  15. * The Original Code is mozilla.org code.
  16. *
  17. * The Initial Developer of the Original Code is Robert Sayre.
  18. *
  19. * Portions created by the Initial Developer are Copyright (C) 2005
  20. * the Initial Developer. All Rights Reserved.
  21. *
  22. * Contributor(s):
  23. *
  24. * Alternatively, the contents of this file may be used under the terms of
  25. * either the GNU General Public License Version 2 or later (the "GPL"), or
  26. * the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  27. * in which case the provisions of the GPL or the LGPL are applicable instead
  28. * of those above. If you wish to allow use of your version of this file only
  29. * under the terms of either the GPL or the LGPL, and not to allow others to
  30. * use your version of this file under the terms of the MPL, indicate your
  31. * decision by deleting the provisions above and replace them with the notice
  32. * and other provisions required by the GPL or the LGPL. If you do not delete
  33. * the provisions above, a recipient may use your version of this file under
  34. * the terms of any one of the MPL, the GPL or the LGPL.
  35. *
  36. * ***** END LICENSE BLOCK ***** */
  37. #include "nsISupports.idl"
  38. /**
  39. * Interface for associating a SAX event with a document location.
  40. *
  41. * Note that the results returned by the object will be valid only
  42. * during the scope of each callback method: the application will
  43. * receive unpredictable results if it attempts to use the locator at
  44. * any other time, or after parsing completes.
  45. */
  46. [scriptable, uuid(7a307c6c-6cc9-11da-be43-001422106990)]
  47. interface nsISAXLocator: nsISupports {
  48. /**
  49. * Return the column number where the current document event ends.
  50. *
  51. * Warning: The return value from the method is intended only as an
  52. * approximation for the sake of diagnostics; it is not intended to
  53. * provide sufficient information to edit the character content of
  54. * the original XML document. For example, when lines contain
  55. * combining character sequences, wide characters, surrogate pairs,
  56. * or bi-directional text, the value may not correspond to the
  57. * column in a text editor's display.
  58. *
  59. * The return value is an approximation of the column number in the
  60. * document entity or external parsed entity where the markup
  61. * triggering the event appears.
  62. *
  63. * If possible, the SAX driver should provide the line position of
  64. * the first character after the text associated with the document
  65. * event. The first column in each line is column 1.
  66. *
  67. * @return The column number, or -1 if none is available.
  68. */
  69. readonly attribute long columnNumber;
  70. /**
  71. * Return the line number where the current document event ends.
  72. * Lines are delimited by line ends, which are defined in the XML
  73. * specification.
  74. *
  75. * Warning: The return value from the method is intended only as an
  76. * approximation for the sake of diagnostics; it is not intended to
  77. * provide sufficient information to edit the character content of
  78. * the original XML document. In some cases, these "line" numbers
  79. * match what would be displayed as columns, and in others they may
  80. * not match the source text due to internal entity expansion.
  81. *
  82. * The return value is an approximation of the line number in the
  83. * document entity or external parsed entity where the markup
  84. * triggering the event appears.
  85. *
  86. * If possible, the SAX driver should provide the line position of
  87. * the first character after the text associated with the document
  88. * event. The first line is line 1.
  89. *
  90. * @return The line number, or -1 if none is available.
  91. */
  92. readonly attribute long lineNumber;
  93. /**
  94. * Return the public identifier for the current document event.
  95. *
  96. * The return value is the public identifier of the document entity
  97. * or of the external parsed entity in which the markup triggering
  98. * the event appears.
  99. *
  100. * @return A string containing the public identifier, or
  101. * null if none is available.
  102. */
  103. readonly attribute AString publicId;
  104. /**
  105. * Return the system identifier for the current document event.
  106. *
  107. * The return value is the system identifier of the document entity
  108. * or of the external parsed entity in which the markup triggering
  109. * the event appears.
  110. *
  111. * @return A string containing the system identifier, or null
  112. * if none is available.
  113. */
  114. readonly attribute AString systemId;
  115. };