0

XQueryを使用して2つのXMLファイルのデータを結合し、そのデータを使用してHTMLテーブルを作成する必要があります。

最初のファイルには、要素を識別する属性を持つ要素が含まれています。

<element id="x"/>
<element id="x2"/>

2番目のファイルには、別の識別子と、最初のファイルの要素を相互参照する要素が含まれています。

<2nd-element id="y" xref="x"/>
<2nd-element id="y2" xref="x2"/>

次の結果が残るようにデータをフィルタリングするにはどうすればよいですか?

  <table>
   <tbody>
   <tr><td>x</td><td>y</td></tr>
   <tr><td>x2</td><td>y2</td></tr>
   </tbody>
  </table>

現在、2番目の列に2番目のファイルのすべての外部参照属性を入力できますが、不要なデータを除外するにはどうすればよいですか?

式にデータをフィルタリングするための式を含めるにはどうすればよいですか?式はテーブルの列にデータを入力するために使用されますか?

{data(2nd-element/@xref)}
4

2 に答える 2

0

どのデータが不要かわかりません。xref2つの属性とidの値を挿入するだけです2nd-element。2番目のelementスニペットだけを使用して目的の出力を生成するためにsは必要ありません。

于 2012-08-10T08:58:52.927 に答える
0

最初のファイルのIDを調べ、2番目のファイルのIDと一致させて、ペアごとに1つのテーブル行を作成します。

<table>
  <tbody>
  {
    for $id1 in $first-file//element/@id
    let $id2 := $second-file//element-2nd[@xref = $id1]/@id
    return <tr><td>{data($id1)}</td><td>{data($id2)}</td></tr>
  }
  </tbody>
</table>
于 2012-08-10T11:19:43.140 に答える