Translate-Group
説明
以下の方法の 1 つまたは複数で、指定された Info*Engine データグループからデータを変換できるようにします。
• グループの要素内の属性の名前を変更します。
• 出力グループの属性値のデータタイプを変換します。
• 出力グループ内の要素から属性を除去します。
• XSL スタイルシートを GROUP_IN パラメータに指定された Info*Engine データグループに適用します。
この Webject は一般化されたスキーマの変換に使用できます。
構文
<ie:webject name="Translate-Group" type="GRP">
<ie:param name="CLASS" data="class"/>
<ie:param name="COPY_UNTRANSLATED" data="[YES | NO]"/>
<ie:param name="DBUSER" data="username"/>
<ie:param name="DEFAULT_TABLE" data="group_name"/>
<ie:param name="GROUP_IN" data="group_in"/>
<ie:param name="GROUP_OUT" data="GROUP_OUT_name"/>
<ie:param name="NAME_TRANS_TABLE" data="group_name"/>
<ie:param name="PASSWD" data="password"/>
<ie:param name="TYPE_TRANS_TABLE" data="group_name"/>
<ie:param name="XSL_PARAM" data="name_value_pair"/>
<ie:param name="XSL_URL" data="url_of_xsl_source"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
GROUP_IN
|
COPY_UNTRANSLATED
|
CLASS
|
GROUP_OUT
|
DEFAULT_TABLE
|
DBUSER
|
|
NAME_TRANS_TABLE
|
PASSWD
|
|
TYPE_TRANS_TABLE
|
XSL_PARAM
|
|
|
XSL_URL
|
CLASS
GROUP_OUT パラメータによって指定された出力グループに含まれているオブジェクトのタイプを指定します。たとえば、Webject が CLASS=MyClassName と GROUP_OUT=data_1 を指定する場合、出力グループの XML 表現には以下のタグが含まれます。
<MyClassName NAME="data_1" TYPE="Object" STATUS="0">
</MyClassName>
このパラメータのデフォルトは、Unknown-Class-Name です。このパラメータはオプションです。
COPY_UNTRANSLATED
NAME_TRANS_TABLE または TYPE_TRANS_TABLE パラメータに定義された同じ名前の属性によって、一致しない GROUP_IN 要素内で見つかった属性に対して実行される操作を指定します。パラメータの値に YES を指定すると、NAME_TRANS_TABLE または TYPE_TRANS_TABLE の属性名と一致しない GROUP_IN 要素の属性名は、変更されていない GROUP_OUT 要素にコピーされます。COPY_UNTRANSLATED を指定しないと、その値はデフォルト値である NO になります。この場合、このような属性は GROUP_OUT 要素に含まれません。
COPY_UNTRANSLATED パラメータを指定する場合は、NAME_TRANS_TABLE または TYPE_TRANS_TABLE パラメータのいずれかも指定する必要があります。
DBUSER
XSL_URL を認証するために使用されるユーザー名を指定します。Webject によって使用される XSL テンプレートがリモート HTTP サーバーにある場合は、このパラメータを PASSWD 属性とともに使用する必要があります。
このパラメータはオプションです。
DEFAULT_TABLE
GROUP_OUT グループにデフォルトの属性名と値を提供するグループの名前を指定します。このグループには要素が 1 つのみ含まれていると見なされます。グループに 2 つ以上の要素が含まれている場合は、余分な要素は無視されます。要素の各属性によってデフォルトの名前と値が指定されます。
NAME_TRANS_TABLE および TYPE_TRANS_TABLE パラメータが GROUP_IN グループの各要素に適用されて GROUP_OUT グループの要素を生成した後で、GROUP_OUT 要素はその属性の名前が DEFAULT_TABLE で定義された属性と一致するかどうかをチェックされます。DEFAULT_TABLE に定義された各属性で GROUP_OUT 要素に一致する名前がない場合には、DEFAULT_TABLE の属性が GROUP_OUT 要素に追加されます。たとえば、DEFAULT_TABLE が "Factory" という属性と "Unknown" という値を含んでいて、変換後に GROUP_OUT 要素が "Factory" という属性を含んでいない場合、"Factory" という名前と "Unknown" という値が追加されます。
DEFAULT_TABLE パラメータを指定する場合は、NAME_TRANS_TABLE または TYPE_TRANS_TABLE パラメータのいずれかも指定する必要があります。
GROUP_IN
XML に変換して XSL スタイルシートを適用するグループに変換するグループを指定します。このパラメータは必須です。
GROUP_OUT
入力グループを変換した結果の名前を指定します。このパラメータは必須です。
NAME_TRANS_TABLE
属性名変換テーブルを定義するグループの名前を指定します。このグループには要素が 1 つのみ含まれていると見なされます。グループに 2 つ以上の要素が含まれている場合は、余分な要素は無視されます。要素の各属性の名前は、変換する属性名を識別します。各属性の値は新しい名前を指定します。たとえば、NAME_TRANS_TABLE グループの属性が "PartNo" という名前と "PartNumber" という値を持つ場合、GROUP_IN グループの "PartNo" という名前を持つすべての属性が GROUP_OUT グループでは "PartNumber" という名前に変更されます。
NAME_TRANS_TABLE および TYPE_TRANS_TABLE をともに指定して、属性の名前とデータタイプの両方およびその値を変更できます。両方のパラメータを指定する場合、TYPE_TRANS_TABLE によって指定された属性名は NAME_TRANS_TABLE が適用された後で GROUP_OUT グループの属性を識別することに注意してください。TYPE_TRANS_TABLE が GROUP_IN グループで発生する属性名を指定するが、これらのうち 1 つまたは複数が NAME_TRANS_TABLE を使用して変換されない場合、これらの属性は GROUP_OUT グループに名前を変更せずにコピーされますが、その値は TYPE_TRANS_TABLE を使用して別のデータタイプに変換されます。
XSL_URL パラメータに加えて、NAME_TRANS_TABLE および TYPE_TRANS_TABLE パラメータを指定できます。この場合、まず XSL ベースの変換が実行されます。次に、NAME_TRANS_TABLE や TYPE_TRANS_TABLE ベースの変換が、XSL ベースの変換によって生成された出力グループに適用されます。したがって、NAME_TRANS_TABLE で指定された属性名は、元の GROUP_IN グループの属性ではなく、XSL ベースの変換によって生成されたグループの属性を識別します。どの場合でも、TYPE_TRANS_TABLE で指定された属性名は最終的な GROUP_OUT グループの属性を識別します。
PASSWD
DBUSER に対応するパスワードを指定します。
このパラメータはオプションです。
TYPE_TRANS_TABLE
属性値データタイプ変換テーブルを定義するグループの名前を指定します。このグループには要素が 1 つのみ含まれていると見なされます。グループに 2 つ以上の要素が含まれている場合は、余分な要素は無視されます。各属性の名前は、変換される値を持つ GROUP_OUT グループの属性の名前を識別します。各属性の値は対応するデータタイプを指定します。たとえば、TYPE_TRANS_TABLE グループの属性が "Quantity" という名前と "Integer" という値を持つ場合、GROUP_OUT グループの "Quantity" という名前を持つすべての属性のすべての値が Integer データタイプに変換されます。現在サポートされているデータタイプは以下のとおりです。
BYTE - 8 ビット値
DOUBLE - 倍精度浮動小数点値
FLOAT - 単精度浮動小数点値
INTEGER - デフォルト範囲の整数値
LONG - 長範囲の整数値
SHORT - 短範囲の整数値
STRING - 文字列の値
NAME_TRANS_TABLE および TYPE_TRANS_TABLE をともに指定して、属性の名前とデータタイプの両方およびその値を変更できます。両方のパラメータを指定する場合、TYPE_TRANS_TABLE によって指定した属性名は NAME_TRANS_TABLE が適用された後で GROUP_OUT グループの属性を識別します。TYPE_TRANS_TABLE が GROUP_IN グループで発生する属性名を指定するが、これらのうち 1 つまたは複数が NAME_TRANS_TABLE を使用して変換されない場合、これらの属性は GROUP_OUT グループに名前を変更せずにコピーされますが、その値は TYPE_TRANS_TABLE を使用して別のデータタイプに変換されます。
XSL_URL パラメータに加えて、NAME_TRANS_TABLE および TYPE_TRANS_TABLE パラメータを指定できます。この場合、まず XSL ベースの変換が実行されます。次に、NAME_TRANS_TABLE や TYPE_TRANS_TABLE ベースの変換が XSL ベースの変換によって生成された出力グループに適用されます。したがって、NAME_TRANS_TABLE で指定された属性名は、元の GROUP_IN グループの属性ではなく、XSL ベースの変換によって生成されたグループの属性を識別します。どの場合でも、TYPE_TRANS_TABLE で指定された属性名は最終的な GROUP_OUT グループの属性を識別します。
XSL_PARAM
XSL_URL パラメータで指定された XSL スタイルシートに渡される XSL パラメータを定義します。XSL_PARAM パラメータに XSL_name=XSL_value フォームの値を入力します。ここで、XSL_name は XSL スタイルシートのパラメータの名前で、XSL_value はパラメータに設定する値を示します。
XSL_PARAM パラメータのデフォルトでは、パラメータはスタイルシートに渡されません。このパラメータには複数の値を指定できます。このパラメータはオプションです。
XSL_URL
XSL スタイルシートの場所を識別し、GROUP_IN パラメータで指定されたグループに適用します。相対 URL または完全修飾 URL を指定できます。相対 URL は Info*Engine サーバータスクテンプレートルートに関連しています。XSL スタイルシートは、Info*Engine XML フォーマット (本ガイドのすべての例で使用されているフォーマットで、Display-XML Webject によって生成されます) に適用するように構築される必要があります。スタイルシートは Info*Engine XML フォーマットも生成する必要があります。
XSL_URL パラメータに加えて、NAME_TRANS_TABLE および TYPE_TRANS_TABLE パラメータを指定できます。この場合、まず XSL ベースの変換が実行されます。次に、NAME_TRANS_TABLE や TYPE_TRANS_TABLE ベースの変換が、XSL ベースの変換によって生成された出力グループに適用されます。
Auth-Map コンテキストグループのデータを使用すると、完全修飾 URL の参照が解除されます。Auth-Map は完全修飾 URL で見つかったドメイン名に基づくユーザー名およびパスワードでサーチされます。たとえば、完全修飾 URL が http://machine.com であれば、http://machine.com の INSTANCE 名を持つユーザー名とパスワードが Auth-Map コンテキストグループでサーチされます。ユーザー名とパスワードが見つかると、URL にアクセスするときに BASIC 認証情報が使用されます。ユーザー名とパスワードが見つからない場合、認証情報はリモート Web サーバーに送信されません。
データ値に :// 文字列が含まれている場合は、完全修飾インターネット URL であると見なされます。データ値が :// 文字列を含んでいない場合は、スタイルシートは現在のタスクテンプレートルートディレクトリに関連するローカルファイルであると見なされます。
このパラメータはオプションです。
例
以下の例は、属性の名前を変更することによって "createdgroup" という名前のグループからのデータを変換します。結果として生成されるデータは "RenamedGroup" という名前のグループに配置されます。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie"%>
<!-- Create a test Group -->
<ie:task uri="com/company/CreateGroup.xml"/>
<!-- Create attribute translation Group -->
<ie:webject name="Create-Group" type="GRP">
<ie:param name="ELEMENT"
data="NAME=FullName:EMAIL=EmailAddress"/>
<ie:param name="GROUP_OUT" data="NewNames"/>
</ie:webject>
<!-- Translate the attribute names -->
<ie:webject name="Translate-Group" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="NAME_TRANS_TABLE" data="NewNames"/>
<ie:param name="GROUP_OUT" data="RenamedGroup"/>
</ie:webject>
<!-- Translate some of the attribute names -->
<ie:webject name="Translate-Group" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="NAME_TRANS_TABLE" data="NewNames"/>
<ie:param name="COPY_UNTRANSLATED" data="YES"/>
<ie:param name="GROUP_OUT" data="RenamedGroup"/>
</ie:webject>