6.4 Mapping SIF XML to the eDirectory Schema

SIF XML uses names that are hierarchical. Element names include the path to the element, relative to the data object. For example, the name of the City element in the StudentPersonal object is StudentAddress/Address/City.

The Identity Manager driver for SIF uses the path name as the element name, for example, Name/FirstName and Name/LastName. SIF element names are case sensitive. SIF application names in the Schema Map policy must use the path name. An example segment from a Schema Map policy follows.

<attr-name class-name="User">
     <nds-name>Given Name</nds-name>
     <app-name>Name/FirstName</app-name>
</attr-name>
<attr-name class-name="User">
     <nds-name>Surname</nds-name>
     <app-name>Name/LastName</app-name>
</attr-name>
<attr-name class-name="User">
     <nds-name>Telephone Number</nds-name>
     <app-name>PhoneNumber</app-name>
</attr-name>

SIF elements can contain attributes. Usually the attribute qualifies the element. For example, the element Name has the attribute Type=“02.” The value “02” qualifies the name as the legal name. SIF attribute values are enumerated in the SIF Implementation Specification or some other recognized standard. The SIF shim does not filter out these attributes or use schema mapping to change their names. The driver simply passes them through so the style sheets can process them. The attribute names are passed through using the namespace “sif” so they are not confused with Identity Manager reserved words. For example:

<add-attr attr-name="OtherId" sif:Type="06">
     <value type="string">360367</value>
</add-attr>
<add-attr attr-name="Name/LastName" sif:Type="02">
     <value type="string">Appleseed</value>
	</add-attr>
<add-attr attr-name="Name/FirstName" sif:Type="02">
     <value type="string">Johnny</value>
</add-attr>
 	<add-attr attr-name="TelephoneNumber" sif:Format="NA" sif:Type="HP">
     <value type="string">123-456-7890</value>
</add-attr>

Some SIF elements use an attribute field to specify the element value. For these special attributes, the driver takes the attribute value and passes it to eDirectory™ as the element value. Attributes whose values are used as the element value are specified in the sifobjects.conf file. Two examples are:

<StatePr Code="PA"/>
<Country Code="US"/>

These attributes are changed to:

<add-attr attr-name="StudentAddress/Address/StatePr" sif:Code="PA">
     		<value type="string">PA</value>
	</add-attr>	<add-attr attr-name="StudentAddress/Address/Country" sif:Code="US">
     <value type="string">US</value>
	</add-attr>