次のXMLがあると仮定します...
<FruitBasket>
<Basket>
<Apple>1</Apple>
<Banana>2</Banana>
<Orange>3</Orange>
</Basket>
<Basket>
<Avocado>1</Avocado>
<Lemon>2</Lemon>
</Basket>
</FruitBasket>
XSLTを使用して、次の変換をどのように生成しますか?
<BasketContents>
<Content>
<FruitName>Apple</FruitName>
<FruitAmount>1</FruitAmount>
<FruitName>Banana</FruitName>
<FruitAmount>2</FruitAmount>
<FruitName>Orange</FruitName>
<FruitAmount>3</FruitAmount>
</Content>
<Content>
<FruitName>Avocado</FruitName>
<FruitAmount>1</FruitAmount>
<FruitName>Lemon</FruitName>
<FruitAmount>2</FruitAmount>
</Content>
</BasketContents>
バスケットにどのような種類の果物が入っているかを知らなくても、一般的にそうする必要があります。xsltは、「バスケット」の子要素を処理する必要があります。たとえば、バスケットにリンゴとアボカドのどちらが入っているのか、バスケットに何種類の果物が入っているのかはわかりません。
基本的に、これは子要素の名前を呼び出す方法を知る必要があることに分解されるので、XMLの<Basket>
要素から、テンプレートを適用して、未知の子要素の名前を取得できる可能性があります。
アナロジーが役立つよりも混乱している場合は申し訳ありません。