What is a chameleon schema?
A chameleon schema is an XML Schema that does not have a target namespace. It is called a chameleon schema because, when it is included into another schema, it takes on the target namespace of the latter schema. This allows schemas to be built in modular pieces and reused in other schemas without the confusion of having multiple namespaces in those schemas. In the following example, Chameleon.xsd is included in A.xsd via the xs:include element. As a result, element C is in the http://www.foo.org/ namespace. Notice that Chameleon.xsd does not use the targetNamespace attribute, while C.xsd does.