О Nokogiri написано много с точки зрения чтения XML с помощью XPath. Однако как насчет использования Nokogiri с XML, содержащим ссылки XPath.
В этом примере xml содержит ссылку на XPath:
<elements>
<element>
<location>
<longitude>...
<latitude>...
</location>
</element>
<element>
<location reference="../../element/location"/>
</element>
</elements>
Поскольку оба элемента местоположения равны, подробно описывается только первый элемент. Второй просто ссылается на первый.
Используя Nokogiri, xml.xpath ('// location'), как и ожидалось, возвращает два экземпляра узла. Первый узел содержит все дочерние узлы. Вторая только ссылка как атрибут экземпляра второго узла.
Хорошо, если я хочу запросить все значения долготы, я бы сделал xml.xpath ('// location / longitude'). Это возвращает только один экземпляр узла. Однако, поскольку на самом деле существует два элемента типа «долгота», я ожидал получить два экземпляра узла, ожидая, что Nokogiri разрешит ссылки XPath ...
Как добиться этого с помощью Nokogiri?