SIFWorks ADK 2.0
DatamodelDTD Class
NamespacesEdustructures.SifWorks.DatamodelDatamodelDTD

[This is preliminary documentation and is subject to change.]

Metadata for the Schools Interoperability Framework (SIF)
Declaration Syntax
C#Visual BasicVisual C++
public class DatamodelDTD : SdoLibraryImpl
Public Class DatamodelDTD _
	Inherits SdoLibraryImpl
public ref class DatamodelDTD : public SdoLibraryImpl
Members
Remarks

SIFDTD defines global {@linkplain com.edustructures.sifworks.ElementDef} constants that describe SIF Data Objects, elements, and attributes across all supported versions of the SIF Specification. The ADK uses this metadata internally to parse and render SIF Data Objects. In addition, many of the framework APIs require that the programmer pass an ElementDef constant from the SIFDTD class to identify an object, element, or attribute.

ElementDef constants are named [PARENT_]ENTITY, where PARENT is the name of the parent element and ENTITY is the name of the element or attribute encapsulated by the ElementDef. Some examples of ElementDef constants defined by this class include:

IElementDefDescription
SIFDTD.STUDENTPERSONAL
Identifies the StudentPersonal data object
SIFDTD.SCHOOLINFO
Identifies the SchoolInfo data object
Many of the Adk's public interfaces require an ElementDef constant to be passed as a parameter. For example, the first parameter to the SetSubscriber(ISubscriber, IElementDef, ProvisioningFlags) method is an IElementDef:
CopyC#
myZone.setSubscriber( SIFDTD.BUSINFO, this, ADKFlags.PROV_SUBSCRIBE );
ElementDef also identifies child elements and attributes as demonstrated by the Query.AddCondition method:
CopyC#
Query query = new Query( SifDtd.STUDENTPERSONAL );
query.AddCondition( SifDtd.STUDENTPERSONAL_REFID, Condition.EQ, "4A37969803F0D00322AF0EB969038483" );

SDO Libraries

ElementDef metadata is grouped into "SDO Libraries", which are organized along SIF Working Group boundaries. SDO Libraries are loaded into the SifDdt class when the Adk is initialized. All or part of the metadata is loaded into depending on the flags passed to the Initialize(SifVersion, SdoLibraryType) method, metadata from one or more SDO Libraries may be loaded. For example, the following call loads metadata for the Student Information Working Group Objects and Transportation And Geographic Information Working Group Objects (Common Elements and Infrastructure Working Group Objects metadata is always loaded

CopyC#
Adk.Initialize( SiFVersion.LATEST, SdoLibraryType.Student | SdoLibraryType.Trans )

If an given SDO Library is not loaded, all of the SIFDTD constants that belong to that library will be

CopyC#
null
and cannot be referenced. For example, given the SDO Libraries loaded above, attempting to reference the
CopyC#
SIFDTD.LIBRARYPATRONSTATUS
object from the Library Automation Working Group would result in a NullPointerException:

CopyC#
SifDtd.LIBRARYPATRONSTATUS.Name;
Inheritance Hierarchy
Object
SdoLibraryImpl
 DatamodelDTD

Assembly: Edustructures.SifWorks.Adk (Module: Edustructures.SifWorks.Adk) Version: 2.0.0.10