This issue tracker has been migrated to GitHub ,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2012年01月14日 12:02 by patrick.vrijlandt, last changed 2022年04月11日 14:57 by admin. This issue is now closed.
| Files | ||||
|---|---|---|---|---|
| File name | Uploaded | Description | Edit | |
| 13784.patch | emilyemorehouse, 2016年06月02日 18:54 | review | ||
| Messages (5) | |||
|---|---|---|---|
| msg151247 - (view) | Author: patrick vrijlandt (patrick.vrijlandt) | Date: 2012年01月14日 12:02 | |
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
|
|||
| msg222156 - (view) | Author: Mark Lawrence (BreamoreBoy) * | Date: 2014年07月03日 08:17 | |
@patrick please accept our apologies for the delay in getting back to you. |
|||
| msg266913 - (view) | Author: Emily Morehouse (emilyemorehouse) * (Python committer) | Date: 2016年06月02日 18:54 | |
The reported behavior has been verified -- the documented behavior is indeed incorrect for both Locator.getColumnNumber() and Locator.getLineNumber(). The beginning line and column numbers are returned, not the end. This has been tested and verified for Python 2.7, Python 3.5.1 and a local build of the current default branch. |
|||
| msg266924 - (view) | Author: R. David Murray (r.david.murray) * (Python committer) | Date: 2016年06月02日 19:19 | |
Thanks Emily. For some reason the auto update of the tracker doesn't seem to have worked. Maybe it is just delayed, but in case, the commit hashes are 2.7 97b76fe183f4, 3.5 9d6a9e2ae18b, and 3.6 cce04851d2e2. |
|||
| msg266927 - (view) | Author: Roundup Robot (python-dev) (Python triager) | Date: 2016年06月02日 19:22 | |
New changeset 97b76fe183f4 by R David Murray in branch '2.7': #13784: fix xml.sax.reader getColumn/LineNumber docs. https://hg.python.org/cpython/rev/97b76fe183f4 New changeset 9d6a9e2ae18b by R David Murray in branch '3.5': #13784: fix xml.sax.reader getColumn/LineNumber docs. https://hg.python.org/cpython/rev/9d6a9e2ae18b New changeset cce04851d2e2 by R David Murray in branch 'default': Merge: #13784: fix xml.sax.reader getColumn/LineNumber docs. https://hg.python.org/cpython/rev/cce04851d2e2 |
|||
| History | |||
|---|---|---|---|
| Date | User | Action | Args |
| 2022年04月11日 14:57:25 | admin | set | github: 57993 |
| 2016年06月02日 19:22:36 | python-dev | set | nosy:
+ python-dev messages: + msg266927 |
| 2016年06月02日 19:19:33 | r.david.murray | set | status: open -> closed versions: - Python 3.2, Python 3.3, Python 3.4 nosy: + r.david.murray messages: + msg266924 resolution: fixed stage: resolved |
| 2016年06月02日 18:54:05 | emilyemorehouse | set | files:
+ 13784.patch versions: + Python 2.7, Python 3.2, Python 3.3, Python 3.6 nosy: + emilyemorehouse messages: + msg266913 keywords: + patch |
| 2014年07月03日 08:17:01 | BreamoreBoy | set | nosy:
+ christian.heimes, BreamoreBoy messages: + msg222156 versions: + Python 3.4, Python 3.5, - Python 3.2 |
| 2012年01月14日 12:02:14 | patrick.vrijlandt | create | |