substitutionGroup Property
Returns a top-level ISchemaElement
object. This object is the <element>
declaration that the substitutionGroup
attribute of the current object refers to. The substitution group provides an option for the declaration of an element. For example, if you have the following two elements, <A name='eleA' />
and <B name='eleB' substitutionGroup ="eleA"/>
, you could use the <B>
element anywhere in the instance document where the <A>
element was expected. This might work well in a <sequence>
declaration.
Example
The following example shows an XML Schema document and the instance documents that would be valid for its declaration.
<xsd:schema xmlns:xsd= 'http://www.w3.org/2001/XMLSchema'>
<xsd:element name='eleA' type='xsd:string' />
<xsd:element name='eleB' substitutionGroup
='eleA' />
<xsd:element name='eleSeq'>
<xsd:complexType>
<xsd:sequence>
<xsd:element ref='eleA' />
<xsd:element ref='eleB' />
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
This instance document would validate:
<eleSeq> <eleA>a string</eleA> <eleB>another string</eleB> </eleSeq>
This instance documents would also validate:
<eleSeq> <eleB>a string</eleB> <eleB>another string</eleB> </eleSeq>
Implementation Syntax
var oSubstitutionGroup = oISchemaAttribute.substitutionGroup;
Parameters
None.
Return Values
- oSubstitutionGroup
- An object. The top-level
ISchemaElement
object.
Implementation Syntax
Set oSubstitutionGroup = oISchemaAttribute.substitutionGroup
Parameters
None.
Return Values
- oSubstitutionGroup
- An object. The top-level
ISchemaElement
object.
Implementation Syntax
HRESULT get_substitutionGroup(ISchemaElement** substitutionGroup);
Parameters
- substitutionGroup [out,retval]
- An object. The
ISchemaElement
object.
Return Values
- S_OK
- The value returned if successful.
- E_POINTER
- The value returned if the
substitutionGroup
parameter is NULL. - E_FAIL
- The value returned if something else is wrong.
To view reference information for Visual Basic or C/C++ only, click the Language Filter button in the upper-left corner of the page.
See Also
Applies to: ISchemaElement Interface