SQL問合わせ結果をXMLツリー構造にどのようにマップするかを記述するマッピング定義を提供するXSLTスタイルシートを作成できます。XSLT(eXtensible Stylesheet Language Transformation)はXML構造から別のXML構造または他のテキスト形式への変換を記述するために使用される言語です。XMLパブリッシングでは、マッピング スタイルシートを使用して問合わせ結果のカノニカルXML表現から目的のXML構造への変換を定義します。
以下に、前の節で示した問合わせ結果のパブリッシング用のXSLTマッピングの例を示します。この例では、カノニカルXML表現からの変換を定義します。例えば、xsl:for-each命令はカノニカルXML表現内の各Row要素に対応するcustomer要素を構築します。
<?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <customers> <xsl:for-each select="QuerySchema/ROW"> <customer teradata_group="CUSTID"> <CUSTID> <xsl:value-of select="CUSTID"/> </CUSTID> <CNAME> <xsl:value-of select="CNAME"/> </CNAME> <ACCTID> <xsl:value-of select="ACCTID"/> </ACCTID> <ANAME> <xsl:value-of select="ANAME"/> </ANAME> <ORDERID> <xsl:value-of select="ORDERID"/> </ORDERID> <ODATE> <xsl:value-of select="ODATE"/> </ODATE> <REPID> <xsl:value-of select="REPID"/> </REPID> <REPNAME> <xsl:value-of select="REPNAME"/> </REPNAME> <ITEMID> <xsl:value-of select="ITEMID"/> </ITEMID> <QTY> <xsl:value-of select="QTY"/> </QTY> </customer> </xsl:for-each> </customers> </xsl:template> </xsl:stylesheet>