Allowing Any Content
It is often necessary to allow users to include any type of markup content they see fit. Also, it is useful to tell the schema processor to validate the content of a particular element against another application’s schema. Incorporating XHTML content into another document is an example of this usage.
These applications are supported by the xs:any element. This element accepts attributes that indicate
what level of validation should be performed on the included content,
if any. Also, it accepts a target namespace that can be used to limit
the vocabulary of included content. For instance, going back to the
address-book example, to associate a rich-text notes element with an address entry, you
could add the following element declaration to the address element declaration:
<xs:element name="notes" minOccurs="0">
<xs:complexType>
<xs:sequence>
<xs:any namespace="http://www.w3.org/1999/xhtml"
minOccurs="0" maxOccurs="unbounded"
processContents="skip"/>
</xs:sequence>
</xs:complexType>
</xs:element>The attributes of the xs:any
element tell the schema processor that zero or more elements belonging
to the XHTML namespace (http://www.w3.org/1999/xhtml) may occur at
this location. Notice that this is done by setting minOccurs to 0 and maxOccurs to unbounded. It also states that these
elements should be skipped. This means that no validation will be
performed against the actual XHTML namespace by the parser. Other
possible values for the processContents attribute are ...