私はまだ XSL を学んでおり、XSL から取得した値を別の値に変更しようとしています。(オンライン Web サイトを使用して、XSL を使用して XML を別の XML に変換しています)
XML
<?xml version="1.0" encoding="UTF-8"?>
<Person>
<Student>
<Info Name="Jen" Age="20" Class="C" />
</Student>
<Student>
<Info Name="Sam" Age="21" Class="B" />
</Student>
</Person>
たくさんあるとstudents
しましょう(同じ名前でも)
XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="Person">
<Person>
<lookuptable>
<name first="Jen" ori="Jenny" />
<name first="Sam" ori="Sammy" />
</lookuptable>
<xsl:for-each select="Student">
<Info Name="{Info/@Name}" Age="{Info/@Age}" Class="{Info/@Class}" />
</xsl:for-each>
</Person>
</xsl:template>
</xsl:stylesheet>
ルックアップテーブルを作成しました
出力は_
<?xml version="1.0" encoding="UTF-8"?>
<Person>
<lookuptable>
<name ori="Jenny" first="Jen" />
<name ori="Sammy" first="Sam" />
</lookuptable>
<Info Class="C" Age="20" Name="Jen" />
<Info Class="B" Age="21" Name="Sam" />
</Person>
つまり、「Jen」が表示されるたびに、ルックアップテーブルを使用して「Jenny」などになりたいということです。どうすればこれを達成できますか? または、別の XSL を作成して、出力(最後の XML) を必要な要件に変換する方が簡単ですか? 前もって感謝します..