[docs] [issue13784] Documentation of xml.sax.xmlreader: Locator.getLineNumber() and Locator.getColumnNumber()
patrick vrijlandt
report at bugs.python.org
Sat Jan 14 13:02:15 CET 2012
New submission from patrick vrijlandt <patrick.vrijlandt at gmail.com>:
Problem:
Locator methods return the location where the event starts, not where it ends.
Locator line numbers start at 1, Locator column numbers can be 0.
Proposal:
Adapt documentation.
>From the docs:
Instances of Locator provide these methods:
Locator.getColumnNumber()
Return the column number where the current event ends.
Locator.getLineNumber()
Return the line number where the current event ends
My Test:
import xml.sax
data = b"""<main>
<sub
attr="1"
id="name"
>
<subsub />
</sub>
</main>"""
class MyHandler(xml.sax.handler.ContentHandler):
def startElement(self, name, attrs):
if name == "sub":
print("open", name, self._locator.getLineNumber(), self._locator.getColumnNumber())
def endElement(self, name):
if name == "sub":
print("close", name, self._locator.getLineNumber(), self._locator.getColumnNumber())
xml.sax.parseString(data, MyHandler())
Output:
open sub 2 4
close sub 7 4
----------
assignee: docs at python
components: Documentation, XML
messages: 151247
nosy: docs at python, patrick.vrijlandt
priority: normal
severity: normal
status: open
title: Documentation of xml.sax.xmlreader: Locator.getLineNumber() and Locator.getColumnNumber()
type: behavior
versions: Python 3.2
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue13784>
_______________________________________
More information about the docs
mailing list