The actual length is greater than the MaxLength value
A value is longer than its type allows.
The 'note' element is invalid - The value 'far too long text' is invalid according to its datatype 'Short' - The actual length is greater than the MaxLength value.
Why it happens
- Text longer than the format allows: a name, an address line, a free-text note.
- Whitespace or a line break inside the element, which counts towards the length.
How to fix it
Shorten the value to the type's xs:maxLength. The actual length is less than the MinLength value is the same check for a minimum.
.NET throws an XmlSchemaValidationException at the first schema error unless XmlReaderSettings.ValidationEventHandler is set, which then receives every one with its line and position. A well-formedness error is an XmlException and ends reading whatever the settings.
The same problem in xmlvalid
xmlvalid validates with libxml2, which reports it as [facet 'maxLength'] The value exceeds the allowed length. It checks the whole document in your browser and lists every schema error with its line and column, not only the first.
Element 'note': [facet 'maxLength'] The value has a length of '17'; this exceeds the allowed maximum length of '10'.
Example
Validated against order.xsd, below.
<order currency="EUR">
<id>A-1</id>
<qty>1</qty>
<note>far too long text</note>
</order>
<order currency="EUR">
<id>A-1</id>
<qty>1</qty>
<note>short</note>
</order>
order.xsd
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="order">
<xs:complexType>
<xs:sequence>
<xs:element name="id" type="xs:string"/>
<xs:element name="qty" type="xs:int"/>
<xs:element name="status" type="Status" minOccurs="0"/>
<xs:element name="code" type="Code" minOccurs="0"/>
<xs:element name="note" type="Short" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="currency" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
<xs:simpleType name="Status">
<xs:restriction base="xs:string">
<xs:enumeration value="open"/>
<xs:enumeration value="paid"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Code">
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z]{3}-[0-9]{4}"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="Short">
<xs:restriction base="xs:string">
<xs:maxLength value="10"/>
</xs:restriction>
</xs:simpleType>
</xs:schema>