summaryrefslogtreecommitdiffstats
path: root/Doc
diff options
context:
space:
mode:
authorRaymond Hettinger <python@rcn.com>2015-03-31 03:29:28 (GMT)
committerRaymond Hettinger <python@rcn.com>2015-03-31 03:29:28 (GMT)
commitc43a666ba2664d686387a8c4feb51aec868d06fe (patch)
tree4285de39b577d86d426458e672a4607406a04ab9 /Doc
parente7f5e147cdc32e7660586ce29ca97ccfe14c97f5 (diff)
downloadcpython-c43a666ba2664d686387a8c4feb51aec868d06fe.zip
cpython-c43a666ba2664d686387a8c4feb51aec868d06fe.tar.gz
cpython-c43a666ba2664d686387a8c4feb51aec868d06fe.tar.bz2
Issue #23729: Improve docs for ElementTree namespace parsing
Diffstat (limited to 'Doc')
-rw-r--r--Doc/library/xml.etree.elementtree.rst18
1 files changed, 10 insertions, 8 deletions
diff --git a/Doc/library/xml.etree.elementtree.rst b/Doc/library/xml.etree.elementtree.rst
index f09934b..eef1b58 100644
--- a/Doc/library/xml.etree.elementtree.rst
+++ b/Doc/library/xml.etree.elementtree.rst
@@ -290,8 +290,8 @@ Parsing XML with Namespaces
If the XML input has `namespaces
<https://en.wikipedia.org/wiki/XML_namespace>`__, tags and attributes
with prefixes in the form ``prefix:sometag`` get expanded to
-``{uri}tag`` where the *prefix* is replaced by the full *URI*. Also,
-if there is a `default namespace
+``{uri}sometag`` where the *prefix* is replaced by the full *URI*.
+Also, if there is a `default namespace
<http://www.w3.org/TR/2006/REC-xml-names-20060816/#defaulting>`__,
that full URI gets prepended to all of the non-prefixed tags.
@@ -317,17 +317,18 @@ prefix "fictional" and the other serving as the default namespace:
</actors>
One way to search and explore this XML example is to manually add the
-URI to every tag or attribute in the xpath of a *find()* or *findall()*::
+URI to every tag or attribute in the xpath of a
+:meth:`~Element.find` or :meth:`~Element.findall`::
- root = from_string(xml_text)
+ root = fromstring(xml_text)
for actor in root.findall('{http://people.example.com}actor'):
name = actor.find('{http://people.example.com}name')
print(name.text)
for char in actor.findall('{http://characters.example.com}character'):
print(' |-->', char.text)
-Another way to search the namespaced XML example is to create a
-dictionary with your own prefixes and use those in the search::
+A better way to search the namespaced XML example is to create a
+dictionary with your own prefixes and use those in the search functions::
ns = {'real_person': 'http://people.example.com',
'role': 'http://characters.example.com'}
@@ -431,8 +432,9 @@ Supported XPath syntax
| ``[tag]`` | Selects all elements that have a child named |
| | ``tag``. Only immediate children are supported. |
+-----------------------+------------------------------------------------------+
-| ``[tag=text]`` | Selects all elements that have a child named |
-| | ``tag`` that includes the given ``text``. |
+| ``[tag='text']`` | Selects all elements that have a child named |
+| | ``tag`` whose complete text content, including |
+| | descendants, equals the given ``text``. |
+-----------------------+------------------------------------------------------+
| ``[position]`` | Selects all elements that are located at the given |
| | position. The position can be either an integer |