TRANSFORM メンバ関数は、XSLスタイルシートパラメータとパラメータ(name=value)を使用してXMLデータを変換します。parammap 以外のいずれかのパラメータが NULL の場合、NULL を返します。
XSLスタイルシートの入力形式が無効であるか、変換結果が無効なXMLテキストである場合、OceanBaseデータベースはXSLスタイルシート自体を返します。
適用対象
この内容はOceanBaseデータベースEnterprise Editionにのみ適用されます。OceanBaseデータベースCommunity EditionはMySQLモードのみを提供します。
構文
MEMBER FUNCTION TRANSFORM(
xsl IN XMLType)
RETURN XMLType;
パラメータの説明
| パラメータ | IN / OUT | 説明 |
|---|---|---|
| xsl | (IN) | 変換を記述するXSLスタイルシート。 |
| parammap | (IN) | XSLのトップレベルパラメータ、すなわちname=value。 |
例
次の例は、XMLType型変数 a が TRANSFORM によって変換された後の内容を示しています。xmltype変数xltは有効なXSLスタイルシートです。
obclient> DECLARE
xlt XMLType := xmltype('<?xml version="1.0" encoding="ISO-8859-1"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:template match="/"><document></document></xsl:template></xsl:stylesheet>');
a XMLType;
BEGIN
a:=xmltype('<a>123</a>');
DBMS_OUTPUT.PUT_LINE('Before transform: ' ||a.getstringval());
a:=a.transform(xlt);
DBMS_OUTPUT.PUT_LINE('After transform' ||a.getstringval());
END;
/
Query OK, 0 rows affected
Before transform: <a>123</a>
After transform<document/>