A derived simple type must match any base type's pattern.
The effect is like an "and" of all the patterns in the derivation path.
This is the opposite of multiple patterns in one simple type--which is an or:
<xs:simpleType name="CommonAbsoluteUri"> <xs:restriction base="xs:anyURI"> <xs:pattern value="http:.*"/> <xs:pattern value="https:.*"/> <xs:pattern value="ftp:.*"/> <xs:pattern value="file:.*"/> </xs:restriction> </xs:simpleType>