Ответ 1
Очередь предшествующего сиблинга:: ось
Очередь предшествующего -сборника:: ось - это ось навигации, которая включает в себя все предыдущие элементы родственного элемента для элемента фокусировки. Под "родством" мы подразумеваем другой элемент, который имеет один и тот же родительский элемент для ссылочного элемента. Под "предшествующим" мы понимаем a node, который предшествует эталонному. Порядок предыдущей оси - это порядок обратного документа. Взгляните на этот документ:
<fruit>
<banana>
<lady-finger-banana/>
</banana>
<apple/>
<pear/>
<kiwi/>
</fruit>
Если фокус node является грушей, то последовательность before-sibling:: * is...
- яблоко
- банан
Примечание: фрукты, груша, леди-палка-банан и киви не находятся в последовательности.
Итак, верно следующее:
- previous-sibling:: * [1] - это яблоко
- previous-sibling:: * [2] является бананом
- count (previous-sibling:: *) - 2
- previous-sibling:: apple [1] также является яблоком
- previous-sibling:: banana [1] - это банан
- previous-sibling:: * [3] отсутствует или пустая последовательность
previous-sibling:: pop/ancestor:: inventory/totalprice Пример
Нам нужно немного изменить ваш образец документа, чтобы полезно изучить этот пример
<product>
<inventory>
<drink>
<lemonade>
<price>$2.50</price>
<amount>20</amount>
</lemonade>
<pop>
<price>$1.50</price>
<amount>10</amount>
</pop>
<focus-item />
</drink>
<totalprice>$15</totalprice>
</inventory>
</product>
Скажем, основное внимание уделяется элементу фокуса элемента. Чтобы оценить выражение before-sibling:: pop/ancestor:: inventory/totalprice, выполните следующие действия.
- previous-sibling:: pop выбирает все предыдущие поп-элементы для фокуса. Это оценивает последовательность из одного node.
-
Для каждого элемента в левой руке (только один поп-элемент, который это происходит), установите этот элемент как элемент временного фокуса и оцените выражение права оператора /, который...
ancestor::inventory
Существует только один такой node, который является инвентарем предков node. Таким образом, первый/оператор оценивает последовательность одного инвентаря node.
-
Теперь мы оцениваем эффект второй/и ее правой стоимости выражения операнда. Для каждого элемента в левой руке (только один инвентарь node, так оно и происходит), установите это как элемент временного фокуса и оцените totalprice.
- totalprice является коротким для child:: totalprice. На дочерней оси временного фокуса node имеется только один общий ценовой элемент, поэтому конечным результатом является последовательность из одного node, который является общей ценой node.
Понимание по диаграммам
Пожалуйста, посмотрите эту страницу для иллюстрации осей.
Вот копия этой страничной диаграммы для previous-sibling::. В ней ссылка node - это Charlie, а node на предыдущей оси sibling:: green. Это единственный такой node.