高度なカスタマイズ > Info*Engine ユーザーガイド > Task Webject リファレンス > Group Webject > Create-Group
  
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=MyClassNameGROUP_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&apos;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>