# src-resolve: неможливо знайти компонент схеми

Це діагностика компіляції XSD: схема називає тип, елемент чи групу, яку валідатор не може знайти. Зміна значень екземпляра XML не створить відсутнє визначення в наборі компонентів контракту.

Елемент amount посилається на MoneyTypo, тоді як у тій самій схемі визначено Money. Виправлена пара залишає XML зі значенням 12.50 незмінним і править лише посилання типу в XSD. Так відокремлено помилку символу схеми від неправильного десяткового подання суми.

1. QName містить друкарську помилку або називає компонент іншого виду. Іменований елемент не замінює простий тип через збіг локальних назв.
2. Префікс посилання прив’язано до неправильного URI або бракує import. QName має вказувати на простір імен потрібного оголошення.
3. Залежність не завантажено або вибрано інший вхідний XSD. Синтаксично правильний ланцюжок include/import не гарантує доступності кожного файла.

Спочатку скомпілюйте схему й визначте невідомий QName у першому повідомленні src-resolve. Знайдіть оголошення потрібного виду та порівняйте URI з локальною назвою. Для спільного targetNamespace перевіряйте include, для іншого простору — import і його namespace. Завантажте залежності повним локальним проєктом, а тоді переходьте до перевірки екземпляра XML.

Наш випадок спричинений написанням, а не різними URI: Money та виправлене посилання належать компонентам без namespace. У схемах із targetNamespace зазвичай застосовують пов’язаний із ним префікс у type або ref. Саме оголошення префікса дає прив’язку QName, проте не імпортує визначення іншого словника.

Кнопка виправленого зразка завантажує іншу XSD поряд із XML. Порівняння тільки видимої суми пропустить справжнє виправлення. Не створюйте порожній тип-заглушку лише для задоволення пошуку: він може непомітно послабити грошові обмеження й залишити задумане визначення незавантаженим. Після компіляції обов’язково перевірте самі дані.


## Unknown schema type / src-resolve — Broken

```xml
<amount>12.50</amount>
```

```xml
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="amount" type="MoneyTypo"/>
  <xs:simpleType name="Money">
    <xs:restriction base="xs:decimal"/>
  </xs:simpleType>
</xs:schema>
```

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

## Unknown schema type / src-resolve — Corrected

```xml
<amount>12.50</amount>
```

```xml
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="amount" type="Money"/>
  <xs:simpleType name="Money">
    <xs:restriction base="xs:decimal"/>
  </xs:simpleType>
</xs:schema>
```

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

### Apache Xerces-J 2.12.2

```text
src-resolve: Cannot resolve the name 'MoneyTypo' to a(n) 'type definition' component.
```

Corrected: PASS.

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

```text
Type 'MoneyTypo' is not declared.
```

Corrected: PASS.

### XSDHub libxml2/WASM 0.7.2

```text
element decl. 'amount', attribute 'type': The QName value 'MoneyTypo' does not resolve to a(n) type definition.
```

Corrected: PASS.

### XSDHub xmlschema 4.3.1 · XSD 1.0

```text
unknown type 'MoneyTypo':

Schema component:

  <xs:element xmlns:xs="http://www.w3.org/2001/XMLSchema" name="amount" type="MoneyTypo" />

Path: /xs:schema/xs:element

Schema URL: schema.xsd

```

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)
