Import skončí chybou parseru:
The value of attribute "filter" associated with an element type "faktura-vydana" must not contain the '<' character.
Chyba nepřichází z ABRA Flexi, ale už od XML parseru — znak < nesmí být v hodnotě atributu uveden přímo, protože by v XML zahajoval nový element.
V XML: entity
V atributech i v textu elementů se znaky se zvláštním významem zapisují entitami:
Znak | Zápis v XML |
|
|
|
|
|
|
|
|
Filtr v importním XML pak vypadá takto:
<winstrom version="1.0">
<faktura-vydana filter="id < 100">
<popis>hromadná změna</popis>
</faktura-vydana>
</winstrom>
V adrese: procenta
V URL se naopak entity nepoužívají — tam se kóduje procentovým zápisem, tedy %3C místo < a %20 místo mezery. Jsou to dva různé mechanismy, které se nezaměňují:
URL: /c/{firma}/faktura-vydana/(datSplat%3Enow()).xml
XML: <faktura-vydana filter="datSplat > now()">
💡 Kódování si nemusíte dělat ručně — knihovny pro práci s XML entity doplní samy a pro URL má většina jazyků hotovou funkci. Ruční skládání řetězců je nejčastější zdroj těchto chyb.
