6.3.2.9 Members of Type x:XamlType and Type Names Must Refer to Valid Type

If [member][value type] is the intrinsic x:XamlType (5.2.19), or if [member] is the intrinsic TypeExtension.TypeName (5.3.20), or ([member] is the intrinsic x:ConstructorArgs (5.3.2) AND [parent object][type] is the intrinsic x:TypeExtension (5.2.3)) then [values] MUST contain just a single text node. Let typeText be that text node’s [text].

Let typeSchema be defined as follows:

  • If typeText is a PrefixedName (as defined in section 4 of [XML Namespaces]) then

    • This node’s [xml namespace mappings] MUST contain an XML Namespace Mapping whose [prefix] matches the typeText’s Prefix (as defined in section 4 of [XML Namespaces]); let nsUri be the [uri] of that XML Namespace Mapping.

    • A schema whose [target namespace] matches nsUri MUST be available. Let memberSchema be the schema.

  • Otherwise, [parent object][xml namespace mappings] MUST contain a mapping whose [prefix] is the empty string, and a schema MUST be available whose [target namespace] matches the [namespace name] of that mapping. let memberSchema be that schema.

memberSchema[types] MUST contain a XamlType Information Item whose [name] matches typeText’s LocalName (as defined in section 4 of [XML Namespaces]) in MemberText. Let targetType be that XamlType Information Item.