[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: xsi:type usage for Extensions
WRRP v1/v2 has a conformance statement that requires all extensions to
explicitly declare their type using the xsi:type attribute.
Can someone clarify why this is required? In general, the type
information can be derived by using the element name and namespace
information, as in
<v1:extensions>
<ext:foo xmlns:ext="foo:ext:namespace">
<ext:bar/>
</ext:foo>
</v1:extension>
When added, an xsi:type would essentially carry the same information, e.g.
<v1:extensions>
<ext:foo xmlns:ext="foo:ext:namespace" xsi:type="ext:FooType">
<ext:bar/>
</ext:foo>
</v1:extension>
The only time xsi:type is required when the XML is using polymorphism as in
<v1:extensions>
<ext:foo xmlns:ext="foo:ext:namespace" xsi:type="ext:FooSubType">
<ext:bar/>
</ext:foo>
</v1:extension>
where FooSubType is extending FooType. In other cases, xsi:type is not
required for processing the XML.
Moreover, the xsi:type attribute cannot be set when the type is
anonymous (i.e. when the element declares the type inline).
IMO, this conformance statement is not required. Any comments?
Regards,
Subbu
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]