XBUP - Dokumentace: Jazykové blokyTento dokument je součástí dokumentace projektu eXtensible Binary Universal Protocol. Obsahuje popis jazykových bloků.
1. Úvod
2. Jazyková data
2.1. Jazyk
2.1.1. Index jazyka - RFC
2.1.2. Název jazyka v ASCII
2.1.3. Multijazyková data
2.2. Kódování znaků
2.1.1. Index kódování IANA
2.1.2. Název kódování v ASCII
2.3. Komentářový blok
3. Reference
Jazykové bloky umožňují reprezentovat data související s mluveným a psaným jazykem, symbolickým vyjádřením významu slov a kategorizací. Později by součástí mohl být i univerzální jazyk a definice jeho významu a způsobu použití.
Jazyková data zahrnují informace související s mluveným slovem, jako jsou text, jazyk, kódování textu, identifikace mluvčího, deklarace významu slov, překládání jazyků a podobně.
Catalog: XBUP_Protocol/Society/Language/
Tento blok slouží pro určení jazyka, ve kterém je uložen text, případně obrázek, nebo jiná jazykově závislá data, jako například mluvené slovo, či záznam znakové řeči. Pro základní verzi byla použita dostupná definice čísel pro jednotlivé světové jazyky. Další verze a indexy bloků jsou rezervovány pro budoucí použití.
Dalšímy bloky bude možné specifikovat podmínky, za jakých je daný jazyk použit, například jako mluvené slovo u videa atp.
Tento blok využívá pro specifikaci jazyka normalizovaných čísel RFC LanguageNumber, uvedených na internetu, například i na stránkách IANA.
Catalog: XBUP_Protocol/Society/Language/RFCLanguage
UBNatural - MajorLanguageIndex
UBNatural - MinorLanguageIndex
Druhou možností je použít RFC LanguageString a pomocí ASCII uvést název kódování. Preferuje se samozřejmě číselná varianta, protože název kódování je možné zobrazit až na aplikační úrovni.
Kódy jsou obvykle ve tvaru xx_YY, kde xx je kód jazyka a YY je kód země.
Catalog: XBUP_Protocol/Society/Language/RFCASCIILanguage
UBPointer - StringPointer
Tento blok je základním odvozením seznamu jednoduchých identifikátorů jazyka. Vhodný je tedy v případě, kdy data používají více jazyků zároveň.
Catalog: XBUP_Protocol/Society/Language/MultiLanguage
UBList - Languages
Kódování textu je v podstatě povinná položka pro obecný textový jazykový řetězec. Na vyšší úrovni protokolu by měla být později definována tabulka znaků a jejich grafické vyjádření, stejně jako rovnost znaků pro různá kódování. Pro definici kódování je možné použít jeden z následujících způsobů.
Catalog: XBUP_Protocol/Society/Language/Encoding/
Následující blok pro určení kódování textu vychází z dobře zavedeného standardu IANA pro indexy použitých kódování.
Catalog: XBUP_Protocol/Society/Language/Encoding/
UBNatural - IANAEncodingMajorNumber
UBNatural - IANAEncodingMinorNumber
Tato verze využívá specifikace kódování podle jednoznačné identifikace znakovým řetězcem v kódování ASCII také dle standardu IANA.
UBPointer - IANAEncodingStringPointer
Textový řetězec je "význam" kódovaný pomocí slov nad nějakou abecedou. Při ukládání textu je nutné vzít do úvahy podporu libovolného jazyka, kódování a dalších vlastností textu. V případě text se jedná o jistou formu komprese grafických symbolů a významu.
Základní blok pro obecný text je následující (jedná se o transformační blok):
Catalog: XBUP_Protocol/Society/Language/Text/String
UBPointer - StringDataPointer
UBPointer - EncodingPointer
UBPointer - LanguagePointer
Zřejmě není vhodné použít přímo nějakou hodnotu pro kódování, ale použít externí blok, který pak bude možné případně definovat jako automatický, nebo jej odkazovat od jinud.
Jinou možností je vytvořit bloky pro řetězce s pevně danými hodnotami kódování, kde by se vlastně hodnota kódování zahrnuta do kódu bloku. A vytvořit například bloky ASCIIString a UTFString.
Textový řetězec s kódováním ASCII vznikl zafixováním hodnoty kódování v bloku String.
Catalog: XBUP_Protocol/Society/Language/Text/ASCIIString
UBPointer - StringDataPointer
UBPointer - LanguagePointer
Podobně jako v předchozím případě je tentokrát hodnota kódování pevně stanovena na UTF-8.
Catalog: XBUP_Protocol/Society/Language/Text/UTF8String
UBPointer - StringDataPointer
UBPointer - LanguagePointer
Přímou aplikací textového bloku je blok pro realizaci textového komentáře. Ten je možné vložit na libovolnou úroveň kamkoliv do souboru. Komentářových bloků bude pravděpodobně více typů podle způsobu jejich možného zobrazení.
[IANACharset] IANA MIBEnum Character Set Registry, URL: ftp://ftp.isi.edu/in-notes/iana/assignments/character-sets
[RFC] Request For Comment, URL: http://www.rfc.org
[ASCII] American Standard for Code Interchange
[UTF-8] UCS Transformation Format, URLs: http://www.faqs.org/rfcs/rfc2279.html
[ISO 639.2] Codes for the Representation of Names of Languages, URL: http://www.loc.gov/standards/iso639-2/php/English_list.php
[IANA Root-Zone] Root-Zone Whois Information, URL: http://www.iana.org/root-whois/index.html
Homepage: http://xbup.sf.net
License: GNU Free Documentation License (FDL)
Latest update: 2007-03-13