0

一部の受信 XML データを独自の XML スキーマ形式に変換する XSLT を作成しようとしています。ただし、着信 xml にはさまざまな数の繰り返しの「場所」要素があり (以下を参照)、それらをループする方法を考え出そうとしています。「場所」の最大数を保持する変数を作成することができました。 「count」関数を使用していますが、XSLT でこれをループする方法をうまく理解できていません。私はこれらすべてにかなりの初心者なので、多少密度が高い場合はご容赦ください。

<?xml version="1.0" encoding="UTF-8"?>
<Root>
    <RqId>dwdqwfqrfrq</RqId>
    <StartDate>2013-06-13</StartDate>
    <EndDate>2014-06-12</EndDate>
    <AddressData>
        <Location id="A6439ebfe-c7f8-40a0-b95f-a0cc1ebfe7d0">
            <NumberAndStreet>1 Main Street</NumberAndStreet>
            <City>Chicago</City>
            <County>Cook</County>
            <State>IL</State>
            <ZipCode>60001</ZipCode>
        </Location>
        <Location id="A6439ebfe-c7f8-40a0-b95f-a0cc1ebfe7d1">
            <NumberAndStreet>2 Main Street</NumberAndStreet>
            <City>Chicago</City>
            <County>Cook</County>
            <State>IL</State>
            <ZipCode>60002</ZipCode>
        </Location>
        <Location id="A6439ebfe-c7f8-40a0-b95f-a0cc1ebfe7d2">
            <NumberAndStreet>3 Main Street</NumberAndStreet>
            <City>Chicago</City>
            <County>Cook</County>
            <State>IL</State>
            <ZipCode>60003</ZipCode>
        </Location>
        <Location id="A6439ebfe-c7f8-40a0-b95f-a0cc1ebfe7d3">
            <NumberAndStreet>4 Main Street</NumberAndStreet>
            <City>Chicago</City>
            <County>Cook</County>
            <State>IL</State>
            <ZipCode>60004</ZipCode>
        </Location>
        <Location id="A6439ebfe-c7f8-40a0-b95f-a0cc1ebfe7d5">
            <NumberAndStreet>5 Main Street</NumberAndStreet>
            <City>Chicago</City>
            <County>Cook</County>
            <State>IL</State>
            <ZipCode>60005</ZipCode>
        </Location>
    </AddressData>
</Root>

誰でも助けることができますか?

ありがとう

4

1 に答える 1

0

あなたは手続き型言語の観点から考えています。XSLT は宣言型言語であり、要素のリストを「ループする」という意味はありません。

のようなテンプレートを書くだけです。

<xsl:template match="Location">
  ...
</xsl:template>

Location検出されたすべての要素に適用されます。

于 2013-06-13T15:56:52.213 に答える