ソース・データには、そのデータがロードされたときにEndeca Serverに取り込まれる完全な(プロトコル、ホスト、ポートおよびパスを含む)URLが含まれる場合があります。たとえば、企業のデータには、その企業のWebサイトのページへのリンクが含まれる場合があります。
完全な値を格納し、その値をハイパーリンクURLとして挿入した場合、その値はエンコードできません。Studioは、属性値を絶対URLの一部として解析しないため、その値をエンコードするとURLが壊れ、リンクが動作しなくなる可能性があります。
たとえば、http://www.mycompany.com/page1はhttp%3A%2F%2Fwww.mycompany.com%2Fpage1になる場合があります。
このため、完全なURLをEndeca Serverデータに格納することはお薦めしません。
コンポーネント内のURLを構成する場合、手動でURLの標準部分をコンポーネントの構成に入力し、エンコードされた属性を問合せ文字列パラメータに使用することが考えられます。次に例を示します。
http://server.mycompany.com/path/to?file={0}
0は選択されたパラメータのリスト内の番号です。
この方法は、すべてのURLの構造が一致する場合のみ使用できます。これに該当しない場合は、他の方法を使用する必要があります。
この方法では、プロトコル、ホスト名、ポート、コンテキスト・パス、デリミタなど、URLの構造部分を1つ以上の属性に格納します。識別子を表すURLのパラメータ部分は、前述の方法1のように、他の属性に格納されます。
コンポーネントにURLを入力する場合、構造属性をエンコードせず、パラメータをエンコードすることが考えられます。次に例を示します。
{{0}}/path/to/{1}?file={2}
0、1および2は選択されたパラメータのリスト内の番号です。
これにより、スクリプトの挿入を回避し、許可されていない文字に対処できます。また、URLの入力時に、使用する属性値を追加でエンコードする必要がなくなります。次に例を示します。
{{0}}
0は選択されたパラメータのリスト内の番号です。