XML Schema (XSD)
<xs:complexType>
Defines structured element content: child elements, attributes, mixed text, and derivation from another type.
A named complexType is global and reusable by QName; an anonymous one sits inside an element declaration. Its particle describes child order and occurrence.
Attribute declarations follow the content model. mixed=true permits character data between children but keeps every child-element constraint.
- Format
- XML Schema (XSD)
- Namespace
- XML Schema Definition (XSD)
- Parent
- <xs:schema><xs:element>
- How many
- Any number globally; zero or one as an element's anonymous type.
What our validator does
The XML validator checks well-formedness and selected SOAP or XML Schema vocabulary rules. It reports this content-model defect with a concrete repair while staying silent on rules it cannot establish from one document.
Broken and fixed
Both documents below are well-formed XML — that is the point of this corpus — and both are run through the validator on every test run. The verdicts here are what it returned, not what we expect it to.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:example:catalog">
<xs:complexType name="Product"><xs:attribute name="active" type="xs:boolean" maxOccurs="2"/></xs:complexType>
</xs:schema>xs:attribute cannot use minOccurs or maxOccurs; attributes use the use attribute instead.<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:example:catalog" targetNamespace="urn:example:catalog" elementFormDefault="qualified">
<xs:simpleType name="Sku"><xs:restriction base="xs:string"><xs:minLength value="1"/></xs:restriction></xs:simpleType>
<xs:complexType name="Product"><xs:sequence><xs:element name="sku" type="tns:Sku"/></xs:sequence><xs:attribute name="active" type="xs:boolean"/></xs:complexType>
<xs:element name="product" type="tns:Product"/>
</xs:schema>Where it reaches
- FormatsXML Schema (XSD)The XSD format page places this element in the complete document model.
- NamespacesXML Schema Definition (XSD)The exact namespace URI that gives <xs:complexType> its vocabulary meaning.
- ToolsXSD validatorCheck schema-document structure before validating an instance against it.
Related elements
- <xs:simpleType>Defines an atomic, list, or union value without child elements or attributes, usually by restricting a datatype.
- <xs:sequence>A model group requiring child particles to occur in declared order, subject to each occurrence range.
- <xs:attribute>Declares a simple-typed XML attribute and whether it is optional, required, fixed, or defaulted.
Get started
Bring order to the XML your team can't afford to ignore.
Create a free account and get a private workspace to search, validate, diff, and monitor your XML feeds, sitemaps, schemas, and vendor integrations.