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, http://www.yourco.com/wim/ext. You 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, http://www.ibm.com/websphere/wim.
<?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="Person"> <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).