N1 Grid Service Provisioning System 5.0 XML スキーマリファレンスガイド

<transform> ステップ

<transform> ステップは、ターゲットホスト上にあるファイルのテキストベース変換を行うために使用されます。現時点では、Perl タイプおよび XSLT ベースの変換がサポートされています。

<transform> の子要素は、入力ファイルに適用される変換を指定します。これらの子要素は、以下のどれでもかまいません。

<transform> ステップの属性

<transform> ステップには次の属性があります。

input 属性と output 属性は、同じファイルまたは個別のファイルを参照できます。これらの属性の値は、zip アーカイブ (または zip の派生フォーマットである JAR など) をディレクトリ要素として含むことができる一般パスです(例: webapp/myapp.jar/config.xml)。

<stylesheet> 要素

<stylesheet> 要素は <transform> ステップの子であり、入力ソースに適用する XSLT 変換を指定します。特定の <transform> 要素の子として指定できるのは <stylesheet> 要素 1 つであり、<stylesheet> 要素をほかの子要素と併用することはできません。

<stylesheet> 要素は、名前空間 http://www.w3.org/1999/XSL/Transform で定義されている XSLT バージョン 1.0 要素です。詳細は、http://www.w3.org/TR/xslt.html の『XSL Transformations (XSLT)』仕様のバージョン 1.0 を参照してください。<transform> 要素の子として受け入れられるのは、XSLT <stylesheet> 要素だけです。XSLT 仕様の節 2.3 で説明された XSLT シノニム <transform>、単純化された XSLT 変換構文とも、<transform> 要素の子としてはサポートされません。

<stylesheet> 要素本体には、本体が有効な XSLT であるかぎり、初めに変数置換を行うことなく置換変数参照を含めることができます。

<stylesheet> 要素が変換として使用される場合、入力ファイルは XML 形式でなければなりません。詳細は、『XSL Transformations (XSLT)』仕様のバージョン 1.0 を参照してください。


例 2–4 <stylesheet> 要素の使用方法


<transform output="/etc/hosts">
    <xsl:stylesheet version="1.0"
      xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
        <xsl:template match="/">
            <xsl:for-each select="a">
                <xsl:value-of select="b"/>
            </xsl:for-each>
        </xsl:template>
    </xsl:stylesheet>
</transform>

<subst> 要素

<subst> 要素は <transform> ステップの子であり、変換として適用する Perl に似た置換パターンを指定します。複数の <subst> 要素を <transform> 要素の子として指定できますが、ほかの子要素とは併用できません。複数の <subst> 要素が出現する場合、それらは順次適用されます。

入力ファイル内に出現するパターンは、1 行内に複数出現している場合も含めすべて置換されます。

サポートされる構文の詳細は、Java ドキュメント (class java.util.regex.Pattern) を参照してください。

<subst> 要素属性

<subst> 要素には次の属性があります。


例 2–5 <subst> 要素の使用方法

以下の変換は、ファイル /etc/hosts 内で、文字列 127.0.0. xxx をすべて 10.10.0.xxx に変換します。


<transform output=”/etc/hosts”>
    <subst match="127\.0\.0\.(\d+)"
    replace="10.10.0.$1"/>
</transform>

<source> 要素

<source> 要素は <transform> ステップの子であり、入力ファイルに適用する変換が入っている、ターゲットホスト上の外部ファイルを指定します。特定の <transform> 要素の子として指定できるのは <source> 要素 1 つであり、<source> 要素をほかの子要素と併用することはできません。

指定されたソースファイルに対して <transform> ステップの一部として config 生成が行われることはありません。しかし、指定されたソースファイルが、コンポーネントインストールの一部として配備された config 型のリソースファイルである場合があります。このようなケースでは、ソースファイルに含まれる置換変数は、ソースファイルが配備された際に置換されています。

<source> 要素属性

<source> 要素には次の属性があります。