W3C home > Mailing lists > Public > public-html@w3.org > March 2008

Label in notation of XPath

From: Dmitry Turin <html60@narod.ru>
Date: Wed, 26 Mar 2008 11:34:29 +0200
Message-ID: <14712709546.20080326113429@narod.ru>
To: public-html@w3.org

Good day,

1) Notation of XPath.
Now it's impussible to refer to tag (place of document),
which has no attribute @name, and no attribute @id.
I'm proposing to specify necessary element in notation of
XPath after name of document and marks "#:", and to name
this specification as __reader's label__.
  <a src="./a.htm#:html/body/p[187]/em[2]">           text </a>
  <a src="./b.htm#:body/h2[5]">                       text </a>

2) Function 'contains'.
Let '@@' means content of element except enclosed elements
(got strings are merged; sequence of blanks, tabulation,
new lines are considered as one blank); and mark '~' means
function 'contains', in which arguments are rearrange
i.e. 'a~b' is equivalent to 'contains(b,a)'.
  <a src="./a.htm#:html/body/h1[@@~"some thing"]+img[@src~"./pic.jpg"]"> text </a>
  <a src="./b.htm#:dfn[@@~"stencil"]">                                   text </a>

3)Notation of CSS.
Mark "plus" between two elements means the same as in CSS -
that both elements are in the same level of hierarchy
i.e. they are enclosed into the same surroundting element),
and that it's necessary to count number of element, located
right mark "plus", not from beginning of contents of
surrounding element - it's necessary to begin count after
element, located left mark "plus".
  <a src="./c.htm#:html/body/h3[4]+p[12]">            text </a>
  <a src="./d.htm#:body/h1[3]+h2[2]+h3[5]+p[8]/b[3]"> text </a>

Browser searches first element HTML in first example, it searches
first element BODY inside it, in which browser searches 4-th
element H3 - reader's label refer to 12-th element P after it,
enclosed in element BODY.

Browser searches first element BODY in second example, then
browser continuously searches between elements, located inside it:
3-rd element H1; 2-nd element H2 after this H1; 5-th element H3
after this h2; 8-th element P after this H3 - reader's label refers
to 3-th element B inside this paragraph.

4)Both notations simultaneously.
  <a href="./c.htm#:body/h2[@@~"part of header"]+h3[5]"> text </a>


Dmitry Turin
HTML6     (6. 8.0)  http://html60.euro.ru
SQL5      (5.14.0)  http://sql50.euro.ru
Unicode7  (7. 3.0)  http://unicode70.euro.ru
Computer2 (2. 5.1)  http://computer20.euro.ru
Received on Wednesday, 26 March 2008 10:33:50 UTC

This archive was generated by hypermail 2.3.1 : Thursday, 29 October 2015 10:15:31 UTC