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
The wimxmlextension.xml file
The wimxmlextension.xml file is used to store the schema of the custom entity types and property types in XML format.
The schema of this XML file is defined in wimschema.xsd.
When exploiters call the virtual member manager create API to create new property and entity types at run time, the schema of these new types is written to the wimxmlextension.xml file in XML form. When virtual member manager starts up, after loading the schema from XSD files, virtual member manager reads this XML file and dynamically adds the schema defined in this file to the ECore model in memory.
We can also directly add new schema to this XML file at deployment time.
The following extensions can be defined in the wimxmlextension.xml file:
- New properties types such as the cellPhone property in the example that follows.
- New entity types and associated properties. New entity types have to extend from the virtual member manager built-in entity types (for example, the ContactPerson entity that has a facsimileTelephoneNumber property and ContactPerson entity extend from wim:PersonAccount in the example that follows).
- New property types that are added to the virtual member manager built-in entity types and new entity types. (for example, the property cellPhone is added to both PersonAccount and ContactPerson in the example that follows).
The following is a sample wimxmlextension.xml file:
<?xml version="1.0" encoding="UTF-8"?> <sdo:datagraph xmlns:xsi="//www.w3.org/2001/XMLSchema-instance" xmlns:sdo="commonj.sdo" xmlns:wim="//www.ibm.com/websphere/wim"> <!-- Define a new entity type called ContactPerson in a different namespace --> <wim:entitySchema nsPrefix="myprefix" nsURI="//publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/ ://www.yourco.com/yournamespace" entityName="ContactPerson" parentEntityName="PersonAccount"> <wim:propertyNames>facsimileTelephoneNumber </wim:propertyNames> </wim:entitySchema> <!-- Define a new property type called cellPhone and add it to both ContactPerson and PersonAccount.--> <wim:propertySchema nsURI="//publib.boulder.ibm.com/infocenter/wasinfo/v8r0/index.jsp?topic=/ ://www.yourco.com/wim/yourext" dataType="STRING" multiValued="true" propertyName="cellPhone"> <wim:applicableEntityTypeNames>ContactPerson </wim:applicableEntityTypeNames> <wim:applicableEntityTypeNames>PersonAccount </wim:applicableEntityTypeNames> <wim:metaData name="repositoryPropertyName" value="cellularTelephoneNumber "/> </wim:propertySchema> </sdo:datagraph>For more information about using the propertySchema and extensionPropertySchema data objects, see the section, Extend property schema in the topic, Program prerequisites. Also read about Configure a property extension repository in a federated repository in the WebSphere Application Server information center.
Parent topic: XML schema files