Сокращенный синтаксис предикатов
Сокращенный синтаксис предикатов
Выражения предикатов можно сокращать, опуская "position()=". Например, [position()=3] становится [3], [position()=last()] становится [last()] и т.д. С использованием сокращенного синтаксиса применять выражения XPath в предикатах становится существенно проще. Вот ряд примеров:
• PLANET[2]. Возвращает второго ребенка <PLANET> контекстного узла;
• PLANET[last()]. Возвращает последнего ребенка <PLANET> контекстного узла;
• /PLANETS/PLANET[2]/NAME[1]. Возвращает первый элемент <NAME> второго элемента <PLANET> элемента <PLANETS>;
• PLANET[5][@UNITS="million miles"]. Возвращает пятого ребенка <PLANET> контекстного узла, только если у него имеется атрибут UNITS со значением "million miles". Это выражение можно также написать как PLANET[@UNITS="million miles"][5].
На этом мы заканчиваем рассмотрение трех частей образцов шага: осей, условий узлов и предикатов. Это строительные блоки образцов выбора. Лучше всего изучить создание образцов на примере, и многие примеры мы вскоре рассмотрим. Сначала, однако, важно рассмотреть две небольшие темы. Как вы помните из формального определения образцов выбора, можно помимо образцов шага, создавать образцы, выбирающие элементы по идентификатору (ID) или ключу.