カスタム拡張 XSD ファイルは、カスタム拡張スキーマの定義に使用します。
カスタム拡張 XSD ファイルは、カスタム拡張スキーマの定義 (新しいプロパティー・タイプ、エンティティー・タイプ、およびコントロール・タイプの定義も含む) に使用します。
Virtual member manager は、http://www.yourco.com/wim/ext という名前空間 URI を持つ、wimextension.xsd
という名前のサンプル拡張 XSD ファイルを提供します。
また、Virtual member manager の組み込みスキーマ (wimdatagraph.xsd) をインポートし、Virtual member manager
の組み込み名前空間 (http://www.ibm.com/websphere/wim) とは異なる名前空間を使用すれば、
ユーザー独自の XSD ファイルを作成できます。
注: wimdatagraph.xsd およびサポートしているファイルは、現在 VMM_SCHEMA_HOME/model ディレクトリーにあります。WebSphere Application Server バージョン 7 にアップグレードする前に、既に wimextension.xsd ファイルを使用していた場合は、WebSphere Application Server バージョン 7 にアップグレードした後に wimdatagraph.xsd ファイルの新規ロケーションを指すように、wimextension.xsd ファイルを更新する必要があります。
カスタム拡張 XSD ファイルはどこに置いてもかまいませんが、wimconfig.xml
ファイルでパスを定義して、Virtual member manager がファイルの場所を分かるようにしておく必要があります。
拡張 XSD ファイルを <VMM_HOME>¥model ディレクトリーの下に置く場合は、パスを定義する必要はありません。
注: VMM_HOME はサンプル拡張スキーマ・ファイルが置かれているディレクトリーです。このロケーションは、システムのプロパティー wim.home または user.install.root/config/cells/local.cell/wim のいずれかです。
VMM_SCHEMA_HOME はシステム・スキーマ・ファイルが置かれているディレクトリーです。
このロケーションは、システム・プロパティー wim.schema.home または was.install.root/etc/wim/schema に設定されています。
カスタム拡張 XSD ファイルでは以下の拡張を定義できます。
- 次に示す例にある organizationalStatus プロパティーのような、新しいカスタム・プロパティー。
- 新しいエンティティー・タイプ
とそれらに関連したプロパティー。新しいエンティティー・タイプは、Virtual member manager
の組み込みエンティティー・タイプから拡張する必要があります
(例えば、次に示す例にある、wim:PersonAccount から拡張される EPerson エンティティーなど)。
- 新しいコントロール・タイプ。
新しいコントロール・タイプは、Virtual member manager の組み込みコントロール・タイプから拡張する必要があります。
注: これらの XSD ファイルでは、PersonAccount や Group のような
Virtual member manager の組み込みエンティティー・タイプに、新しいプロパティー・タイプを追加することはできません。
次の例は、wimextension.xsd ファイルの冒頭の構造を示しています。
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="http://www.yourco.com/wim/yourext"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:ecore="http://www.eclipse.org/emf/2002/Ecore"
xmlns:yourext="http://www.yourco.com/wim/yourext"
ecore:package="com.ibm.websphere.wim.model.ext"
xmlns="http://www.ibm.com/websphere/wim">
<xsd:import schemaLocation="wimdatagraph.xsd"
namespace="http://www.ibm.com/websphere/wim"/>
<!-- Custom properties -->
<xsd:element name="organizationalStatus" type="xsd:string"/>
<!-- Custom entities -->
<xsd:complexType name="EPerson">
<xsd:complexContent>
<xsd:extension base="PersonAccount">
<xsd:sequence>
<xsd:element maxOccurs="1" minOccurs="0" ref="yourext:organizationalStatus"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>
複数のカスタム拡張 XSD ファイルが存在する場合 (例えば、MyExt1.xsd、MyExt2.xsd、および MyExt3.xsd) は、これらのファイルをチェーンのように、あるファイルから別ファイルにインポートする必要があります (MyExt3.xsd が MyExt2.xsd をインポートし、MyExt2.xsd が MyExt1.xsd をインポートする)。
そして、最後のファイルが Virtual member manager
の組み込みスキーマをインポートします (MyExt1.xsd が wimdatagraph.xsd をインポートする)。