====== Převod mezi CSTS a FS ====== ===== Převod z CSTS do FS ===== Převést [[Formát CSTS|formát CSTS]] do [[Formát FS|FS]] potřebujeme např. proto, že nástroje Petra Pajase ([[Tred]]) jsou při čtení CSTS příliš přísné a přijmou pouze soubor přesně odpovídající specifikaci. Součástí specifikace je i kódování ISO 8859-2, takže pokud se od specifikace odchylujete pouze kódováním UTF-8, máte stejně smůlu. Pokud převádíte formát z výše uvedeného důvodu, tak vám moc nepomůže, že Petr napsal nástroj **any2any** (viz např. http://ufal.mff.cuni.cz/pdt/Utilities/cstsfs/index.html), s jehož pomocí lze formáty převádět: tento nástroj totiž rovněž na vstupu kontroluje správnost CSTS. Další související nevýhodou je to, že si musíte nejdříve nainstalovat program nsgmls, který je za tyto kontroly zodpovědný. Alternativou je nástroj **cstsfs.pl** Dana Zemana. Jeho nevýhodou je naprostá nezdokumentovanost, ale milovníci dobrodružství si ho mohou zkopírovat z ''/home/zeman/bin'' a svá data si s ním po libosti zprznit: cstsfs.pl < soubor.csts > soubor.fs Tento program postaví stromovou strukturu podle hodnot CSTS prvku (nikoli ). Pokud chcete postavit strom podle jiného prvku, v současné době vám nezbývá než upravit zdroják programu. Na jeho začátku si najděte přiřazení do proměnné $xmlrodic a místo "g" tam strčte např. "MDg src=\"dz\"" (jinými slovy vše, co bude uvnitř ostrých závorek v počáteční značce prvku). Názvy atributů uzlu ve FS program volí většinou podle názvu příslušného CSTS prvku. Nepřekládá je podle zvyklostí v Pražském závislostním korpusu (např. nepřepisuje jako "lemma", ale jako "l"). Nevadí mu, pokud slovo má v CSTS další hodnoty, se kterými definice CSTS nepočítá. Pokud se na řádku slova (řádek začínající '']'' nebo '']'') objeví neznámý prvek SGML, program z něj ve FS udělá další atribut.