Express (Distributed operating systems), v8.0 > Secure applications and their environment > Authenticate users > Select a registry or repository > Manage realms in a federated repository > Virtual member manager > Reference > Program model > XML schema files


Custom extension XSD files

Custom extension XSD files are used for defining custom extension schema.

Custom extension XSD files are used for defining custom extension schema, including new property, entity and control types. Virtual member manager provides a sample extension XSD file called wimextension.xsd with the namespace URI, //publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/ ://www.yourco.com/wim/ext. We can create your own XSD files, as long as you import the virtual member manager built-in schema (wimdatagraph.xsd) and have a namespace different from the virtual member manager built-in namespace, //www.ibm.com/websphere/wim.

The wimdatagraph.xsd and supporting files are now located in VMM_SCHEMA_HOME/model directory. If you were already using the wimextension.xsd file before upgrading to WAS version 7, update the wimextension.xsd file to point to new location of the wimdatagraph.xsd file after upgrading to WAS version 7.

We can put your custom extension XSD files in any location, however, define the path in the wimconfig.xml file so that virtual member manager can find the files. If you put your extension XSD files under <VMM_HOME>\model directory, you do not need to define the path.

VMM_HOME is directory where the sample extension schema file is located. This location is either the system property wim.home or user.install.root/config/cells/local.cell/wim. VMM_SCHEMA_HOME is the directory where the system schema files are located. This location is set to either the system property wim.schema.home or was.install.root/etc/wim/schema.

The following extensions can be defined in custom extension XSD files:

In these XSD files, new property types cannot be added to the virtual member manager built-in entity types like PersonAccount or Group.

The following example shows the beginning structure of the wimextension.xsd file.

<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema targetNamespace="//publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/  ://www.yourco.com/wim/yourext"
            xmlns:xsd="//publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/  ://www.w3.org/2001/XMLSchema"
            xmlns:ecore="//publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/  ://www.eclipse.org/emf/2002/Ecore"
            xmlns:yourext="//publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/  ://www.yourco.com/wim/yourext"
            ecore:package="com.ibm.websphere.wim.model.ext"
            xmlns="//www.ibm.com/websphere/wim">
<xsd:import schemaLocation="wimdatagraph.xsd"
            namespace="//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> 

If multiple custom extension XSD files exist (for example, MyExt1.xsd, MyExt2.xsd and MyExt3.xsd), they must import from one to another one like a chain (MyExt3.xsd imports MyExt2.xsd, MyExt2.xsd imports MyExt1.xsd). The last one imports the virtual member manager built-in schema (MyExt1.xsd imports wimdatagraph.xsd).

Parent topic: XML schema files



+

Search Tips   |   Advanced Search