# cvc-type.3.1.3 / cvc-datatype-valid.1.2.1: хибне значення

Дві діагностики Xerces можуть описувати одне неправильне значення на різних рівнях. cvc-datatype-valid.1.2.1 указує на недопустиме лексичне подання атомарного типу, а cvc-type.3.1.3 повідомляє про невалідне значення елемента загалом.

Текст two неможливо прочитати як xs:integer. Для count Xerces видає і проблему типу даних, і ширшу діагностику елемента; інші рушії можуть показати лише одну. Заміна two на 2 виправляє подання числа, залишаючи оголошення незмінним і не послаблюючи його до звичайного рядка.

1. У машинне поле потрапило оформлення для людини. Слова, роздільники тисяч і локальна десяткова пунктуація можуть порушувати правила XSD-типу.
2. Замість числа або дати надіслано порожній чи пробільний елемент. Сама наявність тега не створює допустимого типізованого значення.
3. Виробник та одержувач використовують різні контракти типів. Звичайний текст ідентифікатора може бути несумісним із типом вибраної версії схеми.

Читайте найранішу діагностику типу або фасети перед загальним повідомленням про значення. Витягніть точний текст після розкриття XML-сутностей і обробки пробілів, тоді порівняйте його з простим типом та базовим визначенням. Виправляйте серіалізацію поля у джерелі: перехід від xs:integer до xs:string вимикає числову перевірку замість ремонту експорту.

Тут рушій уже вибрав правильне оголошення count, тому відсутній namespace не є причиною. Простори імен важливі, коли xsi:type обирає інший тип або завантажено чужий словник. Якщо названий тип несподіваний, спочатку простежте його вибір, а вже потім змінюйте подання значення.

Подвійний звіт Xerces не означає дві незалежні пошкоджені величини. У журналі обидва повідомлення стосуються count і зникають після однієї зміни тексту. Якщо базовий тип уже приймає дані, перевірте pattern, enumeration та length: числове перетворення не розв’язує кожен випадок cvc-type.3.1.3.


## Invalid datatype / cvc-type.3.1.3 — Broken

```xml
<count>two</count>
```

```xml
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="count" type="xs:integer"/>
</xs:schema>
```

[Open broken pair](https://xsdhub.com/?example=parser-datatype&variant=bad#workbench)

## Invalid datatype / cvc-type.3.1.3 — Corrected

```xml
<count>2</count>
```

```xml
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="count" type="xs:integer"/>
</xs:schema>
```

[Open corrected pair](https://xsdhub.com/?example=parser-datatype&variant=good#workbench)

### Apache Xerces-J 2.12.2

```text
cvc-datatype-valid.1.2.1: 'two' is not a valid value for 'integer'.
cvc-type.3.1.3: The value 'two' of element 'count' is not valid.
```

Corrected: PASS.

### .NET 8.0.33 · System.Xml.Schema

```text
The 'count' element is invalid - The value 'two' is invalid according to its datatype 'http://www.w3.org/2001/XMLSchema:integer' - The string 'two' is not a valid Integer value.
```

Corrected: PASS.

### XSDHub libxml2/WASM 0.7.2

```text
Element 'count': 'two' is not a valid value of the atomic type 'xs:integer'.
```

Corrected: PASS.

### XSDHub xmlschema 4.3.1 · XSD 1.0

```text
invalid literal for int() with base 10: 'two'
```

Corrected: PASS.

Saxon EE was not available; no measured Saxon wording is claimed.

[All parser codes](https://xsdhub.com/learn#parser-error-codes)
[Download engine evidence](https://xsdhub.com/parser-error-examples/engine-evidence.json)
