/xXSDHub

Required and invalid XML attributes

Syntax requires quoted attribute values. After syntax passes, inspect use="required", permitted attribute names, namespaces and datatype restrictions in the XSD. An empty value is different from an absent attribute.

Check quoting, presence and declared types

Syntax requires quoted attribute values. After syntax passes, inspect use="required", permitted attribute names, namespaces and datatype restrictions in the XSD. An empty value is different from an absent attribute.

Reproduced engine diagnostics and complete fixes

Original minimal examples checked on 2 November 2026. Engine wording differs; follow the cause, not a message alone.

libxml2-wasm 0.7.2

attributes construct error
Couldn't find end of Start Tag r line 1

Xerces2-J 2.12.2 / Temurin Java 21.0.13+9-LTS

Element type "r" must be followed by either attribute specifications, ">" or "/>".

lxml 6.0.2 / libxml2 2.14.6

attributes construct error
Couldn't find end of Start Tag r line 1

.NET 10.0.14 / System.Xml

'c' is an unexpected token. Expecting whitespace. Line 1, position 9.

Before: fails

<r a="b"c="d"/>
Open broken example →

After: passes

<r a="b" c="d"/>
Open corrected example →

libxml2-wasm 0.7.2

AttValue: " or ' expected
attributes construct error
Couldn't find end of Start Tag r line 1

Xerces2-J 2.12.2 / Temurin Java 21.0.13+9-LTS

Open quote is expected for attribute "a" associated with an  element type  "r".

lxml 6.0.2 / libxml2 2.14.6

AttValue: " or ' expected
attributes construct error
Couldn't find end of Start Tag r line 1

.NET 10.0.14 / System.Xml

'b' is an unexpected token. The expected token is '"' or '''. Line 1, position 6.

Before: fails

<r a=b/>
Open broken example →

After: passes

<r a="b"/>
Open corrected example →

libxml2-wasm 0.7.2

Element 'r': The attribute 'id' is required but missing.

Xerces2-J 2.12.2 / Temurin Java 21.0.13+9-LTS

cvc-complex-type.4: Attribute 'id' must appear on element 'r'.

lxml 6.0.2 / libxml2 2.14.6

Element 'r': The attribute 'id' is required but missing.

.NET 10.0.14 / System.Xml

The required attribute 'id' is missing.

Before: fails

<r><a/><b/></r>
Open broken example →

After: passes

<r id="x"><a/><b/></r>
Open corrected example →
Complete XSD (before)
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="r"><xs:complexType><xs:sequence><xs:element name="a" type="xs:string"/><xs:element name="b" type="xs:string"/></xs:sequence><xs:attribute name="id" type="xs:string" use="required"/></xs:complexType></xs:element></xs:schema>

libxml2-wasm 0.7.2

Element 'r', attribute 'extra': The attribute 'extra' is not allowed.

Xerces2-J 2.12.2 / Temurin Java 21.0.13+9-LTS

cvc-complex-type.3.2.2: Attribute 'extra' is not allowed to appear in element 'r'.

lxml 6.0.2 / libxml2 2.14.6

Element 'r', attribute 'extra': The attribute 'extra' is not allowed.

.NET 10.0.14 / System.Xml

The 'extra' attribute is not declared.

Before: fails

<r extra="x"/>
Open broken example →

After: passes

<r/>
Open corrected example →
Complete XSD (before)
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="r"><xs:complexType/></xs:element></xs:schema>

libxml2-wasm 0.7.2

Element 'r': The attribute 'id' is required but missing.

Xerces2-J 2.12.2 / Temurin Java 21.0.13+9-LTS

cvc-complex-type.4: Attribute 'id' must appear on element 'r'.

lxml 6.0.2 / libxml2 2.14.6

Element 'r': The attribute 'id' is required but missing.

.NET 10.0.14 / System.Xml

The required attribute 'id' is missing.

Before: fails

<r><a/><b/></r>
Open broken example →

After: passes

<r id="x"><a/><b/></r>
Open corrected example →
Complete XSD (before)
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"><xs:element name="r"><xs:complexType><xs:sequence><xs:element name="a" type="xs:string"/><xs:element name="b" type="xs:string"/></xs:sequence><xs:attribute name="id" type="xs:string" use="required"/></xs:complexType></xs:element></xs:schema>

Repeat this check in your workflow

API, Python CLI and GitHub Actions starter are available for automation. The public API is early access; paid CI authentication and SLA are not offered. Pro: US$19/month, 25-file batches and 10 saved schemas. Team: US$49/month, 100-file batches, 100 schemas and five seats.