KSEF-XSD-STRUCTURE: Kolejność elementów w Naglowek
Naglowek używa xsd:sequence, więc pozycja elementów jest częścią kontraktu XML. Najpierw występuje KodFormularza, następnie WariantFormularza i DataWytworzeniaFa; SystemInfo jest opcjonalne i występuje później. Testowa faktura błędna zamienia kolejność wymaganych dzieci przy zachowaniu ich wartości. Raport zatrzymuje się na WariantFormularza, ponieważ w tym miejscu spodziewa się jeszcze KodFormularza. Nie oznacza to, że liczba 3 jest niedozwolona: problemem jest kolejność, nie słownik wariantu. Przy tworzeniu XML z obiektu lub mapy nie polegaj na alfabetycznym sortowaniu kluczy. Zbuduj nagłówek w kolejności deklaracji schematu. Poprawiona para przywraca kolejność bez zmiany daty, numeru wariantu i atrybutów formularza. Jeśli po uporządkowaniu pojawią się kolejne komunikaty wartości, rozpatrz je osobno; pierwszy błąd strukturalny nie daje pełnej informacji o dalszej zawartości dokumentu.
Deklaracja XSD i ograniczenia
Deklaracja WariantFormularza: typ lokalny, wystąpienia 1..1. Ograniczenia: base=xsd:byte. Liczba wartości w pokazanych wyliczeniach: 1.
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="WariantFormularza">
<xsd:simpleType>
<xsd:restriction base="xsd:byte">
<xsd:enumeration value="3" />
</xsd:restriction>
</xsd:simpleType>
</xsd:element>Kontrolowana para przykładów
Własna para syntetyczna KSEF-XSD-STRUCTURE: błędny pełny XML nie przechodzi kontroli, a poprawiony dokument przechodzi ten sam schemat FA(3) 1-0E. Zmienione pole: Naglowek/WariantFormularza.
Błędny fragment
<ns0:WariantFormularza xmlns:ns0="http://crd.gov.pl/wzor/2025/06/25/13775/">3</ns0:WariantFormularza>
Poprawny fragment
<ns0:WariantFormularza xmlns:ns0="http://crd.gov.pl/wzor/2025/06/25/13775/">3</ns0:WariantFormularza>
Powiązane pola i objaśnienia
Komunikat i miejsce w raporcie
Element '{http://crd.gov.pl/wzor/2025/06/25/13775/}WariantFormularza': This element is not expected. Expected is ( {http://crd.gov.pl/wzor/2025/06/25/13775/}KodFormularza ).Raport JSON: errors[].code wskazuje KSEF-XSD-STRUCTURE, errors[].message zachowuje angielski tekst, a errors[].line podaje wiersz, jeżeli silnik go udostępnia. Interfejs pokazuje komunikat w sekcji wyników kontroli XSD.