特定路径的不同值组合
Distinct combination of value for a specific path
我有一棵 XML 树,其中每个节点都有一个子节点。如图所示 here。
有没有办法找到与特定路径相关的不同值组合?
例如,如果考虑前面示例中的树,我想根据它们的值找到标签的所有不同组合:
INPUT: /A/C/D
<A value="5.4"><C value="1.7"><D value="0.4"></D></C></A>
<A value="5.1"><C value="1.4"><D value="0.2"></D></C></A>
<A value="5.1"><C value="1.4"><D value="0.4"></D></C></A>
<A value="5.0"><C value="1.4"><D value="0.2"></D></C></A>
<A value="5.0"><C value="1.5"><D value="0.2"></D></C></A>
<A value="4.9"><C value="1.5"><D value="0.1"></D></C></A>
<A value="4.6"><C value="1.5"><D value="0.2"></D></C></A>
<A value="4.6"><C value="1.4"><D value="0.3"></D></C></A>
<A value="4.4"><C value="1.4"><D value="0.2"></D></C></A>
INPUT: /C/D
<C value="1.4"><D value="0.2"></D></C>
<C value="1.4"><D value="0.3"></D></C>
<C value="1.4"><D value="0.4"></D></C>
<C value="1.5"><D value="0.1"></D></C>
<C value="1.5"><D value="0.2"></D></C>
<C value="1.7"><D value="0.4"></D></C>
你可以试试
distinct-values(
A//C//D/string-join(
ancestor-or-self::*[self::A|self::C|self::D]/@value, '|'))
我有一棵 XML 树,其中每个节点都有一个子节点。如图所示 here。
有没有办法找到与特定路径相关的不同值组合?
例如,如果考虑前面示例中的树,我想根据它们的值找到标签的所有不同组合:
INPUT: /A/C/D
<A value="5.4"><C value="1.7"><D value="0.4"></D></C></A>
<A value="5.1"><C value="1.4"><D value="0.2"></D></C></A>
<A value="5.1"><C value="1.4"><D value="0.4"></D></C></A>
<A value="5.0"><C value="1.4"><D value="0.2"></D></C></A>
<A value="5.0"><C value="1.5"><D value="0.2"></D></C></A>
<A value="4.9"><C value="1.5"><D value="0.1"></D></C></A>
<A value="4.6"><C value="1.5"><D value="0.2"></D></C></A>
<A value="4.6"><C value="1.4"><D value="0.3"></D></C></A>
<A value="4.4"><C value="1.4"><D value="0.2"></D></C></A>
INPUT: /C/D
<C value="1.4"><D value="0.2"></D></C>
<C value="1.4"><D value="0.3"></D></C>
<C value="1.4"><D value="0.4"></D></C>
<C value="1.5"><D value="0.1"></D></C>
<C value="1.5"><D value="0.2"></D></C>
<C value="1.7"><D value="0.4"></D></C>
你可以试试
distinct-values(
A//C//D/string-join(
ancestor-or-self::*[self::A|self::C|self::D]/@value, '|'))