Ve verzi 4D v19 R2 bylo upraveno výchozí použití znaku konce řádku a značky pořadí bajtů v textových souborech. Ve verzi 4D v19 R3 je toto chování rozšířeno i na soubory XML. Podívejme se, jak.
Tento dřívější příspěvek na blogu byl věnován úpravám týkajícím se výchozího použití znaku konce řádku (EOL) a značky pořadí bajtů (BOM) v textových souborech.
V návaznosti na osvědčené postupy v něm popsané nyní 4D rozšiřuje chování textových souborů na soubory XML zapsané pomocí příkazů DOM a SAX.
NOVÉ CHOVÁNÍ
V systému macOS byly soubory XML při použití příkazů DOM ve výchozím nastavení zapsány s CR jako EOL a při použití příkazů SAX se dvěma znaky CRLF. S novým chováním se soubory XML při použití příkazů DOM a SAX zapisují s LF jako EOL. Tím se standardizuje chování mezi DOM a SAX a zlepší se kompatibilita se systémy pro správu verzí, jako je Git, které musí používat LF jako znak EOL.
V systému Windows nedochází k žádným změnám pro znak EOL, protože CRLF je správně spravován systémy pro správu verzí, jako je Git.
Na všech platformách se nyní soubory XML zapisují bez BOM pomocí příkazů DOM a SAX. Protože se UTF-8 stal téměř standardním formátem textových souborů, BOM se používá stále méně. 4D se tedy stále řídí současnými osvědčenými postupy.
NASTAVENÍ KOMPATIBILITY
Při přesunu stávajícího projektu nebo databáze do 4D v19 R3 se neprojeví žádné změny.
Pokud byl váš projekt nebo databáze vytvořen v dřívější verzi než 4D v19 R2, objeví se následující nastavení kompatibility, které aktivuje nové chování:
⚠️ Při otevření v 4D v19 R3 se projekty nebo databáze vytvořené v 4D v19 R2 chovají jinak, pokud jde o výchozí znak EOL a správu kusovníků pouze v dokumentech XML. Přestože nové chování je aktivní a možnosti kompatibility jsou k dispozici od verze 4D v19 R2 pro textové soubory, pro soubory XML je toto nové chování k dispozici až od verze 4D V19 R3.
MĚJTE VŠE POD KONTROLOU
Pokud chcete sami určit, který znak EOL se má použít při zápisu souboru XML pomocí příkazů DOM nebo SAX, můžete použít příkaz XML SET OPTIONS příkaz nyní připouští nový selektor XML line ending, který může získat následující hodnoty: XML default, XML CR, XML LF nebo XML CRLF.
Stejným způsobem můžete sami určit, zda se do souboru XML vkládá BOM pomocí příkazů DOM nebo SAX, a to nastavením nového selektoru XML BOM v příkazu XML SET OPTIONS příkazu. Tento selektor připouští tři hodnoty: XML default, XML enabled nebo XML disabled.
Tyto dva nové selektory můžete samozřejmě použít s příkazem XML GET OPTIONS příkazem, abyste věděli, které chování je právě používáno.
⚠️ Protože se řádky souboru SAX zapisují přímo při každém příkazu, pokud potřebujete nastavit volby BOM a/nebo EOL, musíte zavolat příkaz XML SET OPTIONS příkaz před prvním příkazem pro zápis SAX.