Как получить имя родительского узла текущего узла? - PullRequest
17 голосов
/ 11 августа 2011

Каков правильный синтаксис, чтобы получить имя родительского узла текущего узла? Я знаю, что речь идет о родителе AxisName, но каков правильный синтаксис? например следующего xml

<netcdf xmlns="http://www.unidata.ucar.edu/namespaces/netcdf/ncml-2.2" location="file:/dev/null" iosp="lasp.tss.iosp.ValueGeneratorIOSP" start="0" increment="1">
    <attribute name="title" value="Vector time series"/>
    <dimension name="time" length="100"/>
    <variable name="time" shape="time" type="double">
        <attribute name="units" type="String" value="seconds since 1970-01-01T00:00"/>
    </variable>
    <group name="Vector" tsdsType="Structure" shape="time">
        <variable name="x" shape="time" type="double"/>
        <variable name="y" shape="time" type="double"/>
        <variable name="z" shape="time" type="double"/>
    </group>
</netcdf>

для переменной элемента я должен получить netcdf или группу. Заранее спасибо.

Ответы [ 2 ]

31 голосов
/ 11 августа 2011

Используйте

name(..)

Сокращение .. является сокращением для parent::node().

Обратите внимание : не у каждого родителя есть имя. Например, узел документа (/) является родителем верхнего элемента (/*) документа и не имеет имени.

9 голосов
/ 11 августа 2011

name(parent::*) должен это сделать. Очевидно, будет только один родитель.

...