SQL問合わせ結果からXML形式へのマッピング - Teradata Database - Teradata Vantage NewSQL Engine

Teradata Vantage™ XMLデータ型

Product
Teradata Database
Teradata Vantage NewSQL Engine
Release Number
16.20
Published
2019年3月
Language
日本語
Last Update
2019-10-29
dita:mapPath
ja-JP/jki1512081750759.ditamap
dita:ditavalPath
ja-JP/jki1512081750759.ditaval
dita:id
B035-1140
Product Category
Software
Teradata Vantage

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>