1

次の例のXMLがあります。

<Table>
  <Row Position="0" Name="FName" />
  <Row Position="1" Name="LName" />
  <Row Position="2" Name="Email" />
  <Row Position="3" Name="Phone" />
  <Row Position="4" Name="Address" />
</Table>

これを次の出力に読み込めるようにしたいと思います。

Row: FName
Row: LName
Row: Email
Row: Phone
Row: Address

ただし、このリストの順序Positionは行の属性に基づいている必要があります。これにより、番号の順序を変更するだけで出力の順序を変更できます。

これを完了するには1つか2つの変数が必要だと思いますが、実行については完全にはわかりません。

乾杯

例:

入力

<Table>
  <Row Position="0" Name="FName" />
  <Row Position="1" Name="LName" />
  <Row Position="4" Name="Email" />
  <Row Position="2" Name="Phone" />
  <Row Position="3" Name="Address" />
</Table>

出力

Row: FName
Row: LName
Row: Phone
Row: Address
Row: Email
4

1 に答える 1

2
<xsl:template match="Table">
  <xsl:apply-templates select="Row">
    <xsl:sort select="@Position" data-type="number"/>
  </xsl:apply-templates>
</xsl:template>

<xsl:template match="Row">
  <xsl:text>Row: </xsl:text>
  <xsl:value-of select="@Name"/>
  <xsl:text>&#10;</xsl:text>
</xsl:template>
于 2012-04-27T10:36:30.680 に答える