Перечень статей   Цветовые обозначения   Choose language


Как сослаться в то место документа,
которое автор не пометил!?



Нотация XPath

Сейчас в ссылке невозможно указать тот элемент (то место документа), который не имеет ни атрибута name, ни атрибута id. Предлагаю указывать необходимый элемент в нотации XPath после названия документа и знаков "#:", и называть такое указание меткой читателя.

<a src="./a.htm#:html/body/p[187]/em[2]">           text </a>
<a src="./b.htm#:body/h2[5]">                       text </a>

Функция 'contains'

Пусть '@@' означает конктест элемента за исключением вложенных элементов (получившиеся строки склеиваются; последовательность пробелов, табуляций, переводов строки считаются за один пробел); а знак '~' означает функцию 'contains', в которой переставлены аргументы, т.е. 'a~b' эквивалентно 'contains(b,a)'. Если подходящих html-элементов несколько, найденным является первый из них.

<a src="./a.htm#:html/body/h1[@@~"some thing"]+img[@src~"./pic.jpg"]"> text </a>
<a src="./b.htm#:dfn[@@~"stencil"]">                                   text </a>

Нотация CSS

Знак "плюс" между двумя элементами означает то же самое, что и в CSS - что оба элемента находятся на одном и том же уровне иерархии (т.е. вложены в один и тот же обрамляющий элемент), и что номер элемента, расположенного справа от знака "плюс", нужно отсчитывать не от начала содержимого обрамляющего элемента - начать отсчет нужно после элемента, расположенного слева от знака "плюс".

<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>

В первом примере браузер ищет первый элемент html, внутри него ищет первый элемент body, в котором он ищет 4-й элемент h3 - метка читателя ссылается на 12-й элемент p после него, вложенный в элемент body.

Во втором примере браузер ищет первый элемент body, затем среди элементов, расположенных внутри него, он последовательно ищет: 3-й тег h1; 2-й тег h2 после этого h1; 5-й тег h3 после этого h2; 8-й тег p после этого h3 - метка читателя ссылается на 3-й элемент b внутри этого параграфа.

Обе нотации одновременно

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


Тюрин Дмитрий



Перечень статей   Цветовые обозначения   Choose language