XSLTからUDDIへのマッピングによって、UDDIへのXSLTの自動的な公開、および特定のXSL Transformation文書に基づいた正確かつ柔軟性なUDDI問合せが可能になります。
UDDIでは、XSLTによって受入れおよび生成が行われる入力形式および出力形式に関する情報、およびXSLTにインポートされるその他のXSLスタイルシートに関する情報が保存されます。入力形式は、XMLスキーマによって定義されます。出力形式は、XMLスキーマ(それが表しているtModel)によって定義するか、またはユーザーの出力の定義を表す一般的なtModelによって入力することができます。UDDIでは、スタイルシート(html、xml、text)で使用される出力メソッドを保存することもできます。
XSLT Publishing APIでは、入力および出力のタイプごとにスタイルシートを検索して、特定の文書の処理に適したXSLまたは一部の必要な形式を生成することができるXSLを特定することができます。
スタイルシートの入力形式の問合せ。スタイルシートを選択します。これらのスタイルシートでは、指定したスキーマが受け入れられます。名前空間URIを使用するか、またはUDDIでXMLスキーマtModel表現のtModelKeyを直接使用することによって、スキーマを指定することができます。
namespace: スキーマによって定義されたXML名前空間のURI。
uddi:tModelKey: XMLスキーマを表すtModelのtModelKey。
レジストリに公開されたエンティティにXSLTの内容をマップする方法が記述されます。
outputMethod: XSLT仕様によって定義された1つ以上の出力メソッド。出力メソッドが指定されていない場合にAPIによって置き換えられるデフォルト値は、xmlです。
この構造は、UDDIレジストリで検出された、XSLT文書によって参照されている特定のXML名前空間UIに対する一致を表しています。
namespace: XSLTで参照されているXML名前空間URI。
schemaLocation: 名前空間に対するXMLスキーマの明示的な場所。オプション。
candidates: tModelに対して可能なマッピング。詳細は、「xslt2uddi:tModelRef」を参照してください。
XSLTで生成可能なリソースのタイプ。現在はxmlのみがサポートされており、XMLスキーマtModelによって入力されます。
uddi:tModelKey: 出力形式の正式な記述を表すtModel。
XSLT文書によって生成された出力に基づいて結果を選択する問合せパラメータ。
uddi:tModelKey: 出力形式の正式な記述を表すtModelのキー。現在は、XMLスキーマを表すtModelのみがサポートされています。
namespace: XSLT文書によって生成される出力要素を定義するXML名前空間の名前空間URI。
この構造では、find_xsltMappingの結果が保持されます。また、XML名前空間(そのスキーマ)のマッピング、およびリクエストに渡されるXSLTにインポートされるスタイルシートのマッピングが記述されます。最後に、XSLT文書自体と一致するtModelがマッピングでレポートされます。マップされた%xsltと一致するtModelごとに、特定のtModelおよびその関連データに対するXSLT文書の内容の推奨マッピングが示されます。
ネストされたcontentMapping構造は、一部の既存のtModelに対してではなく、新しいtModelに対してXSLT文書をマップする場合の推奨方法の1つです。既存のtModelへのマッピングは、xsltMappingListのネストされた構造に記述されます。
XML名前空間URIまたはインポータXSLT文書には、UDDIへの複数のマッピングが含まれる場合があります。この場合、マッピング・アルゴリズムでマッピングを決定できなかったことを示すため、xsltMappingListまたはcontentMappingのエントリにtModelKeyが含まれない場合があります。このような不明確さは、コール元が解決する必要があります。
この構造では、XMLスキーマ文書またはXMLスタイルシート文書を表すtModelへの参照が保持されます。
uddi:name: tModelの名前。この名前は、APIレスポンス・メッセージ内に常に存在します。
uddi:tModelKey: XMLスキーマまたはXSLT文書を表すtModelKey。
この構造は、find_xslt問合せで使用されます。
location: XSLT文書の場所。
uddi:tModelKey: XSLT文書を表すtModelのtModelKey。
参照されたXMLスキーマの記述。
namespace: XSLT文書から参照されている名前空間。
location: 名前空間に対するXMLスキーマの明示的な場所(XSLTで指定されている場合)。オプション。
この構造では、UDDIレジストリ内のXSLT文書の表現が保持されます。
uddi:name: XSLT文書tModelの名前。
uddi:tModelKey: XSLT文書を表すtModelのtModelKey。
location: XSLT文書のURI。
この構造では、UDDIエンティティにインポートされたXSLT文書のマッピングが保持されます。
location: インポートされたXSLT文書の場所。
xslt2uddi:tModelRef: インポートされたXSLT文書と一致するtModelへの参照。
この構造は、インポートされたXSLT文書とUDDIエンティティとの一致を表しています。
location: インポートされたXSLT文書の場所。
candidates: UDDI tModelに対して可能なマッピング。詳細は、「xslt2uddi:tModelRef」を参照してください。
この構造は、find_xslt操作によって戻されたリストからの項目を表しています。
location: XSLT文書の場所。
uddi:name: XSLT文書の名前。
uddi:tModelKey: XSLT文書を表すtModelのキー。
この操作では、検索条件を満たすXSLT tModelが検索されます。コール元は、listHead属性およびmaxRows属性を使用して、結果のリストを介して結果またはページの数を制限できます。これらのセマンティクスは、UDDI Inquiry APIのfind_tModelの場合と同様です。
approximateMatch findQualifierが存在する場合は、入力検索条件として渡される名前およびURIのリストにワイルド・カード文字を使用できます。ownEntities findQualifierが使用されている場合は、操作によって、認証済のユーザーが所有しているエンティティのみが戻されます。その他のエンティティは、他の検索条件に一致している場合でも戻されません。
uddi:authInfo: このオプションの引数は、uddi:authTokenの文字列表現です。
location: XSLT文書の場所。
uddi:find_tModel: ユーザー定義の条件を使用して検索をさらに制限する汎用問合せパラメータ。
xslt2uddi:findQualifiers: 検索修飾子を参照。
この操作では、指定したXSLT文書の内容に適したマッピングが検索されます。
マッピング・アルゴリズムでは、必要でないかぎり、不明確なマッピングのレポートは試行されません。XML名前空間またはインポートされたXSLT文書に対する一部の参照が不明確な場合は、マッピング・アルゴリズムによって、すでに公開されたデータが考慮され、XSLT文書を表す既存のtModelで使用されるtModelKeyが推奨されます。したがって、すでに公開されたXSLT文書のtModelが存在し、そのtModelによってXML名前空間の特定のtModelKeyが参照されている場合、XML名前空間に対して一致するエンティティがさらに存在する可能性があっても、XsltMappingListではそのtModelKeyがレポートされます。
uddi:authInfo: 認証。
location: XSLT文書の場所。
xslt2uddi:findQualifiers: 検索修飾子を参照。
このAPIコールは、成功時にxslt2uddi:resultMappingを戻します。
uddi:authInfo: このオプションの引数は、uddi:authTokenの文字列表現です。
uddi:tModelKey: 既存のXSLT tModelを表す必須のキーの値。
このAPIコールは、xslt2uddi:xsltDetailListを戻します。
XSLT情報をUDDIレジストリに公開するリクエスト。
publishingMethodによって、UDDIレジストリでXSLT文書を公開する方法が定義されます。schemaMethod属性およびimportMethod属性によって、XMLスキーマ参照を公開する場合のデフォルト、またはインポートされたXSLT文書への参照がそれぞれ定義されます。これらのデフォルトは、渡されたcontentMappingのエントリで上書きできます。
レジストリで、公開中のXSLT文書を読み取る必要があります。UDDIレジストリでXSLTを使用できない場合、操作は失敗します。
コール元が、一部の参照されているXML名前空間URIまたはインポートされたXSLT文書に対してマッピングを指定せず、一致するUDDIエンティティがさらに存在する可能性がある場合、そのマッピングは不明確であるとみなされるため、コールは失敗します。このような場合の公開のために明確な指示を指定しておくことは、コール元の責任となります。
マッピング・エントリに公開メソッドとしてcreateが指定された場合、XSLT文書の特定の部分を表す新しいエンティティが作成されます。この場合、マッピングのtModelKey(存在する場合)を使用して、Publisher-Assigned Keyが新しいエンティティに対して提供されます。
マッピング・エントリにignore公開メソッドが指定された場合、UDDIレジストリに情報は伝播されません。このような情報は、既存のXSLT文書のtModelを更新すると消去されます。つまり、XML名前空間が無視されると、公開操作によって、XSLT文書と無視されるXMLスキーマとの間の関連が削除されます。要素またはタイプが無視されると、表されているtModelエンティティがUDDIから削除されます。
uddi:authInfo(オプション): 認証。
location: XSLT文書のXSLTの識別(場所)。
uddi:tModelKey: 更新されるtModelKey。
uddi:name: tModelの名前(オプション)。
publishingMethod: XSLT自体の公開メソッド(create、update)。デフォルトはupdateです。
schemaMethod: 参照されているスキーマの公開メソッド(create、reuse、ignore)。デフォルトはreuseです。
このAPIは、成功時にxsltDetailを戻します。
XSLT文書が非公開にされます。
UDDIレジストリの内容に対して、このXSLT表現に対する参照が存在するかどうかがチェックされます。存在する場合、操作は失敗し、参照しているエンティティのtModelKeyを明示的に示す処理レポートが戻されます。XSLT間の参照のみがチェックされます(uddi:uddi.org:resource:reference taxonomy)。
uddi:authInfo: このオプションの引数は、uddi:authTokenの文字列表現です。
uddi:tModelKey: XSLTのtModelKey。
このAPIは、成功時にxsltDetailを戻します。
XSLT2UDDI APIエンドポイントは、http://<ホスト名>:<ポート>/<コンテキスト>/uddi/xslt2uddiで確認できます。