SIFWorks ADK 2.0
IElementDef Interface
NamespacesEdustructures.SifWorksIElementDef

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

Encapsulates metadata for a SIF element or attribute.
Declaration Syntax
C#Visual BasicVisual C++
public interface IElementDef
Public Interface IElementDef
public interface class IElementDef
Members
All MembersMethodsProperties



IconMemberDescription
Children
Gets all of the metadata objects defined as children of this metadata element

ClassName
The name of the class that encapsulates elements of this type.

DefineVersionInfo(SifVersion, String, Int32, Int32)
Add a version-specific definition of the tag to this IElementDef.

DoNotEncode
Determines if the content of this element can be automatically encoded when written to an output stream by the SIFWriter class when automatic encoding is enabled (the default behavior in ADK 1.5.1.0 and later). Encoding converts all invalid XML characters to valid XML entities. Some elements contain XML content and should not be encoded.

EarliestVersion
Gets the earliest version of SIF that supports the element or attribute described by this metadata

Field
Determines if this metadata describes a SIF field; that is, an element that has no children

FQClassName
Gets the fully-qualified class name of the class that encapsulates elements of this type.

GetSequence(SifVersion)
Gets the sequence number

GetSQPPath(SifVersion)
Constructs a path to this element/attribute in the SIF Query Pattern format. The path is comprised of element tag and attribute names, which are dependent on the version of SIF specified. The root-level SIF Data Object element is excluded from the path.

GetVersionInfo(SifVersion)
Gets version-specific information for this element

HasSimpleContent
Returns true if the element referenced has simple content

IsAttribute(SifVersion)
Determines if this metadata describes an XML attribute

IsCollapsed(SifVersion)
Determines if this element should not be written in this version of SIF, but that rather it's children should be written in it's place. This is helpful for cases where a set of elements valid for one version of SIF were moved inside of a new container element in a subsequent version (e.g. StudentPersonal/Email )

IsDeprecated(SifVersion)
Determines if this metadata describes a deprecated element or attribute in this version of SIF

IsRepeatable(SifVersion)
Determines if this metadata describes a repeatable element in this version of SIF

IsSupported(SifVersion)
Determines if this metadata describes an element that is contained in the specified version of SIF.

LatestVersion
Gets the latest version of SIF that supports the element or attribute described by this metadata

Name
Gets the version-independent name of this element or attribute. To get the actual tag name, which is SIF version-dependent, call the tag method.

Object
Determines if this metadata describes a root-level SIF Data Object

Package
Gets the namespace of the class that encapsulates elements of this type.

Parent
Gets the parent metadata object, or null if this metadata describes a root-level SIF Data Object element

Root
Gets the root metadata object

SDOPath
Constructs a path to this IElementDef object, comprised of the names of its ancestry delimited by an underscore. The path can be used to lookup an IElementDef object via the LookupElementDef(String) method. Note the strings used in the path generated by this method are not necessarily the same as the element or attribute tag names used in SIF XML messages. Rather, they are version-independent names typically equal to the tag name of the element in SIF 1.0r1.

Tag(SifVersion)
Gets the tag name

TypeConverter
The Type converter suitable for parsing the SIF XML value of this element into the native data type

Remarks

The ElementDef interface is fundamental to programming with the ADK. It's primarily used internally for parsing and rendering of SIF Data Objects across all versions of the SIF Specification, but is also used by in ADK programming to uniquely identify SIF Data Objects, elements, and attributes.

An instance of IElementDef captures the following characteristics of each XML element and attribute in the SIF data model:

  • The internal ADK name of the element/attribute
  • The version-dependent tag name of the element/attribute
  • The first version of SIF the element/attribute appears in
  • The version-dependent sequence number of the element/attribute
  • Flags, such as whether an element is repeatable

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