[This is preliminary documentation and is subject to change.]
Encapsulates metadata for a SIF element or attribute.
| C# | Visual Basic | Visual C++ |
public interface IElementDef
Public Interface IElementDef
public interface class IElementDef
| All Members | Methods | Properties | |||
| Icon | Member | Description |
|---|---|---|
| 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
|
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