Group Webject
以下の Webject は Query、Action、またはほかの Group Webject の結果として生成される 1 つまたは複数の既存のデータグループの比較、結合、または並べ替えを行います。
• Change-Group
• Concat-Groups
• Copy-Group
• Create-Group
• Diff-Groups
• Extract-Group
• Format-Group
• Intersect-Groups
• Join-Groups
• Merge-Groups
• Return-Groups
• Set-Identity
• Set-Metadata
• Sort-Group
• Subset-Group
• Summarize-Groups
• Translate-Group
• Union-Groups
• XOR-Groups
すべての Group Webject は、webject タグの GRP type 属性値を使用します。
Change-Group
説明
グループの 1 つまたは複数の属性の名前を変更します。結果として生成されるグループには、変更した属性と変更による影響を受けないすべての属性が含まれます。
構文
<ie:webject name="Change-Group" type="GRP">
<ie:param name="GROUP_IN" data="value"/>
<ie:param name="GROUP_OUT" data="group_out_name"/>
<ie:param name="RENAME" data="'old_name'='new_name'"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
GROUP_IN
|
|
GROUP_OUT
|
RENAME
|
|
|
GROUP_IN
名前を変更すべき情報を持つグループの名前を指定します。このパラメータは必須です。
GROUP_OUT
名前を変更した情報を持つ結果グループの名前を指定します。GROUP_OUT が指定されると、元のグループは出力グループに置き換えられ、VDB では利用できません。このパラメータのデフォルトは、元のグループでの属性変更です。このパラメータはオプションです。
RENAME
変更する属性名を指定します。属性の名前を変更する場合は、特定の構文が必要です。たとえば、属性名 objectClass を XYZclass に変更するには、以下の RENAME パラメータを指定します。
<ie:param name="RENAME" data="'objectClass'='XYZclass'">
ここに示すように、RENAME パラメータの値を二重引用符で囲む必要があります。属性の古い名前と新しい名前は両方とも単一引用符で囲む必要があります。属性名は大文字と小文字を区別しません。したがって、パラメータが既存の属性名をサーチする場合、大文字と小文字の区別は無視されます。
このパラメータは必須です。
例
この Webject は "createdgroup" という名前の入力グループ内の属性名を変更し、ローカル出力グループのコレクションに results グループを追加します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie"%>
<!-- Creates input group named createdgroup. -->
<ie:task uri="/com/company/CreateGroup.xml"/>
<!-- Renames attributes in a group. -->
<ie:webject name="Change-Group" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="RENAME" data="'ADDRESS'='HomeAddress'"/>
<ie:param name="RENAME" data="'NAME'='FullName'"/>
<ie:param name="RENAME" data="'EMAIL'='email'"/>
<ie:param name="GROUP_OUT" data="results"/>
</ie:webject>
この例を実行することにより生成される XML 出力は以下のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<wc:COLLECTION xmlns:wc="http://www.ptc.com/infoengine/1.0">
<EmployeeData NAME="results" TYPE="Object" STATUS="0">
<wc:INSTANCE>
<FullName>Sam Johnson</FullName>
<HomeAddress>1234 Main St.</HomeAddress>
<email>sjohnson@somewhere.com</email>
</wc:INSTANCE>
<wc:INSTANCE>
<FullName>Harvy Anderson</FullName>
<HomeAddress>1234 Amber St.</HomeAddress>
<email>handerson@somewhere.com</email>
</wc:INSTANCE>
<wc:INSTANCE>
<FullName>James O'Connor</FullName>
<HomeAddress>775 Main St.</HomeAddress>
<email></email>
</wc:INSTANCE>
<wc:INSTANCE>
<FullName>Harvey Hampton</FullName>
<HomeAddress>775 Main St.</HomeAddress>
<email>hhampton@somewhere.com</email>
</wc:INSTANCE>
</EmployeeData>
</wc:COLLECTION>
Concat-Groups
説明
重複する情報を両方のグループから表示できるようにして、2 つのデータグループを連続してリンクします。
たとえば、グループ A には要素 u、v、および x が含まれ、グループ B には要素 x、y、および z が含まれます。Concat-Groups Webject はグループ A とグループ B の要素をともに連続してリンクし、グループ C を形成します。これによって、グループ C には要素 u、v、x、x、y、および z が含まれます。
構文
<ie:webject name="Concat-Groups" type="GRP">
<ie:param name="CLASS" data="class"/>
<ie:param name="GROUP_IN" data="group_name1"/>
<ie:param name="GROUP_IN" data="group_name2"/>
<ie:param name="GROUP_OUT" data="output_group_name"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
GROUP_IN
|
|
CLASS
|
GROUP_OUT
|
|
|
CLASS
GROUP_OUT パラメータによって指定された出力グループに含まれているオブジェクトのタイプを指定します。たとえば、Webject が CLASS=MyClassName と GROUP_OUT=data_1 を指定する場合、出力グループの XML 表現には以下のタグが含まれます。
<MyClassName NAME="data_1" TYPE="Object" STATUS="0">
</MyClassName>
このパラメータのデフォルトは Unknown-Class-Name です。これはオプションのパラメータです。
GROUP_IN
連結して使用する 2 つ以上のグループを指定します。このパラメータは必須です。
GROUP_OUT
結果グループの名前を指定します。このパラメータは必須です。
例
以下の例は、指定した 2 つのグループをリンクします。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie"%>
<!-- Form a group by concatenating two groups -->
<ie:task uri="/com/company/CreateGroup.xml"/>
<ie:task uri="/com/company/CreateGroupHr.xml"/>
<ie:webject name="Concat-Groups" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="GROUP_IN" data="createhrgroup"/>
<ie:param name="CLASS" data="ConcatGroup"/>
<ie:param name="GROUP_OUT" data="results"/>
</ie:webject>
Copy-Group
説明
グループを別の名前の新しいグループにコピーします。たとえば、この Webject はグループ A のすべてのデータをコピーして、まったく同じ情報を持つ "B" という新しいグループを作成できます。
構文
<ie:webject name="Copy-Group" type="GRP">
<ie:param name="GROUP_IN" data="group_in_name"/>
<ie:param name="GROUP_OUT" data="group_out_name"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
GROUP_IN
|
|
|
GROUP_OUT
|
|
|
GROUP_IN
コピーされるグループの名前を指定します。このパラメータは必須です。
GROUP_OUT
作成する新しいグループの名前を指定します。この名前に GROUP_IN と同じ名前は指定できません。このパラメータは必須です。
例
以下の例は "createdgroup" という名前の入力グループを results グループにコピーし、Return-Groups Webject を使用して両方のグループをローカル出力グループのコレクションに返します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie"%>
<!-- Copies a group to a new group. -->
<ie:task uri="com/company/CreateGroup.xml"/>
<ie:webject name="Copy-Group" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="GROUP_OUT" data="results"/>
</ie:webject>
<ie:webject name="Return-Groups" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="GROUP_IN" data="results"/>
</ie:webject>
この例を実行することにより生成される XML 出力は以下のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<wc:COLLECTION xmlns:wc="http://www.ptc.com/infoengine/1.0">
<EmployeeData NAME="createdgroup" TYPE="Object" STATUS="0">
<wc:INSTANCE>
<NAME>Sam Johnson</NAME>
<ADDRESS>1234 Main St.</ADDRESS>
<EMAIL>sjohnson@somewhere.com</EMAIL>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>Harvy Anderson</NAME>
<ADDRESS>1234 Amber St.</ADDRESS>
<EMAIL>handerson@somewhere.com</EMAIL>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>James O'Connor</NAME>
<ADDRESS>775 Main St.</ADDRESS>
<EMAIL></EMAIL>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>Harvey Hampton</NAME>
<ADDRESS>775 Main St.</ADDRESS>
<EMAIL>hhampton@somewhere.com</EMAIL>
</wc:INSTANCE>
</EmployeeData>
<EmployeeData NAME="results" TYPE="Object" STATUS="0">
<wc:INSTANCE>
<NAME>Sam Johnson</NAME>
<ADDRESS>1234 Main St.</ADDRESS>
<EMAIL>sjohnson@somewhere.com</EMAIL>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>Harvy Anderson</NAME>
<ADDRESS>1234 Amber St.</ADDRESS>
<EMAIL>handerson@somewhere.com</EMAIL>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>James O'Connor</NAME>
<ADDRESS>775 Main St.</ADDRESS>
<EMAIL></EMAIL>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>Harvey Hampton</NAME>
<ADDRESS>775 Main St.</ADDRESS>
<EMAIL>hhampton@somewhere.com</EMAIL>
</wc:INSTANCE>
</EmployeeData>
</wc:COLLECTION>
Create-Group
説明
埋め込まれたパラメータまたは XML ソースファイルから、データグループを作成します。XML ソースが Info*Engine スキーマに従う場合は、XML ソースから直接グループを作成できます。それ以外の場合は、ソースフォームを Info*Engine スキーマに変換するために、この Webject を使用して XSL スタイルシートが適用されます。
Create-Group Webject は XML_URL パラメータを受け入れます。このパラメータの値には完全指定の HTTP URL を指定できます。この場合、Create-Group はリモートの Web サーバーへの HTTP 接続を作成し、URL を送信して、リモートサーバーからのレスポンスを読み込みます。このレスポンスは XML ストリームと見なされます。理想的には、リモートの Web サーバーは Info*Engine グループのコレクションとしてフォーマットされている XML ストリーム (Info*Engine のタスクプロセッサが作成したものと同じフォーマット) を返します。
XML ストリームのフォーマットが Info*Engine のタスクプロセッサの作成したフォーマットと異なる場合、Create-Group は XML ストリームを Info*Engine フォーマットに変換するときに適用できる XSL スタイルシートを指定する、XSL_URL パラメータを受け入れます。XML Info*Engine の出力必要条件のリストについては、
Info*Engine グループの XML 出力についてを参照してください。
Create-Group Webject を使用して、空のグループを作成できます。GROUP_OUT パラメータのみを指定し、ELEMENT パラメータを指定しない場合、Info*Engine によって空のグループが作成されます。
構文
<ie:webject name="Create-Group" type="GRP" >
<ie:param name="CLASS" data="class"/>
<ie:param name="DBUSER" data="username"/>
<ie:param name="DELIMITER" data="delimiter_character"/>
<ie:param name="ELEMENT" data="key_value_pairs"/>
<ie:param name="GROUP_OUT" data="group_out_name"/>
<ie:param name="PASSWD" data="password"/>
<ie:param name="XML_URL" data="url_of_xml_source"/>
<ie:param name="XSL_PARAM" data="name_value_pair"/>
<ie:param name="XSL_URL" data="url_of_xsl_source"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
|
ELEMENT
|
CLASS
|
|
GROUP_OUT
|
DBUSER
|
|
XML_URL
|
DELIMITER
|
|
XSL_PARAM
|
PASSWD
|
|
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 です。このパラメータはオプションです。
DBUSER
XSL_URL を認証するために使用されるユーザー名を指定します。Webject によって使用される XSL テンプレートがリモート HTTP サーバーにある場合は、このパラメータを PASSWD 属性とともに使用する必要があります。
このパラメータはオプションです。
DELIMITER
ELEMENT パラメータで作成されるキーおよび値のペアを区切るときに使用する文字を指定します。
ELEMENT パラメータ内でアスタリスク(*) を含む置換文字列を使用する場合は、Create-Group Webject で区切り記号として複数の要素または値を区切るときに使用する文字を指定する必要はありません。同じ文字を使用する場合、結果の要素または属性値は予想と異なる場合があります。置換については、
ダイナミックパラメータ値の置換で説明します。
このパラメータのデフォルトはコロン(:) です。このパラメータはオプションです。
ELEMENT
キーおよび値のペアの区切られたセットを指定し、GROUP_OUT パラメータで指定したグループに追加します。キーと値のペアはそれぞれ key=value によって指定されます。各 ELEMENT パラメータは key 値によって指定された属性、およびキーと値のペアの value 部分によって指定された値を持つグループ内にインスタンスを作成します。
複数の ELEMENT パラメータを指定して、グループ内にオブジェクトの複数のインスタンスを作成できます。XML_URL パラメータが指定されていない場合、この Webject には少なくとも 1 つの ELEMENT パラメータが必要です。XML_URL および ELEMENT パラメータが両方とも指定されている場合、結果として生成されるグループは XML ソースファイルおよび指定された ELEMENT パラメータによって作成された行の合計になります。
GROUP_OUT
結果グループの名前を指定します。XML_URL パラメータを指定していない場合のみ、GROUP_OUT パラメータが必要です。XML_URL パラメータを指定している場合は、解析中の XML ストリームには 1 つまたは複数のグループが含まれます。これらのグループの名前は XML ストリーム内で指定できます。そのため、この場合は GROUP_OUT パラメータを指定してグループに名前を指定する必要はありません。
PASSWD
DBUSER に対応するパスワードを指定します。
このパラメータはオプションです。
XML_URL
グループの作成元である XML ソースファイルの場所を識別します。相対 URL または完全修飾 URL を指定できます。相対 URL は Info*Engine サーバータスクテンプレートルートに関連しています。XML ソースは Info*Engine フォーマット、つまり Info*Engine のタスクプロセッサによって生成されたフォーマットと同じフォーマットであることが予想されます。XML_URL パラメータによって指定されたソースのコンテンツが Info*Engine フォーマットではない場合、XSL_URL パラメータを使用して、ソースを Info*Engine フォーマットに変換するときに適用する XSL スタイルシートを指定できます。どの場合でも、通常 XSL によって変換されたソースは 2 つ以上の Info*Engine グループの定義を含むことができます。Create-Group はこれらのすべてを解析し、出力グループのコレクションに追加します。
Auth-Map コンテキストグループのデータを使用すると、完全修飾 URL の参照が解除されます。Auth-Map は完全修飾 URL で見つかったドメイン名に基づくユーザー名およびパスワードでサーチされます。たとえば、完全修飾 URL が
http://machine.com/infoengine/servlet/IE/tasks/createGroupData.xml
であれば、
http://machine.com の INSTANCE 名を持つユーザー名とパスワードが Auth-Map コンテキストグループでサーチされます。ユーザー名とパスワードが見つかると、BASIC 認証が使用されます。ユーザー名とパスワードが見つからない場合、認証情報はリモート Web サーバーに送信されません。
データ値に :// 文字列が含まれている場合は、完全修飾インターネット URL であると見なされます。データ値に文字列が含まれていない場合は、現在のタスクルートディレクトリに関連するローカルファイルであると見なされます。
データ値が input: である場合、Webject はタスクの BLOB 入力ストリームから XML オブジェクトを読み取ります。これによって、XML オブジェクトを Web ページからサブミットし、Create-Group によってグループに変換できます。
XSL_PARAM
XSL_URL パラメータで指定された XSL スタイルシートに渡される XSL パラメータを定義します。XSL_PARAM パラメータに XSL_name=XSL_value フォームの値を入力します。ここで、XSL_name は XSL スタイルシートのパラメータの名前で、XSL_value はパラメータに設定する値を示します。
XSL_PARAM パラメータのデフォルトでは、パラメータはスタイルシートに渡されません。このパラメータには複数の値を指定できます。このパラメータはオプションです。
XSL_URL
XSL スタイルシートの場所を識別し、XML_URL パラメータによって指定された XML ソースに適用します。相対 URL または完全修飾 URL を指定できます。相対 URL は、Info*Engine サーバーのタスクルートを基準とした URL です。
Auth-Map コンテキストグループのデータを使用すると、完全修飾 URL の参照が解除されます。Auth-Map は完全修飾 URL で見つかったドメイン名に基づくユーザー名およびパスワードでサーチされます。たとえば、完全修飾 URL が
http://machine.com/infoengine/servlet/IE/tasks/createGroupData.xml
であれば、http://machine.com の INSTANCE 名を持つユーザー名とパスワードが Auth-Map コンテキストグループでサーチされます。ユーザー名とパスワードが見つかると、URL にアクセスするときに BASIC 認証情報が使用されます。ユーザー名とパスワードが見つからない場合、認証情報はリモート Web サーバーに送信されません。
データ値に :// 文字列が含まれている場合は、完全修飾インターネット URL であると見なされます。データ値に文字列が含まれていない場合は、現在のタスクルートディレクトリに関連するローカルファイルであると見なされます。
例: 内部グループ作成
以下の例では、Webject は "createdgroup" という名前の出力グループ内の要素を指定し、ローカル出力グループのコレクションにグループを追加します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie"%>
<!-- Create an internal Group -->
<ie:webject name="Create-Group" type="GRP">
<ie:param name="ELEMENT" data="NAME=Sam
Johnson:ADDRESS=1234 Main
St.:EMAIL=sjohnson@somewhere.com"/>
<ie:param name="ELEMENT" data="NAME=Harvy
Anderson:ADDRESS=1234 Amber
St.:EMAIL=handerson@somewhere.com"/>
<ie:param name="ELEMENT" data="NAME=James
O'Connor:ADDRESS=775 Main St.:EMAIL="/>
<ie:param name="ELEMENT" data="NAME=Harvey
Hampton:ADDRESS=775 Main
St.:EMAIL=hhampton@somewhere.com"/>
<ie:param name="CLASS" data="EmployeeData"/>
<ie:param name="GROUP_OUT" data="createdgroup"/>
</ie:webject>
この例を実行することにより生成される XML 出力は以下のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<wc:COLLECTION xmlns:wc="http://www.ptc.com/infoengine/1.0">
<EmployeeData NAME="createdgroup" TYPE="Object" STATUS="0">
<wc:INSTANCE>
<NAME>Sam Johnson</NAME>
<ADDRESS>1234 Main St.</ADDRESS>
<EMAIL>sjohnson@somewhere.com</EMAIL>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>Harvy Anderson</NAME>
<ADDRESS>1234 Amber St.</ADDRESS>
<EMAIL>handerson@somewhere.com</EMAIL>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>James O'Connor</NAME>
<ADDRESS>775 Main St.</ADDRESS>
<EMAIL></EMAIL>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>Harvey Hampton</NAME>
<ADDRESS>775 Main St.</ADDRESS>
<EMAIL>hhampton@somewhere.com</EMAIL>
</wc:INSTANCE>
</EmployeeData>
</wc:COLLECTION>
例: 外部グループ作成
以下の Create-Group の例は、リモートの Info*Engine サーバーでタスクを実行し、出力グループをローカル出力グループのコレクションに追加します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie"%>
<!-- Create one or more local groups from the output of a remote
Info*Engine task -->
<ie:webject name="Create-Group" type="GRP">
<ie:param name="XML_URL" data="http://remote-ie.acme.com/
infoengine/servlet/IE/tasks/report.xml"/>
</ie:webject>
Diff-Groups
説明
2 つのグループの差を計算し、その差を出力グループに配置します。
一般に、一方のグループに属するが両方のグループには属さない要素は、2 つのグループの差に含まれます。たとえば、要素 x がグループ A とグループ B の両方に含まれる場合、要素 x は出力グループには配置されません。さらに、要素 y がグループ A には含まれるがグループ B には含まれない場合、出力グループに配置されます。ただし、グループ A に一意なアイテムのみが出力に配置されるため、要素 z がグループ B には含まれるがグループ A には含まれない場合、要素 z は出力グループには配置されません。
構文
<ie:webject name="Diff-Groups" type="GRP">
<ie:param name="CASE_IGNORE" data="[TRUE | FALSE]"/>
<ie:param name="CLASS" data="class"/>
<ie:param name="COMPARISON" data="[ALPHA | NUMERIC]"/>
<ie:param name="DIFFBY" data="attribute"/>
<ie:param name="GROUP_IN" data="group_name1"/>
<ie:param name="GROUP_IN" data="group_name2"/>
<ie:param name="GROUP_OUT" data="output_group_name"/>
<ie:param name="SORTBY" data="attribute"/>
<ie:param name="SORTED" data="[ASC | DESC]">
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
DIFFBY
|
|
CASE_IGNORE
|
GROUP_IN
|
|
CLASS
|
GROUP_OUT
|
|
COMPARISON
|
|
|
SORTBY
|
|
|
SORTED
|
CASE_IGNORE
大文字と小文字のフラグとして機能します。TRUE を指定すると、大文字と小文字は無視されます。FALSE を指定すると、大文字と小文字は区別されます。このパラメータのデフォルトは FALSE です。このパラメータはオプションです。
CLASS
GROUP_OUT パラメータによって指定された出力グループに含まれているオブジェクトのタイプを指定します。たとえば、Webject が CLASS=MyClassName と GROUP_OUT=data_1 を指定する場合、出力グループの XML 表現には以下のタグが含まれます。
<MyClassName NAME="data_1" TYPE="Object" STATUS="0">
</MyClassName>
このパラメータのデフォルトは、Unknown-Class-Name です。このパラメータはオプションです。
COMPARISON
2 つのグループの比較方法を説明します。英数字を比較する ALPHA と数字を厳密に比較する NUMERIC があります。このパラメータのデフォルトは ALPHA です。このパラメータはオプションです。
DIFFBY
要素を比較して異なるかどうかを調べるときに使用する属性の名前を識別します。比較されるグループに同名の属性を持つ要素が含まれている場合、1 つの DIFFBY 値を指定できます。それ以外の場合は、2 つの DIFFBY パラメータを指定して、比較するそれぞれのグループから属性名を指定します。
出力グループに配置する属性名は、最初に使用した DIFFBY パラメータの属性名です。このパラメータは必須です。
GROUP_IN
違いを比較する 2 つのグループを指定します。このパラメータは必須です。
GROUP_OUT
1 つの結果グループ比較の名前を指定します。このパラメータは必須です。
SORTBY
並べ替えを実行する属性の名前を指定します。このパラメータを指定していない場合は、結果は並べ替えられません。このパラメータはオプションです。
SORTED
結果グループ内の値を並べ替える方法を決定します。SORTBY パラメータで指定した属性によって、並べ替える値が決定します。ASC を指定して昇順で並べ替えるか、または DESC を指定して降順で並べ替えます。このパラメータのデフォルトは ASC です。このパラメータはオプションです。
例
以下の例は、Create-Group Webject を使用してから、Diff-Groups Webject を使用してグループ間の NAME 属性の差を特定します。"DIFF‑RESULTS" という名前の出力グループを作成し、ローカル出力グループのコレクションにグループを追加します。
%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie"%>
<!-- Create Group containing the difference between two
groups -->
<ie:webject name="Create-Group" type="GRP">
<ie:param name="ELEMENT" data="NAME=Sam
Johnson:ADDRESS=1234 Main
St.:EMAIL=sjohnson@somewhere.com"/>
<ie:param name="ELEMENT" data="NAME=Harvy
Anderson:ADDRESS=1234 Amber
St.:EMAIL=handerson@somewhere.com"/>
<ie:param name="ELEMENT" data="NAME=James
O'Connor:ADDRESS=775 Main St.:EMAIL="/>
<ie:param name="ELEMENT" data="NAME=Harvey
Hampton:ADDRESS=775 Main
St.:EMAIL=hhampton@somewhere.com"/>
<ie:param name="CLASS" data="EmployeeData"/>
<ie:param name="GROUP_OUT" data="CREATE-RESULTS"/>
</ie:webject>
<ie:webject name="Create-Group" type="GRP">
<ie:param name="ELEMENT" data="NAME=Sam
Johnson:POSITION=Engineer:PHONE=555-111-1111"/>
<ie:param name="ELEMENT" data="NAME=Harvy
Anderson:POSITION=Marketing:PHONE=555-222-2222"/>
<ie:param name="ELEMENT" data="NAME=James
O'Connor:POSITION=Management"/>
<ie:param name="CLASS" data="EmployeeHrData"/>
<ie:param name="GROUP_OUT" data="CREATE-HR-RESULTS"/>
</ie:webject>
<ie:webject name="Diff-Groups" type="GRP">
<ie:param name="GROUP_IN" data="CREATE-RESULTS"/>
<ie:param name="GROUP_IN" data="CREATE-HR-RESULTS"/>
<ie:param name="DIFFBY" data="NAME"/>
<ie:param name="CLASS" data="NewEmployees"/>
<ie:param name="GROUP_OUT" data="DIFF-RESULTS"/>
</ie:webject>
この例を実行することにより生成される XML 出力は以下のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<wc:COLLECTION xmlns:wc="http://www.ptc.com/infoengine/1.0">
<NewEmployees NAME="DIFF-RESULTS" TYPE="Object" STATUS="0">
<wc:INSTANCE>
<NAME>Harvey Hampton</NAME>
<ADDRESS>775 Main St.</ADDRESS>
<EMAIL>hhampton@somewhere.com</EMAIL>
</wc:INSTANCE>
</NewEmployees>
</wc:COLLECTION>
Extract-Group
説明
1 つまたは複数の属性名と値をサーチし、新しいグループに配置します。これは、属性グループのサブセットのタイプを形成します。(属性ではなく) オブジェクトのサブセットのサーチに関する情報については、セクション「Subset-Group」xを参照してください。
EXTRACT パラメータと組み合わせて使用すると、指定した要素のサブセットから特定の属性セットが抽出されます。ELEMENT_OFFSET パラメータを省略した場合、その値はデフォルト値である 0 になります (そのため、返される要素のサブセットは、入力グループの最初の要素から始まります)。ELEMENT_COUNT パラメータを省略した場合、その値はデフォルト値である入力グループのサイズになります (そのため、返される要素のサブセットは、ELEMENT_OFFSET で指定された要素から始まり、入力グループの全要素を含みます)。ELEMENT_OFFSET と ELEMENT_COUNT の合計が入力グループの要素数を超過した場合、出力グループには、ELEMENT_COUNT よりも少ない要素が含まれます (ELEMENT_OFFSET から開始して、入力グループの残りの要素だけが含まれます)。EXTRACT パラメータを省略した場合、選択されている各オブジェクトのすべての属性が返されます。EXTRACT、ELEMENT_OFFSET、または ELEMENT_COUNT パラメータを少なくとも 1 つ指定する必要があります。すべてを省略すると、例外が発生します。
構文
<ie:webject name="Extract-Group" type="GRP">
<ie:param name="CLASS" data="class"/>
<ie:param name="EXTRACT" data="attribute_name"/>
<ie:param name="EXTRACT_MODE" data="[MATCH | NOMATCH]"/>
<ie:param name="GROUP_IN" data="group_name"/>
<ie:param name="GROUP_OUT" data="output_group"/>
<ie:param name="ELEMENT_COUNT" data="number of elements to extract" />
<ie:param name="ELEMENT_OFFSET" data="index of the starting element to extract" />
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
GROUP_IN
|
ELEMENT_COUNT
|
CLASS
|
GROUP_OUT
|
ELEMENT_OFFSET
|
EXTRACT_MODE
|
|
EXTRACT
|
|
CLASS
GROUP_OUT パラメータによって指定された出力グループに含まれているオブジェクトのタイプを指定します。たとえば、Webject が CLASS=MyClassName と GROUP_OUT=data_1 を指定する場合、出力グループの XML 表現には以下のタグが含まれます。
<MyClassName NAME="data_1" TYPE="Object" STATUS="0">
</MyClassName>
このパラメータのデフォルトは Unknown-Class-Name です。これはオプションのパラメータです。
ELEMENT_COUNT
Webject が入力グループの要素のサブセットを返すことを許可し、バックエンド情報システムで正確なページモードがサポートされていない場合にシミュレーションページモードの照会でこの Webject を使用できるようにします。このパラメータは、抽出する要素の数を指定します。デフォルト値は入力グループのサイズです。
ELEMENT_OFFSET
Webject が入力グループの要素のサブセットを返すことを許可し、バックエンド情報システムで正確なページモードがサポートされていない場合にシミュレーションページモードの照会でこの Webject を使用できるようにします。このパラメータは、抽出を開始する要素のインデックスを指定します。デフォルト値は 0 です。
EXTRACT
抽出される属性の名前を指定します。このパラメータには複数の値を指定できます。このパラメータは必須です。
EXTRACT_MODE
抽出モードを指定します。値としては、MATCH または NOMATCH を使用できます。EXTRACT_MODE が MATCH の場合、EXTRACT パラメータに指定した属性は出力グループに含まれます。EXTRACT_MODE が NOMATCH の場合、EXTRACT パラメータに指定した以外の属性がすべて出力グループに含まれます。このパラメータはオプションです。指定しなかった場合は、デフォルトモードの MATCH が指定されたものと見なされます。
GROUP_IN
入力グループの名前を指定します。このパラメータは必須です。
GROUP_OUT
入力グループからの属性抽出の名前を指定します。このパラメータは必須です。
例
以下の例は、指定した属性名と値をサーチし、"extractresults" という名前の新しいグループに配置します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie"%>
<!-- Extract attributes from a group. -->
<ie:task uri="com/company/CreateGroup.xml"/>
<ie:webject name="Extract-Group" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="EXTRACT" data="NAME"/>
<ie:param name="EXTRACT" data="ADDRESS"/>
<ie:param name="CLASS" data="resultGroup"/>
<ie:param name="GROUP_OUT" data="extractresults"/>
</ie:webject>
Format-Group
説明
特定の文字を情報に追加して、情報の特定のグループをフォーマットします。たとえば、この Webject を使用して、給与額のグループの各アイテムの先頭にドルマークを付けることができます。この Webject を使用して、フォーマットを目的として複数の属性を 1 つの長い属性に結合することもできます。
構文
<ie:webject name=Format-Group type=GRP>
<ie:param name="ATTRIBUTE" data="attribute_name"/>
<ie:param name="CLASS" data="class"/>
<ie:param name="FORMAT" data="format_specifier"/>
<ie:param name="GROUP_IN" data="input_group_name"/>
<ie:param name="GROUP_OUT" data="output_group"/>
<ie:param name="LOCALE" data="language"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
ATTRIBUTE
|
|
CLASS
|
FORMAT
|
|
LOCALE
|
GROUP_IN
|
|
|
GROUP_OUT
|
|
|
ATTRIBUTE
フォーマットするグループのデータ文字列を識別します。GROUP_OUT の作成時に使用する属性を定義します。GROUP_OUT の作成時には、ATTRIBUTE パラメータで明示的に指定された属性のみを使用します。
このパラメータには複数の値を指定できます。このパラメータは必須です。
CLASS
GROUP_OUT パラメータによって指定された出力グループに含まれているオブジェクトのタイプを指定します。たとえば、Webject が CLASS=MyClassName と GROUP_OUT=data_1 を指定する場合、出力グループの XML 表現には以下のタグが含まれます。
<MyClassName NAME="data_1" TYPE="Object" STATUS="0">
</MyClassName>
このパラメータのデフォルトは Unknown-Class-Name です。これはオプションのパラメータです。
FORMAT
ATTRIBUTE パラメータで指定されたデータ文字列をフォーマットする方法を指定します。FORMAT パラメータの値は、Java クラス java.text.MessageFormat で有効である必要があります。GROUP_OUT の各行には FORMAT パラメータと同数の属性があります。
各 FORMAT パラメータは、{n} などの置換文字列を含めることができます。ここで、n は負ではない整数です。これらの文字列は、n によって定義されたオフセットを持つ未使用の次の属性によって GROUP_OUT 内で置き換えられます。オフセットは、FORMAT パラメータの処理を開始した時点で、未使用の最初の ATTRIBUTE 値を基準としています。
たとえば、n が 0 の場合は、すぐ次の未使用の ATTRIBUTE 値が置換され、n が 1 の場合は、2 番目の未使用の属性値が置換され、n が 2 の場合は、3 番目の未使用の属性値が置換されるというように処理が行われます。FORMAT パラメータの処理が完了すると、すべての置換された ATTRIBUTE 値が使用済みとしてマークされます。
このパラメータには複数の値を指定できます。このパラメータは必須です。
GROUP_IN
フォーマットするグループを指定します。このパラメータは必須です。
GROUP_OUT
フォーマット済みのグループを指定します。このパラメータは必須です。
LOCALE
en-US (ISO 言語名、ダッシュ、ISO 国コード) などの、Java クラスロケールの文字列表現です。指定していない場合は、一般的に Info*Engine を実行しているプラットフォームに定義されたデフォルトのロケールをデフォルトに設定します。このパラメータはオプションです。
例
以下の例は、置換文字列を使用して現在の VDB グループのデータをフォーマットします。フォーマットされたデータを en-US の特定の Java クラスロケールを持つ "formatted results" という名前の出力グループに配置します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie"%>
<!-- Format elements of a group. -->
<ie:task uri="com/company/CreateGroup.xml"/>
<ie:webject name="Format-Group" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="ATTRIBUTE" data="NAME"/>
<ie:param name="ATTRIBUTE" data="EMAIL"/>
<ie:param name="ATTRIBUTE" data="NAME"/>
<ie:param name="ATTRIBUTE" data="EMAIL"/>
<ie:param name="ATTRIBUTE" data="EMAIL"/>
<ie:param name="ATTRIBUTE" data="NAME"/>
<ie:param name="FORMAT" data="{0}"/>
<ie:param name="FORMAT" data="{0}"/>
<ie:param name="FORMAT" data="Name: {0} lives at {1}"/>
<ie:param name="FORMAT" data="Email: {0} --- Name: {1}"/>
<ie:param name="CLASS" data="resultGroup"/>
<ie:param name="GROUP_OUT" data="formatted results"/>
<ie:param name="LOCALE" data="en-US"/>
</ie:webject>
Intersect-Groups
説明
2 つのグループの共通部分を識別し、新しいグループに結果を配置します。たとえば、グループ A に要素 u、v、および x が含まれ、グループ B に要素 x、y、および z が含まれるとします。この Webject は、両方のグループの共通の要素を識別し、共通部分の結果を使用してグループ C を形成します。この例のグループ C には、要素 x のみが含まれます。
構文
<ie:webject name="Intersect-Groups" type="GRP">
<ie:param name="CLASS" data="class"/>
<ie:param name="COMPARISON" data="[ALPHA | NUMERIC]/>
<ie:param name="GROUP_IN" data="input_groups"/>
<ie:param name="GROUP_OUT" data="output_group_name"/>
<ie:param name="INTERSECTBY" data="attribute"/>
<ie:param name="SORTBY" data="attribute"/>
<ie:param name="SORTED" data="[ASC | DESC]"/>
<ie:param name="CASE_IGNORE" data="[ TRUE | FALSE]"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
GROUP_IN
|
|
CASE_IGNORE
|
GROUP_OUT
|
|
CLASS
|
INTERSECTBY
|
|
COMPARISON
|
|
|
SORTBY
|
|
|
SORTED
|
CASE_IGNORE
大文字と小文字のフラグとして機能します。TRUE を指定すると、大文字と小文字は無視されます。FALSE を指定すると、大文字と小文字は区別されます。このパラメータのデフォルトは FALSE です。このパラメータはオプションです。
CLASS
GROUP_OUT パラメータによって指定された出力グループに含まれているオブジェクトのタイプを指定します。たとえば、Webject が CLASS=MyClassName と GROUP_OUT=data_1 を指定する場合、出力グループの XML 表現には以下のタグが含まれます。
<MyClassName NAME="data_1" TYPE="Object" STATUS="0">
</MyClassName>
このパラメータのデフォルトは Unknown-Class-Name です。これはオプションのパラメータです。
COMPARISON
2 つのグループの比較方法を説明します。英数字を比較する ALPHA と数字を厳密に比較する NUMERIC があります。このパラメータのデフォルトは ALPHA です。このパラメータはオプションです。
GROUP_IN
共通集合の処理をするときに使用する 2 つの入力グループの名前を指定します。
2 つのグループ名を指定すると、GROUP_IN パラメータの値が異なる 2 行を含めることができます。例:
<ie:param name="GROUP_IN" data="group1"/>
<ie:param name="GROUP_IN" data="group2"/>
このパラメータは必須です。
GROUP_OUT
2 つのグループの共通部分を計算した結果の名前を指定します。このパラメータは必須です。
INTERSECTBY
比較に使用する属性を識別します。共通集合の処理をすると、最初に指定されたグループの指定された属性は、2 番目に指定されたグループの指定された属性と比較されます。値が同じであれば、最初のグループの要素は結果の出力グループに配置されます。値が異なる場合は、破棄されます。
出力グループに配置する属性名は、使用された最初の INTERSECTBY パラメータの属性名です。すべてのグループの INTERSECTBY パラメータが同じ名前であれば、1 つだけ指定する必要があります。いずれかのグループの INTERSECTBY パラメータの名前が異なる場合は、すべての名前を指定する必要があります。
このパラメータは必須です。
SORTBY
並べ替えを実行する属性の名前を指定します。このパラメータを指定していない場合は、結果は並べ替えられません。このパラメータはオプションです。
SORTED
結果グループ内の値を並べ替える方法を決定します。SORTBY パラメータで指定した属性によって、並べ替える値が決定します。ASC を指定して昇順で並べ替えるか、または DESC を指定して降順で並べ替えます。このパラメータのデフォルトは ASC です。このパラメータはオプションです。
例
以下の例は、CreateGroup および CreateGroupHr タスクタグを使用して 2 つのグループを作成してから、Intersect-Groups Webject を使用してグループ間の NAME 属性の共通部分を特定します。"results" という名前の出力グループを作成し、ローカル出力グループのコレクションにグループを追加します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie"%>
<!--Create a group named createdgroup. -->
<ie:task uri="com/company/CreateGroup.xml"/>
<!--Create a group named createdhrgroup. -->
<ie:task uri="com/company/CreateGroupHr.xml"/>
<!-- Form a group by intersecting the two groups. -->
<ie:webject name="Intersect-Groups" type="GRP">
<ie:param name="GROUP_IN" data="createhrgroup"/>
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="INTERSECTBY" data="NAME"/>
<ie:param name="CASE_IGNORE" data="YES"/>
<ie:param name="COMPARISON" data="ALPHA"/>
<ie:param name="SORTBY" data="NAME"/>
<ie:param name="SORTED" data="ASC"/>
<ie:param name="GROUP_OUT" data="results"/>
</ie:webject>
この例を実行することにより生成される XML 出力は以下のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<wc:COLLECTION xmlns:wc="http://www.ptc.com/infoengine/1.0">
<Unknown-Class-Name NAME="results" TYPE="Object" STATUS="0">
<wc:INSTANCE>
<NAME>Harvy Anderson</NAME>
<POSITION>Marketing</POSITION>
<PHONE>555-222-2222</PHONE>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>James O'Connor</NAME>
<POSITION>Management</POSITION>
<PHONE></PHONE>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>Sam Johnson</NAME>
<POSITION>Engineer</POSITION>
<PHONE>555-111-1111</PHONE>
</wc:INSTANCE>
</Unknown-Class-Name>
</wc:COLLECTION>
Join-Groups
説明
2 つの異なるグループから 1 つのグループに同じ情報を結合 (Join) します。JOIN_TYPE パラメータを MAX に設定することによって、両方のグループ内の異なる情報が新しいグループにも含まれます。
|
Join-Groups Webject と Merge‑Groups Webject は、重複情報の処理方法が異なります。結合 (Join) されたグループの結果では、重複情報は削除されます。データの併合 (Merge) されたグループでは重複情報を保存します。
|
構文
<ie:webject name="Join-Groups" type="GRP">="GRP">
<ie:param name="CASE_IGNORE" data="[TRUE | FALSE]"/>
<ie:param name="CLASS" data="class"/>
<ie:param name="COMPARISON" data="[ALPHA | NUMERIC]"/>
<ie:param name="GROUP_IN" data="input_groups"/>
<ie:param name="GROUP_OUT" data="output_group_name"/>
<ie:param name="JOIN_TYPE" data="MAX"/>
<ie:param name="JOINBY" data="attribute"/>
<ie:param name="SORTBY" data="attribute"/>
<ie:param name="SORTED" data="[ASC | DESC]"/>
<ie:param name="UNDEFINED" data="somevalue"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
GROUP_IN
|
|
CASE_IGNORE
|
GROUP_OUT
|
|
CLASS
|
JOINBY
|
|
COMPARISON
|
|
|
JOIN_TYPE
|
|
|
SORTBY
|
|
|
SORTED
|
|
|
UNDEFINED
|
CASE_IGNORE
大文字と小文字のフラグとして機能します。TRUE を指定すると、大文字と小文字は無視されます。FALSE を指定すると、大文字と小文字は区別されます。このパラメータのデフォルトは FALSE です。このパラメータはオプションです。
CLASS
GROUP_OUT パラメータによって指定された出力グループに含まれているオブジェクトのタイプを指定します。たとえば、Webject が CLASS=MyClassName と GROUP_OUT=data_1 を指定する場合、出力グループの XML 表現には以下のタグが含まれます。
<MyClassName NAME="data_1" TYPE="Object" STATUS="0">
</MyClassName>
このパラメータのデフォルトは Unknown-Class-Name です。これはオプションのパラメータです。
COMPARISON
2 つのグループの比較方法を説明します。英数字を比較する ALPHA と数字を厳密に比較する NUMERIC があります。このパラメータのデフォルトは ALPHA です。このパラメータはオプションです。
GROUP_IN
結合 (Join) を計算するときに使用する 2 つのグループの名前を指定します。2 つのグループ名を指定すると、GROUP_IN パラメータの値が異なる 2 行を含めることができます。以下に例を示します。
<ie:param name="GROUP_IN" data="group1"/>
<ie:param name="GROUP_IN" data="group2"/>
グループは、パラメータにリストされた順序で結合 (Join) されます。
このパラメータは必須です。
GROUP_OUT
2 つのグループの結合 (Join) を計算した結果の名前を指定します。このパラメータは必須です。
JOINBY
比較に使用する属性または列名を識別します。結合 (Join) を実行する場合、2 つのグループに、値の等しい JOINBY パラメータによって指定された属性が含まれている場合、最初に指定されたグループの要素を 2 番目に指定されたグループの要素と結合します。
2 つのグループの比較に使用する属性の名前が同じ場合は、JOINBY パラメータを 1 つだけ含めます。2 つのグループの比較に使用する属性の名前が異なる場合は、2 つの JOINBY パラメータを含めます。出力グループに配置する属性名は、最初に使用した JOINBY パラメータの属性名です。
このパラメータは必須です。
JOIN_TYPE
MAX 結合 (Join) を実行するように指定します。JOIN_TYPE を指定しない場合、結合する 2 つのグループ内の異なる情報は出力されません。JOIN_TYPE を MAX に設定する場合、Webject は結合される両方のグループからのすべての情報を結合します。値のないフィールドには、UNDEFINED 値が使用されます。詳細については、セクション「Join-Groups」を参照してください。
このパラメータはオプションです。
SORTBY
並べ替えを実行する属性の名前を指定します。このパラメータを指定していない場合は、結果は並べ替えられません。このパラメータはオプションです。
SORTED
結果グループ内の値を並べ替える方法を決定します。SORTBY パラメータで指定した属性によって、並べ替える値が決定します。ASC を指定して昇順で並べ替えるか、または DESC を指定して降順で並べ替えます。このパラメータのデフォルトは ASC です。このパラメータはオプションです。
UNDEFINED
属性値が存在しない場合は、使用する値を設定しますこのパラメータのデフォルト値は "" です。このパラメータはオプションです。
例
Join-Groups Webject の例を 2 つ示します。始めにタスクの例、次に JOIN_TYPE パラメータの定義を補足します。
以下の例は、2 つのグループを作成してから、Join-Groups Webject を使用して NAME 属性で結合します。"results" という名前の出力グループを作成し、ローカル出力グループのコレクションにグループを追加します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie"%>
<!--Create a group named createdgroup. -->
<ie:task uri="com/company/CreateGroup.xml"/>
<!--Create a group named createdhrgroup. -->
<ie:task uri="com/company/CreateGroupHr.xml"/>
<!-- Form a group by joining two groups -->
<ie:webject name="Join-Groups" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="GROUP_IN" data="createhrgroup"/>
<ie:param name="JOINBY" data="NAME"/>
<ie:param name="JOIN_TYPE" data="MAX"/>
<ie:param name="SORTBY" data="NAME"/>
<ie:param name="SORTED" data="ASC"/>
<ie:param name="GROUP_OUT" data="results"/>
</ie:webject>
この例は、Join-Group Webject を使用して C3 でグループ A とグループ B を結合した結果を示します。はじめの 2 つの表は結合するグループを示します。この 2 つのグループでは、列 3、行 3 の情報が異なることに注意してください。
表 1 グループ A
|
C1
|
C2
|
C3
|
行 1
|
a1
|
b1
|
c1
|
行 2
|
a2
|
b2
|
c2
|
行 3
|
a3
|
b3
|
c3
|
表 2 グループ B
|
C3
|
C4
|
C5
|
行 1
|
c1
|
d1
|
e1
|
行 2
|
c2
|
d2
|
e2
|
行 3
|
c4
|
d4
|
e4
|
以下の Webject を実行するとします。
<ie:webject name="Join-Groups" type="GRP">
<ie:param name="GROUP_IN" data="Group A"/>
<ie:param name="GROUP_IN" data="Group B"/>
<ie:param name="JOINBY" data="C3"/>
<ie:param name="GROUP_OUT" data="Results"/>
</ie:webject>
表 3 JOIN_TYPE パラメータを使用しない場合の結果
|
C1
|
C2
|
C3
|
C4
|
C5
|
行 1
|
a1
|
b1
|
c1
|
d1
|
e1
|
行 2
|
a2
|
b2
|
c2
|
d2
|
e2
|
この Webject は JOIN_TYPE パラメータを使用しません。グループ A からの列がグループ B からの列の前にあり、グループ A および B の行 3 からの情報が含まれていないことに注意してください。
<ie:webject name="Join-Groups" type="GRP">
<ie:param name="GROUP_IN" data="Group A"/>
<ie:param name="GROUP_IN" data="Group B"/>
<ie:param name="JOINBY" data="C3"/>
<ie:param name="JOIN_TYPE" data="MAX"/>
<ie:param name="GROUP_OUT" data="Results"/>
</ie:webject>
JOIN_TYPE パラメータを指定した場合の結果を次に示します。情報を持つすべての行が含まれます。
この例では、グループ A (C1、C2、および C3 の行 3 の値が含まれていた) に行 3 の値が含まれています。グループ B (C3、C4、および C5 の行 3 の値が含まれていた) に行 4 の値が含まれています。グループ間で異なる情報について含まれているデフォルト値は "" です。
表 4 JOIN_TYPE パラメータを使用する場合の結果
|
C1
|
C2
|
C3
|
C4
|
C5
|
行 1
|
a1
|
b1
|
c1
|
d1
|
e1
|
行 2
|
a2
|
b2
|
c2
|
d2
|
e2
|
行 3
|
a3
|
b3
|
c3
|
""
|
""
|
行 4
|
""
|
""
|
c4
|
d4
|
e4
|
グループ B をグループ A と結合すると、異なる順序で結合された同じデータを生成します。C3 列はグループ B から導出されます。グループ B からのデータにグループ A からのデータが続きます。グループ A をグループ B と結合すると、以下のようになります。
表 5 JOIN_TYPE パラメータを使用する場合の結果
|
C3
|
C4
|
C5
|
C1
|
C2
|
行 1
|
c1
|
d1
|
e1
|
a1
|
b1
|
行 2
|
C2
|
d2
|
e2
|
a2
|
b2
|
行 3
|
C3
|
""
|
""
|
a3
|
b3
|
行 4
|
C4
|
d4
|
e4
|
""
|
""
|
Merge-Groups
説明
2 つのグループを 1 つに併合し、両方またはいずれかのグループに含まれている情報の重複を可能にします。
|
Join-Groups Webject と Merge‑Groups Webject は、重複情報の処理方法が異なります。結合 (Join) されたグループの結果では、重複情報は削除されます。データの併合 (Merge) されたグループでは重複情報を保存します。
|
構文
<ie:webject name="Merge-Groups "type="GRP">
<ie:param name="CASE_IGNORE" data="[TRUE | FALSE]"/>
<ie:param name="CLASS" data="class"/>
<ie:param name="COMPARISON" data="[ALPHA | NUMERIC]"/>
<ie:param name="GROUP_IN" data="input_groups"/>
<ie:param name="GROUP_OUT" data="output_group_name"/>
<ie:param name="SORTBY" data="attribute"/>
<ie:param name="SORTED" data="[ASC | DESC]"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
GROUP_IN
|
|
CASE_IGNORE
|
GROUP_OUT
|
|
CLASS
|
|
|
COMPARISON
|
|
|
SORTBY
|
|
|
SORTED
|
CASE_IGNORE
大文字と小文字のフラグとして機能します。TRUE を指定すると、大文字と小文字は無視されます。FALSE を指定すると、大文字と小文字は区別されます。このパラメータのデフォルトは FALSE です。このパラメータはオプションです。
CLASS
GROUP_OUT パラメータによって指定された出力グループに含まれているオブジェクトのタイプを指定します。たとえば、Webject が CLASS=MyClassName と GROUP_OUT=data_1 を指定する場合、出力グループの XML 表現には以下のタグが含まれます。
<MyClassName NAME="data_1" TYPE="Object" STATUS="0">
</MyClassName>
このパラメータのデフォルトは Unknown-Class-Name です。これはオプションのパラメータです。
COMPARISON
2 つのグループの比較方法を説明します。英数字を比較する ALPHA と数字を厳密に比較する NUMERIC があります。このオプションのパラメータのデフォルトは ALPHA です。
GROUP_IN
併合 (Merge) を計算するときに使用する 2 つのグループの名前を指定します。2 つのグループ名を指定すると、GROUP_IN パラメータの値が異なる 2 行を含めることができます。例:
<ie:param name="GROUP_IN" data="group1"/>
<ie:param name="GROUP_IN" data="group2"/>
このパラメータは必須です。
GROUP_OUT
GROUP_IN および MERGEBY パラメータを使用して指定した 2 つのグループの併合 (Merge) 結果の名前を識別します。このパラメータは必須です。
SORTBY
並べ替えを実行する属性の名前を指定します。このパラメータを指定していない場合は、結果は並べ替えられません。このパラメータはオプションです。
SORTED
結果グループ内の値を並べ替える方法を決定します。SORTBY パラメータで指定した属性によって、並べ替える値が決定します。ASC を指定して昇順で並べ替えるか、または DESC を指定して降順で並べ替えます。このパラメータのデフォルトは ASC です。このパラメータはオプションです。
例
以下の例は、2 つの指定された GROUP_IN を結合し、データを NAME 属性によって昇順で並べ替え、結果としてマージされて並べ替えられたデータを "results" という名前の出力グループに配置します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie"%>
<!-- Form a group by merging two groups -->
<ie:task uri="com/company/CreateGroup.xml"/>
<ie:task uri="com/company/CreateGroupHr.xml"/>
<ie:webject name="Merge-Groups" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="GROUP_IN" data="createhrgroup"/>
<ie:param name="SORTBY" data="NAME"/>
<ie:param name="SORTED" data="ASC"/>
<ie:param name="GROUP_OUT" data="results"/>
</ie:webject>
Return-Groups
説明
タスクから複数のグループを返します。これらのグループはタスクまたは JSP ページを呼び出して使用します。
デフォルトでは、作成された最終グループのみをタスクの呼び出し元として利用できます。
構文
<ie:webject name="Return-Groups" type="GRP">
<ie:param name="GROUP_IN" data="group_names"/>
</ie:webject>
パラメータ
GROUP_IN
返す複数のグループの名前を指定します。アスタリスク (*) を指定して、タスクによって生成されたすべてのグループを返すことができます。
複数のグループ名を指定すると、GROUP_IN パラメータの値が異なる複数の行を含めることができます。以下に例を示します。
<ie:param name="GROUP_IN" data="group1"/>
<ie:param name="GROUP_IN" data="group2"/>
<ie:param name="GROUP_IN" data="group3"/>
このパラメータは必須です。
例
以下の例は、CreateGroup および CreateGroupHr タスクタグを使用して 2 つのグループを作成してから、Return–Groups Webject を使用してグループを返します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie"%>
<!--Create a group named createdgroup. -->
<ie:task uri="com/company/CreateGroup.xml"/>
<!--Create a group named createdhrgroup. -->
<ie:task uri="com/company/CreateGroupHr.xml"/>
<!-- Return multiple groups. -->
<ie:webject name="Return-Groups" type="GRP">
<ie:param name="Group_in" data="createdgroup"/>
<ie:param name="Group_in" data="createhrgroup"/>
</ie:webject>
ReturnGroups.xml ファイルを実行することにより生成される XML 出力は以下のとおりです。
<?xml version="1.0" encoding="UTF-8"?>
<wc:COLLECTION xmlns:wc="http://www.ptc.com/infoengine/1.0">
<EmployeeData NAME="createdgroup" TYPE="Object" STATUS="0">
<wc:INSTANCE>
<NAME>Sam Johnson</NAME>
<ADDRESS>1234 Main St.</ADDRESS>
<EMAIL>sjohnson@somewhere.com</EMAIL>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>Harvy Anderson</NAME>
<ADDRESS>1234 Amber St.</ADDRESS>
<EMAIL>handerson@somewhere.com</EMAIL>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>James O'Connor</NAME>
<ADDRESS>775 Main St.</ADDRESS>
<EMAIL></EMAIL>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>Harvey Hampton</NAME>
<ADDRESS>775 Main St.</ADDRESS>
<EMAIL>hhampton@somewhere.com</EMAIL>
</wc:INSTANCE>
</EmployeeData>
<EmployeeHrData NAME="createhrgroup" TYPE="Object" STATUS="0">
<wc:INSTANCE>
<NAME>Sam Johnson</NAME>
<POSITION>Engineer</POSITION>
<PHONE>555-111-1111</PHONE>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>Harvy Anderson</NAME>
<POSITION>Marketing</POSITION>
<PHONE>555-222-2222</PHONE>
</wc:INSTANCE>
<wc:INSTANCE>
<NAME>James O'Connor</NAME>
<POSITION>Management</POSITION>
<PHONE></PHONE>
</wc:INSTANCE>
</EmployeeHrData>
</wc:COLLECTION>
Set-Identity
説明
グループのすべての要素に属性とメタ属性を追加します。これらの属性は、各要素の UFID (Unique Federation Identifier) とオブジェクトクラスを指定します。タスク委任を Dispatch-Tasks Webject の GROUP_IN パラメータの値として指定すると、グループに簡単に適用できます。
構文
<ie:webject name="Set-Identity" type="GRP">
<ie:param name="GROUP_IN" data="input_group_name"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
GROUP_IN
|
DOMAIN
|
CLASS
|
|
DOMAIN_ATTRIBUTE
|
CLASS_ATTRIBUTE
|
|
UFID
|
GUID
|
|
|
GUID_ATTRIBUTE
|
|
|
LOCAL_ID
|
|
|
LOCAL_ID_ATTRIBUTE
|
|
|
UFID_ATTRIBUTE
|
CLASS
論理オブジェクトクラス名を指定します。この値は、名前が CLASS_ATTRIBUTE で指定された属性の値として、入力グループの各要素に追加されます。このパラメータは、複数回指定できます。指定した値の数が入力グループの要素の数よりも少ない場合、すべての要素に値が追加されるまで、最後に指定した値が繰り返し使用されます。このパラメータを省略すると、入力グループの要素にクラス名の属性は追加されません。このパラメータはオプションです。
CLASS_ATTRIBUTE
CLASS で指定された論理クラス名が保存される属性の名前を指定します。このパラメータのデフォルト値は class です。CLASS パラメータを省略した場合、CLASS_ATTRIBUTE は無視されます。このパラメータはオプションです。
DOMAIN
情報リポジトリのドメイン名を指定します。この値は、LOCAL_ID および GUID と結合されて UFID (Unique Federation Identifier) 値を形成して、入力グループの各要素に追加されます。このパラメータは、複数回指定できます。指定した値の数が入力グループの要素の数よりも少ない場合、すべての要素に値が追加されるまで、最後に指定した値が繰り返し使用されます。このパラメータを指定しない場合、DOMAIN_ATTRIBUTE または UFID のいずれかのパラメータを指定する必要があります。
DOMAIN_ATTRIBUTE
入力グループの各要素に含まれる属性の名前を指定します。このような属性値はそれぞれ情報リポジトリのドメイン名を識別します。この値は、LOCAL_ID および GUID と結合されて UFID (Unique Federation Identifier) 値を形成して、入力グループの各要素に追加されます。このパラメータを指定しない場合、DOMAIN または UFID のいずれかのパラメータを指定する必要があります。
GROUP_IN
クラスおよび UFID 属性が追加されるグループの名前を指定します。これはインプレース変更されます (この Webject の GROUP_OUT パラメータはありません)。このパラメータは必須です。
GUID
情報リポジトリの GUID (Globally Unique Identifier) を指定します。この値は、LOCAL_ID および DOMAIN と結合されて UFID (Unique Federation Identifier) 値を形成して、入力グループの各要素に追加されます。このパラメータは、複数回指定できます。指定した値の数が入力グループの要素の数よりも少ない場合、すべての要素に値が追加されるまで、最後に指定した値が繰り返し使用されます。このパラメータを省略し、GUID_ATTRIBUTE も省略した場合、GUID は DOMAIN 値から導出されます。このパラメータはオプションです。
GUID_ATTRIBUTE
入力グループの各要素に含まれる属性の名前を指定します。各値は、情報リポジトリの GUID を指定します。この値は、LOCAL_ID および DOMAIN と結合されて UFID (Unique Federation Identifier) 値を形成して、入力グループの各要素に追加されます。このパラメータを省略し、GUID パラメータも省略した場合、GUID は DOMAIN 値から導出されます。このパラメータはオプションです。
LOCAL_ID
入力グループの要素で表現されるオブジェクトのリポジトリ固有の識別子を指定します。この値は、GUID および DOMAIN と結合されて UFID (Unique Federation Identifier) 値を形成して、入力グループの各要素に追加されます。このパラメータは、複数回指定できます。指定された値の数が入力グループの要素の数よりも少ない場合は、値が割り当てられている要素にのみ UFID が設定されます。このパラメータを省略し、LOCAL_ID_ATTRIBUTE および UFID も省略した場合、入力グループの要素に UFID 属性は追加されません。このパラメータはオプションです。
LOCAL_ID_ATTRIBUTE
入力グループの各要素に含まれる属性の名前を指定します。各値は、値を含む要素で表現されるオブジェクトのリポジトリ固有の識別子を指定します。この値は、GUID および DOMAIN と結合されて UFID (Unique Federation Identifier) 値を形成して、入力グループの各要素に追加されます。このパラメータを省略し、LOCAL_ID および UFID も省略した場合、入力グループの要素に UFID 属性は追加されません。このパラメータはオプションです。
UFID
入力グループの各要素に UFID として追加される値を直接指定します。このパラメータは、複数回指定できます。指定された値の数が入力グループの要素の数よりも少ない場合は、値が割り当てられている要素にのみ UFID が設定されます。このパラメータを省略し、LOCAL_ID および LOCAL_ID_ATTRIBUTE も省略した場合、入力グループの要素に UFID 属性は追加されません。このパラメータはオプションです。
UFID_ATTRIBUTE
入力グループの各要素に追加される属性の名前を指定して、各要素の UFID を識別します。このパラメータのデフォルト値は obid です。このパラメータはオプションです。
Set-Metadata
説明
グループ、グループ内の各要素、および要素内の属性のメタデータの値を登録します。このメタデータはより高いレイヤーのアプリケーションによって読み取ることができ、グループ、要素、または属性データの処理に影響を与えます。
|
Set-Metadata Webject は新しい出力グループを生成しません。代わりに、GROUP_IN パラメータによって指定したグループを修正します。
|
構文
<ie:webject name="Set-Metadata" type="GRP">
<ie:param name="ATTRIBUTE" data="name_of_attribute"/>
<ie:param name="ELEMENT" data="index_of_element"/>
<ie:param name="GROUP_IN" data="input_group_name"/>
<ie:param name="NAME" data="name_of_meta_attribute"/>
<ie:param name="SCOPE" data="[GROUP | ELEMENT | ATTRIBUTE]"/>
<ie:param name="VALUE" data="value_of_meta_attribute"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
GROUP_IN
|
SCOPE
|
VALUE
|
NAME
|
ELEMENT
|
|
|
ATTRIBUTE
|
|
ATTRIBUTE
メタデータが設定されている属性を識別します。
SCOPE が ATTRIBUTE である場合は、メタデータを設定する属性を識別するために、ELEMENT および ATTRIBUTE パラメータの両方を指定する必要があります。
ELEMENT
メタデータを設定する要素を識別します。パラメータの値は、グループ内の要素のインデックスを指定する簡単な整数か、または name=value として指定される場合があります。ここで name は属性の名前、value は対応する属性の値です。前と値のペアが指定されると、Webject は指定された名前と値を持つ属性を含んでいる最初の要素を配置し、その要素にメタデータを設定します。
ELEMENT の値はアスタリスク (*) としても指定できます。この場合は、グループのすべての要素が選択されます。
SCOPE パラメータが ELEMENT である場合は、ELEMENT パラメータを指定する必要があります。SCOPE パラメータが ATTRIBUTE である場合は、メタデータを設定する属性を識別するために、ELEMENT および ATTRIBUTE パラメータの両方を指定する必要があります。
GROUP_IN
メタデータを登録するグループの名前を指定します。このパラメータは必須です。
NAME
設定するメタデータ属性の名前を指定します。Webject への 1 回の呼び出しで複数のメタデータ属性を設定するために、複数の NAME および VALUE パラメータの組み合わせを指定できます。このパラメータは必須です。
VALUE
NAME パラメータで指定された対応するメタデータに関連付けられたメタデータの値を指定します。Webject への 1 回の呼び出しで複数のメタデータ属性を設定するために、複数の NAME および VALUE パラメータのペアを指定できます。
このパラメータのデフォルトは NULL 文字です。このパラメータはオプションです。
SCOPE
メタデータの適応範囲を指定します。このパラメータの有効な値は以下のとおりです。
◦ GROUP - グループ全体にメタデータを設定します。
◦ ELEMENT - グループ内の特定の要素のメタデータを設定します。SCOPE が ELEMENT として指定されている場合は、ELEMENT パラメータも指定する必要があります。
◦ ATTRIBUTE - グループ内の要素の特定の属性にメタデータを設定します。SCOPE が ATTRIBUTE として指定されている場合は、ELEMENT および ATTRIBUTE パラメータの両者とも指定する必要があります。
このパラメータのデフォルト値は GROUP です。
例
以下の JSP ページの例は、グループレベルで "createdgroup" という名前のグループに名前 meta_data および値 met_value を持つメタデータを登録します。
<%@page language="java" session="false"
errorPage="XML_IEError.jsp" contentType="text/xml"%>
<%@ taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie"%>
<ie:task uri="com/company/CreateGroup.xml"/>
<ie:webject name="Set-Metadata" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="SCOPE"data="GROUP"/>
<ie:param name="NAME"data="meta_name"/>
<ie:param name="VALUE"data="met_value"/>
</ie:webject>
<ie:webject name="Display-XML" type="DSP">
<ie:param name="MODE" data="FULL"/>
</ie:webject>
以下の SetMetadataLevels.jsp ファイルは、3 つのすべての SCOPE 値にメタデータを設定し、Display-XML を使用して XML 出力を表示します。
<%@page language="java" session="false" errorPage="../IEError.jsp"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie"%>
<ie:webject name="Create-Group" type="GRP">
<ie:param name="ELEMENT" data="NAME=Sam Johnson:
ADDRESS=1234 Main St.:EMAIL=sjohnson@somewhere.com"/>
<ie:param name="ELEMENT" data="NAME=Harvy Anderson:
ADDRESS=1234 Amber St.:EMAIL=handerson@somewhere.com"/>
<ie:param name="ELEMENT" data="NAME=<>'&":
EMAIL=joconnor@somewhere.com"/>
<ie:param name="GROUP_OUT" data="CREATE-RESULTS"/>
</ie:webject>
<ie:webject name="SeT-Metadata" type="GRP">
<ie:param name="GROUP_IN" data="CREATE-RESULTS"/>
<ie:param name="NAME" data="testattribute"/>
<ie:param name="VALUE" data="attribute metadata"/>
<ie:param name="SCOPE" data="ATTRIBUTE"/>
<ie:param name="ELEMENT" data="*"/>
<ie:param name="ATTRibute" data="name"/>
</ie:webject>
<ie:webject name="Set-Metadata" type="GRP">
<ie:param name="GROUP_IN" data="CREATE-RESULTS"/>
<ie:param name="NAME" data="testelement"/>
<ie:param name="VALUE" data="element metadata"/>
<ie:param name="SCOPE" data="ELEMENT"/>
<ie:param name="ELEMENT" data="0"/>
</ie:webject>
<ie:webject name="Set-Metadata" type="GRP">
<ie:param name="GROUP_IN" data="CREATE-RESULTS"/>
<ie:param name="NAME" data="testgroup"/>
<ie:param name="VALUE" data="group metadata"/>
<ie:param name="SCOPE" data="GROUP"/>
</ie:webject>
<ie:webject name="Display-Xml" type="DSP">
<ie:param name="Mode" data="FULL"/>
</ie:webject>
この例を実行することにより生成される XML 出力は以下のとおりです。
<?xml version="1.0" encoding="UTF-8" ?>
- <wc:COLLECTION xmlns:wc="http://www.ptc.com/infoengine/1.0">
- <Unknown-Class-Name NAME="CREATE-RESULTS" TYPE="Object" STATUS="0">
- <wc:INSTANCE>
- <NAME>
Sam Johnson
- <wc:Meta>
<testattribute>attribute metadata</testattribute>
</wc:Meta>
</NAME>
<ADDRESS>1234 Main St.</ADDRESS>
<EMAIL>sjohnson@somewhere.com</EMAIL>
- <wc:Meta>
<testelement>element metadata</testelement>
</wc:Meta>
</wc:INSTANCE>
- <wc:INSTANCE>
- <NAME>
Harvy Anderson
- <wc:Meta>
<testattribute>attribute metadata</testattribute>
</wc:Meta>
</NAME>
<ADDRESS>1234 Amber St.</ADDRESS>
<EMAIL>handerson@somewhere.com</EMAIL>
</wc:INSTANCE>
- <wc:INSTANCE>
- <NAME>
<>'&"
- <wc:Meta>
<testattribute>attribute metadata</testattribute>
</wc:Meta>
</NAME>
<EMAIL>joconnor@somewhere.com</EMAIL>
</wc:INSTANCE>
- <wc:Meta>
<Class>Unknown-Class-Name</Class>
<testgroup>group metadata</testgroup>
<Status>0</Status>
</wc:Meta>
</Unknown-Class-Name>
</wc:COLLECTION>
Sort-Group
説明
1 つまたは複数の属性によってオブジェクトのグループの情報を並べ替えます。たとえば、従業員の名前、番号、および給与を含むグループで、Sort-Group Webject を使用し、名前、番号、および給与のいずれか 1 つの属性を基準とするか、これら 3 つの属性のいずれか 2 つ、またはすべてを基準として、情報が英数字順に並べ替えられるように指定できます。
構文
<ie:webject name="Sort-Group" type="GRP">
<ie:param name="GROUP_IN" data="input_group_name"/>
<ie:param name="SORTBY" data="attribute"/>
<ie:param name="SORTED" data="[ASC | DESC]"/>
<ie:param name="COMPARISON" data="[ALPHA | NUMERIC]"/>
<ie:param name="CASE_IGNORE" data="[TRUE | FALSE]"/>
<ie:param name="CLASS" data="class"/>
<ie:param name="GROUP_OUT" data="output_group_name"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
GROUP_IN
|
|
CASE_IGNORE
|
GROUP_OUT
|
|
CLASS
|
SORTBY
|
|
COMPARISON
|
|
|
SORTED
|
CASE_IGNORE
大文字と小文字のフラグとして機能します。TRUE を指定すると、大文字と小文字は無視されます。FALSE を指定すると、大文字と小文字は区別されます。このパラメータのデフォルトは FALSE です。このパラメータには複数の値を指定できます。このパラメータはオプションです。
CLASS
GROUP_OUT パラメータによって指定された出力グループに含まれているオブジェクトのタイプを指定します。たとえば、Webject が CLASS=MyClassName と GROUP_OUT=data_1 を指定する場合、出力グループの XML 表現には以下のタグが含まれます。
<MyClassName NAME="data_1" TYPE="Object" STATUS="0">
</MyClassName>
このパラメータのデフォルトは、Unknown-Class-Name です。このパラメータはオプションです。
COMPARISON
属性値の比較方法を指定します。英数字を比較する ALPHA と数字を厳密に比較する NUMERIC があります。このパラメータのデフォルトは ALPHA です。このパラメータには複数の値を指定できます。このパラメータはオプションです。
GROUP_IN
並べ替えるグループを指定します。このパラメータは必須です。
GROUP_OUT
並べ替えたグループの名前を指定します。このパラメータは必須です。
SORTBY
並べ替えに使用するフィールドまたは列名を識別します。すべての数字と文字を昇順に並べ替える前、およびすべての数字と文字を降順に並べ替えた後に、NULL 値を並べ替えることに注意してください。
このパラメータには複数の値を指定できます。SORTED、COMPARISON、または CASE_IGNORE に指定されている値の数よりも SORTBY に指定されている値の数の方が多い場合、SORTED、COMPARISON、または CASE_IGNORE に指定されている最後の値が、残りの SORTBY の値に対して使用されます。このパラメータは必須です。
SORTED
2 つのグループの出力順を指示する方法を説明します。昇順に出力するには ASC、降順に出力するには DESC を指定します。このパラメータのデフォルトは ASC です。このパラメータには複数の値を指定できます。このパラメータはオプションです。
例: 単一の列で並べ替え
次の例は、"createdgroup" というグループの要素を名前で並べ替えます。アルファベット順、昇順、そして大文字と小文字を区別しないという条件で行います。結果を "results" というグループに出力します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie"%>
<!-- Sort the elements in a group. -->
<ie:task uri="com/company/CreateGroup.xml"/>
<ie:webject name="Sort-Group" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="SORTBY" data="NAME"/>
<ie:param name="CASE_IGNORE" data="TRUE"/>
<ie:param name="COMPARISON" data="ALPHA"/>
<ie:param name="SORTED" data="ASC"/>
<ie:param name="GROUP_OUT" data="results"/>
</ie:webject>
例: 複数の列で並べ替え
ここでは、複数の列を条件にして並べ替えを行う Sort-Group Webject の例を見てみましょう。
まず、従業員の姓と所属する部門の番号を含むグループが作成されます。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core" prefix="ie"%>
<ie:webject name="Create-Group" type="GRP">
<ie:param name="ELEMENT" data="DEPT=300:NAME=Smith"/>
<ie:param name="ELEMENT" data="DEPT=300:NAME=Johnson"/>
<ie:param name="ELEMENT" data="DEPT=200:NAME=Reilly"/>
<ie:param name="ELEMENT" data="DEPT=100:NAME=Sinclair"/>
<ie:param name="ELEMENT" data="DEPT=300:NAME=Michaels"/>
<ie:param name="ELEMENT" data="DEPT=500:NAME=King"/>
<ie:param name="GROUP_OUT" data="employees"/>
</ie:webject>
<ie:webject name="Display-Table" type="DSP"/>
結果として生成される "employees" という名前の出力グループが以下の形式で表示されます。
DEPT
|
NAME
|
300
|
Smith
|
300
|
Johnson
|
200
|
Reilly
|
100
|
Sinclair
|
300
|
Michaels
|
500
|
King
|
次に、employees グループは、部門番号を基準として昇順に並べ替えられます。
<ie:webject name="Sort-Group" type="GRP">
<ie:param name="GROUP_IN" data="employees"/>
<ie:param name="SORTBY" data="DEPT"/>
<ie:param name="SORTED" data="ASC"/>
<ie:param name="GROUP_OUT" data="results"/>
</ie:webject>
<ie:webject name="Display-Table" type="DSP"/>
その結果、"results" という名前のグループが以下の形式で表示されます。
DEPT
|
NAME
|
100
|
Sinclair
|
200
|
Reilly
|
300
|
Smith
|
300
|
Johnson
|
300
|
Michaels
|
500
|
King
|
|
部門 300 には複数の従業員が属していますが、それらの従業員の名前は特定の順番で並べられているわけではありません。
|
次に、employees グループは、部門番号と名前を基準として昇順に並べ替えられます。
<ie:webject name="Sort-Group" type="GRP">
<ie:param name="GROUP_IN" data="employees"/>
<ie:param name="SORTBY" data="DEPT,NAME" delim=","/>
<ie:param name="SORTED" data="ASC"/>
<ie:param name="GROUP_OUT" data="results"/>
</ie:webject>
<ie:webject name="Display-Table" type="DSP"/>
その結果、"results" という名前のグループが以下の形式で表示されます。
DEPT
|
NAME
|
100
|
Sinclair
|
200
|
Reilly
|
300
|
Johnson
|
300
|
Michaels
|
300
|
Smith
|
500
|
King
|
|
今度は、部門 300 の従業員名が、アルファベットの昇順で並んでいます。
|
次に、employees グループは、部門番号を基準として昇順に、そして名前を基準として降順に並べ替えられます。
<ie:webject name="Sort-Group" type="GRP">
<ie:param name="GROUP_IN" data="employees"/>
<ie:param name="SORTBY" data="DEPT,NAME" delim=","/>
<ie:param name="SORTED" data="ASC,DESC" delim=","/>
<ie:param name="GROUP_OUT" data="results"/>
</ie:webject>
<ie:webject name="Display-Table" type="DSP"/>
その結果、"results" という名前のグループが以下の形式で表示されます。
DEPT
|
NAME
|
100
|
Sinclair
|
200
|
Reilly
|
300
|
Smith
|
300
|
Michaels
|
300
|
Johnson
|
500
|
King
|
|
今度は、部門 300 の従業員名が、アルファベットの降順で一覧表示されています。
|
Subset-Group
説明
1 つまたは複数のパラメータでパターンマッチングを使用して、文字列が指定したパターン全体と一致するか、または文字列内のサブ文字列が指定したパターンと一致するかを調べます。マッチングは正規表現 (POSIX 標準の一部) を使用して実行します。大文字と小文字は区別しません。
構文
<ie:webject name="Subset-Group" type="GRP">
<ie:param name="CASE_IGNORE" data="[TRUE | FALSE]"/>
<ie:param name="CLASS" data="class"/>
<ie:param name="FILTER" data="string_pattern"/>
<ie:param name="FILTER_MODE" data="[MATCH | NOMATCH]"/>
<ie:param name="FILTER_TYPE" data="[IE | REGEXP]"/>
<ie:param name="GROUP_IN" data="input_group_name"/>
<ie:param name="GROUP_OUT" data=" output_group_name"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
FILTER
|
|
CASE_IGNORE
|
GROUP_IN
|
|
CLASS
|
GROUP_OUT
|
|
FILTER_MODE
|
|
|
FILTER_TYPE
|
CASE_IGNORE
大文字と小文字のフラグとして機能します。TRUE を指定すると、一致をサーチするときに大文字と小文字は無視されます。FALSE を指定すると、大文字と小文字は区別されます。このパラメータのデフォルトは FALSE です。このパラメータはオプションです。
CLASS
GROUP_OUT パラメータによって指定された出力グループに含まれているオブジェクトのタイプを指定します。たとえば、Webject が CLASS=MyClassName と GROUP_OUT=data_1 を指定する場合、出力グループの XML 表現には以下のタグが含まれます。
<MyClassName NAME="data_1" TYPE="Object" STATUS="0">
</MyClassName>
このパラメータのデフォルトは Unknown-Class-Name です。これはオプションのパラメータです。
FILTER
文字列またはサブ文字列が一致する必要のあるパターンを指定します。パターンに含むことができるワイルドカード文字セットは、指定したフィルタタイプによって異なります。詳細については、FILTER_TYPE パラメータの説明を参照してください。
このパラメータは必須です。
FILTER_MODE
指定したパターンと一致する値を渡すか、または指定したパターンと一致しない値を渡すかを指定します。有効な値は、MATCH および NOMATCH です。このパラメータのデフォルトは MATCH です。このパラメータはオプションです。
FILTER_TYPE
パターンマッチングに使用するフィルタタイプを指定します。有効な値は、Info*Engine では IE、正規表現では REGEXP です。
IE を指定した場合、以下の文字は対応する正規表現に変換されます。
IE
|
正規表現
|
?
|
.
|
*
|
.*
|
pattern
|
^pattern$
|
IE 文字から正規表現への変換後、パターンマッチングが実行されます。
指定するパターンが比較的簡単なパターンである場合は、前の表にリストした IE 文字を使用できます。より複雑なパターンを指定する場合は、FILTER_TYPE パラメータの値として REGEXP を指定し、FILTER パラメータのパターンに必要な正規表現を含めます。
このパラメータのデフォルトは IE です。このパラメータはオプションです。
GROUP_IN
特定のサブセットを選択するグループを指定します。このパラメータは必須です。
GROUP_OUT
サブセットの保存先となる出力グループの名前を指定します。このパラメータは必須です。
例
以下の例は、パターンマッチングを使用して、文字列が指定したパターン全体と一致するか、または文字列内のサブ文字列が指定したパターンと一致するかを調べます。最初の Subset-Group Webject は、指定された FILTER と一致するアイテムを渡し、"matched" という名前の出力グループにそれらのアイテムを配置します。以下の Subset-Group Webject は、指定された FILTER と一致しないアイテムを渡し、"nomatch" という名前の出力グループにそれらのアイテムを配置します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie"%>
<!-- Form a new group that is a subset of a group.-->
<ie:task uri="com/company/CreateGroup.xml"/>
<ie:webject name="Subset-Group" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="FILTER" data="NAME='^J'"/>
<ie:param name="FILTER_TYPE" data="REGEXP"/>
<ie:param name="FILTER_MODE" data="MATCH"/>
<ie:param name="CASE_IGNORE" data="TRUE"/>
<ie:param name="CLASS" data="MATCHEDITEMS"/>
<ie:param name="GROUP_OUT" data="matched"/>
</ie:webject>
<ie:webject name="Subset-Group" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="FILTER" data="NAME='^J'"/>
<ie:param name="FILTER_TYPE" data="REGEXP"/>
<ie:param name="FILTER_MODE" data="NOMATCH"/>
<ie:param name="CASE_IGNORE" data="TRUE"/>
<ie:param name="CLASS" data="NONMATCHEDITEMS"/>
<ie:param name="GROUP_OUT" data="nomatch"/>
</ie:webject>
<ie:webject name="Return-Groups" type="GRP">
<ie:param name="Group_in" data="matched"/>
<ie:param name="Group_in" data="nomatch"/>
</ie:webject>
Summarize-Groups
説明
グループに関する記述情報を提供します。
構文
<ie:webject name="Summarize-Groups" type="GRP">
<ie:param name="CLASS" data="class"/>
<ie:param name="GROUP_IN" data="group_in"/>
<ie:param name="GROUP_OUT" data="group_out"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
GROUP_IN
|
|
CLASS
|
GROUP_OUT
|
|
|
CLASS
GROUP_OUT パラメータによって指定された出力グループに含まれているオブジェクトのタイプを指定します。たとえば、Webject が CLASS=MyClassName と GROUP_OUT=data_1 を指定する場合、出力グループの XML 表現には以下のタグが含まれます。
<MyClassName NAME="data_1" TYPE="Object" STATUS="0">
</MyClassName>
このパラメータのデフォルトは Unknown-Class-Name です。これはオプションのパラメータです。
GROUP_IN
要約するグループを指定します。このパラメータには複数の値を指定できます。このパラメータは必須です。
GROUP_OUT
入力グループを要約した結果の名前を指定します。各ノードまたは行には以下の属性があります。
NAME -- GROUP_IN の名前
TYPE -- グループのタイプ (不明、オブジェクト、ステータス、ストリーム)
SIZE -- 現在は 0
COUNT -- グループ内の要素の数
MIMETYPE -- 現在は空の文字列
MESSAGE -- グループに関連付けられたメッセージ (存在する場合)
STATUS -- グループに関連付けられた整数のステータス
このパラメータは必須です。
例
以下の例は、Summarize-Groups を使用して、指定された GROUP_IN に関する記述情報を提供し、結果として生成されたデータを "result" という名前の出力グループに配置します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie"%>
<!-- Summarize the contents of a set of groups. -->
<ie:task uri="com/company/CreateGroup.xml"/>
<ie:task uri="com/company/CreateGroupHr.xml"/>
<ie:webject name="Summarize-Groups" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="GROUP_IN" data="createhrgroup"/>
<ie:param name="CLASS" data="SUMMARIZEGROUPS"/>
<ie:param name="GROUP_OUT" data="result"/>
</ie:webject>
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>
Union-Groups
説明
2 つのグループの和集合 (Union) を識別し、新しいグループに結果を配置します。たとえば、グループ A には要素 u、v、および x が含まれ、グループ B には要素 x、y、および z が含まれます。Union-Groups Webject はグループ A とグループ B のいずれかまたは両方の要素を識別し、結果を使用してグループ C を形成します。この例では、グループ C には要素 u、v、x、y、および z が含まれます。
構文
<ie:webject name="Union-Groups" type="GRP">
<ie:param name="CASE_IGNORE" data="[ TRUE | FALSE]"/>
<ie:param name="CLASS" data=" class"/>
<ie:param name="COMPARISON" data="[ALPHA | NUMERIC]"/>
<ie:param name="GROUP_IN" data="input_groups"/>
<ie:param name="GROUP_OUT" data="output_group_name"/>
<ie:param name="SORTBY" data="attribute"/>
<ie:param name="SORTED" data="[ASC | DESC]"/>
<ie:param name="UNIONBY" data="attribute"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
GROUP_IN
|
|
CASE_IGNORE
|
GROUP_OUT
|
|
CLASS
|
UNIONBY
|
|
COMPARISON
|
|
|
SORTBY
|
|
|
SORTED
|
CASE_IGNORE
大文字と小文字のフラグとして機能します。TRUE を指定すると、大文字と小文字は無視されます。FALSE を指定すると、大文字と小文字は区別されます。このパラメータのデフォルトは FALSE です。このパラメータはオプションです。
CLASS
GROUP_OUT パラメータによって指定された出力グループに含まれているオブジェクトのタイプを指定します。たとえば、Webject が CLASS=MyClassName と GROUP_OUT=data_1 を指定する場合、出力グループの XML 表現には以下のタグが含まれます。
<MyClassName NAME="data_1" TYPE="Object" STATUS="0">
</MyClassName>
このオプションのパラメータのデフォルトは、Unknown-Class-Name です。
COMPARISON
2 つのグループの比較方法を説明します。英数字を比較する ALPHA と数字を厳密に比較する NUMERIC があります。このパラメータのデフォルトは ALPHA です。このパラメータはオプションです。
GROUP_IN
和集合 (Union) を計算するときに使用する 2 つのグループの名前を指定します。
2 つのグループ名を指定すると、GROUP_IN パラメータの値が異なる 2 行を含めることができます。例:
<ie:param name="GROUP_IN" data="group1"/>
<ie:param name="GROUP_IN" data="group2"/>
このパラメータは必須です。
GROUP_OUT
2 つのグループの和集合 (Union) を計算した結果の名前を指定します。このパラメータは必須です。
SORTBY
並べ替えを実行する属性の名前を指定します。このパラメータを指定していない場合は、結果は並べ替えられません。このパラメータはオプションです。
SORTED
結果グループ内の値を並べ替える方法を決定します。SORTBY パラメータで指定した属性によって、並べ替える値が決定します。ASC を指定して昇順で並べ替えるか、または DESC を指定して降順で並べ替えます。このパラメータのデフォルトは ASC です。このパラメータはオプションです。
UNIONBY
比較に使用するフィールドまたは列名を識別します。このパラメータは必須です。
例
以下の例は、NAME 属性によって 2 つの指定された入力グループの和集合 (Union) を特定し、アルファベット順に比較して、"results" という名前の出力グループに配置します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie"%>
<!-- Form a new group from the Union of multiple groups -->
<ie:task uri="com/company/CreateGroup.xml"/>
<ie:task uri="com/company/CreateGroupA.xml"/>
<ie:webject name="Union-Groups" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="GROUP_IN" data="createdgroupa"/>
<ie:param name="UNIONBY" data="NAME"/>
<ie:param name="COMPARISON" data="ALPHA"/>
<ie:param name="GROUP_OUT" data="results"/>
<ie:param name="CLASS" data="ALLEMPLOYEES"/>
</ie:webject>
XOR-Groups
説明
2 つのグループの対称差 (排他的論理和) を識別します。たとえば、グループ A には要素 u、v、および x が含まれ、グループ B には要素 x、y、および z が含まれます。XOR-Groups Webject はグループ A およびグループ B に一意な要素を識別し、結果を使用してグループ C を形成します。グループ A またはグループ B のいずれかには含まれるが両方のグループには含まれないすべての要素が返されます。この例では、グループ C には要素 u、v、y、および z が含まれます。
構文
<ie:webject name="XOR-Group" type="GRP">
<ie:param name="CASE_IGNORE" data="[TRUE | FALSE]"/>
<ie:param name="CLASS" data="class"/>
<ie:param name="COMPARISON" data="[ALPHA | NUMERIC]"/>
<ie:param name="GROUP_IN" data="input_groups"/>
<ie:param name="GROUP_OUT" data="output_group_name"/>
<ie:param name="SORTBY" data="attribute"/>
<ie:param name="SORTED" data="[ASC | DESC]"/>
<ie:param name="XORBY" data="attribute"/>
</ie:webject>
パラメータ
必須
|
選択
|
オプション
|
GROUP_IN
|
|
CASE_IGNORE
|
GROUP_OUT
|
|
CLASS
|
XORBY
|
|
COMPARISON
|
|
|
SORTBY
|
|
|
SORTED
|
CASE_IGNORE
大文字と小文字のフラグとして機能します。TRUE を指定すると、大文字と小文字は無視されます。FALSE を指定すると、大文字と小文字は区別されます。このパラメータのデフォルトは FALSE です。このパラメータはオプションです。
CLASS
GROUP_OUT パラメータによって指定された出力グループに含まれているオブジェクトのタイプを指定します。たとえば、Webject が CLASS=MyClassName と GROUP_OUT=data_1 を指定する場合、出力グループの XML 表現には以下のタグが含まれます。
<MyClassName NAME="data_1" TYPE="Object" STATUS="0">
</MyClassName>
このパラメータのデフォルトは Unknown-Class-Name です。これはオプションのパラメータです。
COMPARISON
2 つのグループの比較方法を説明します。英数字を比較する ALPHA と数字を厳密に比較する NUMERIC があります。このパラメータのデフォルトは ALPHA です。このパラメータはオプションです。
GROUP_IN
対称差を計算するときに使用する 2 つのグループの名前を指定します。
2 つのグループ名を指定すると、GROUP_IN パラメータの値が異なる 2 行を含めることができます。例:
<ie:param name="GROUP_IN" data="group1"/>
<ie:param name="GROUP_IN" data="group2"/>
このパラメータは必須です。
GROUP_OUT
対称差を計算した結果の名前を指定します。このパラメータは必須です。
SORTBY
並べ替えを実行する属性の名前を指定します。このパラメータを指定していない場合は、結果は並べ替えられません。このパラメータはオプションです。
SORTED
結果グループ内の値を並べ替える方法を決定します。SORTBY パラメータで指定した属性によって、並べ替える値が決定します。ASC を指定して昇順で並べ替えるか、または DESC を指定して降順で並べ替えます。このパラメータのデフォルトは ASC です。このパラメータはオプションです。
XORBY
比較に使用する属性の名前を識別します。比較されるグループに同名の属性を持つ要素が含まれている場合、1 つの XORBY 値が指定されます。それ以外の場合は、2 つの XORBY パラメータを指定して、比較されるそれぞれのグループから属性名を指定します。
出力グループに配置する属性名は、使用された最初の XORBY パラメータの属性名です。
このパラメータは必須です。
例
以下の例は、2 つの指定された入力グループの exclusive or を特定し、結果として生成されたデータを "results" という名前の出力グループに配置します。
<%@page language="java" session="false"%>
<%@taglib uri="http://www.ptc.com/infoengine/taglib/core"
prefix="ie"%>
<!-- Form a new group from the "exclusive or" of
two groups -->
<ie:task uri="examples/CreateGroup.xml"/>
<ie:task uri="examples/CreateGroupA.xml"/>
<ie:webject name="XOR-Groups" type="GRP">
<ie:param name="GROUP_IN" data="createdgroup"/>
<ie:param name="GROUP_IN" data="createdgroupa"/>
<ie:param name="XORBY" data="NAME"/>
<ie:param name="GROUP_OUT" data="results"/>
<ie:param name="CLASS" data="partial"/>
</ie:webject>