Úvod do značkovacích jazyků, základní pojmy, logická a fyzická struktura dokumentu
Obsah
Úvod do XML ............................................................................................................2
Co je XML?.......................................................................................................................2
Deset zásad pro specifikaci XML standardů .............................................................................2
Charakteristika XML jazyků .................................................................................................3
Aktuální specifikace (standardy) ............................................................................................3
Aktivity W3C.....................................................................................................................4
Informační zdroje k XML .............................................................................................4
Základní tutoriály a články....................................................................................................4
Portály k XML ...................................................................................................................5
Elektronické konference, news, maillisty k XML ......................................................................5
XML software ....................................................................................................................5
Další odkazy k XML ...........................................................................................................5
Zdroje k XML na FI ....................................................................................................6
Předměty - podzimní semestr.................................................................................................6
Předměty - jarní semestr.......................................................................................................6
Software............................................................................................................................6
Struktura XML dokumentů ...........................................................................................7
Syntaxe XML dokumentů.....................................................................................................7
Struktura XML dokumentu ...................................................................................................7
Fyzická a logická struktura....................................................................................................7
Prvky logické struktury ........................................................................................................8
Elementy ...........................................................................................................................8
Elementy - prázdné..............................................................................................................8
Atributy ............................................................................................................................9
Atributy - zápis...................................................................................................................9
Atributy - příklad ................................................................................................................9
Textové uzly ....................................................................................................................10
Instrukce pro zpracování.....................................................................................................10
Notace ............................................................................................................................10
Komentáře .......................................................................................................................10
Entity..............................................................................................................................11
Uzel dokumentu................................................................................................................11
Podrobněji........................................................................................................................11
Znaky v XML dokumentech........................................................................................11
Znaky v XML dokumentech................................................................................................11
Standardy Unicode, ISO 10646............................................................................................12
1
Úvod do značkovacích jazyků, základní pojmy, logická a fyzická struktura
Kódování Unicode ............................................................................................................12
Přípustné znaky ................................................................................................................12
Úvod do XML
Co je XML?
• XML je standard (přesněji doporučení konsorcia W3C [http://www.w3.org]) jak vytvářet značkovací jazyky.
• Jedná se tedy o metajazyk.
• Ideově vychází ze staršího standardu SGML (Structure Generalized Markup Language) - XML lze jej téměř chápat jako podmnožinu SGML.
Se základním standardem úzce souvisí několik dalších, např. XML Namespaces, Xlnclude, XML Base, XML Infoset.
• Tyto spolu s dalšími standardy (XSLT, XSL-FO, XHTML, CSS...) tvoří "rodinu" standardů XML.
Deset zásad pro specifikaci XML standardů
vyňato z preambule ke specifikaci XML 1.0 (Third Edition)
1. XML shall be straightforwardly usable over the Internet.
XML bude přímočaře použitelné na Internetu.
2. XML shall support a wide variety of applications. XML bude podporovat širokou škálu aplikací.
3. XML shall be compatible with SGML. XML bude kompatibilní se SGML.
4. It shall be easy to write programs which process XML documents. Tvorba programů zpracovávajících XML bude jednoduchá.
5. The number of optional features in XML is to be kept to the absolute minimum, ideally zero. Počet volitelných prvků XML standardu bude málo, optimálně 0.
6. XML documents should be human-legible and reasonably clear. XML dokumenty by měly být "lidsky" čitelné a rozumně jednoduché.
7. The XML design should be prepared quickly.
2
dokumentu
Návrh XML standardu by měl být rychle hotov.
8. The design of XML shall be formal and concise. Návrh XML musí byt formální a správný.
9. XML documents shall be easy to create. XML dokumenty bude možné snadno vytvořit.
10. Terseness in XML literal is of minimal importance. Úspornost XML značkování není podstatná.
Charakteristika XML jazyků
• XML není jeden konkrétní značkovací jazyk; je to specifikace určující, jak mají vypadat značkovací jazyky
• jedná se tedy o "metajazyk"
• konceptuálne jde o zjednodušení SGML standardu, aby se usnadnila práce tvůrcům parserů (analyzátorů) a aplikací
- například v tom, že každý element musí být uzavřen; pak na přečtení struktury dokumentu nemusíme mít DTD
• XML navazuje na úspěšnou implementaci SGML -jazyk HTML; má podobné charakteristiky z hlediska zaměření na internet
Vážné diskuse se vedou okolo binárního XML, což by měla být rovnocenná reprezentace stejného modelu, jako má "textové" XML.
Aktuální specifikace (standardy)
• Momentálně je aktuální specifikací [http://www.w3.org/TR/REC-xml] Extensible Markup Language (XML) 1.0 (Third Edition) W3C Recommendation
4th February 2004, Francois Yergeau, Tim Bray, Jean Paoli, C. M. Sperberg-McQueen, Eve Maler
Jako modernější "úprava" existuje XML 1.1, nyní již jako W3C Recommendation.
• Změny se týkají upřesnění použití Unicode - specifikace nezávisí na konkrétní pevné verzi Unicode, ale vždy na aktuální.
• Producentům dokumentů se doporučuje používat XML 1.0, parsery by měly "rozumět" i verzi 1.1.
3
Úvod do značkovacích jazyků, základní pojmy, logická a fyzická struktura
Aktivity W3C
XML Coordination Group
XML Core Working Group
XSL Working Group
Efficient XML Interchange Working Group
XML Processing Model Working Group
XML Linking Working Group
XML Query Working Group
XML Schema Working Group
pracovní skupina zprostředkující jakési "rozhraní" mezi jednotlivými skupinami aktivity XML a také navenek
vývoj hlavní specifikace {XML) a blízce souvisejících {Namespaces in XML, XML Information Set, XLnclude)
vývoj specifikací Extensible Stylesheet Language (XSL), zahrnující jak XSL Transformations (XSLT), tak XSL Formatting Objects (XSL/FO). Od zač. 2003 přesunuto pod W3C Architecture Domain.
vývoj standardů k efektivní výměně XML dat s důrazem na plat-formovou přenositelnost a nezávislost na jednotlivých výrobcích (součástí je např. XML Binary Characterization)
pracuje na definici skriptovacího jazyka pro XML, na specifikaci operací nad XML daty
dnes již nefungující skupina pracovala na vývoji XML Linking Language (XLink) aXML Pointer Language (XPointer).
pracuje na návrhu XML Query Language {XQuery a XPath - společně s XSL Working Group)
Připravuje specifikace W3CXML Schema k popisu struktury, obsahu, příp. sémantiky XML dokumentů.
Informační zdroje k XML
Základní tutoriály a články
(výborný úvodní) Koskův seriál o XML http://kosek.cz/clanky/swn-xml/index.html
Seriál o XML na ŽIVĚ [http://zive.cz]
(obsahuje hodně příkladů) Zvon
http://www.zvon.org/xxl/XMLTutorial/General/book_en.html
pro
Softwarové
noviny:
XML
Tutorial:
Tutoriál ke XML na W3 Schools [http://www.w3schools.com/xml/default.asp] Microsoft XML Tutorial: http://msdn.niicrosoft.com/xml/tutorial/ 101 XML Tutorials: http://www.xmll01.com/xml/default.asp XML Tutoriály naBeginners.co.uk [http://ttitorials.beginners.co.uk]
4
dokumentu
• Tutoriály naDeveloperlife.com: http://developerlife.com
Portály k XML
World Wide Web Consortium http://www.w3.org/
(W3C)
XML Startkabel http://xml.startkabel.nl - aktuality, odkazy (v angličtině/nizo-
zemštině - obnovováno cca Ix týdně)
Zvon http://zvon.org - asi nejlepší soubor tutoriálů, on-line referencí v
mnoha jazycích, místo je hostované v ČR
XML Cover Pages xml.coverpages.org [http://xml.coverpages.org] - denně aktualizo-
vaný soubor odkazů na články, publikace standardů, software, atd. v oblasti XML. Nejlepší zdroj v této kategorii.
O'Reilly XML.COM http://xml.com - články, tutoriály atd. na vysoké technické úrovni
IBM DeveloperWorks, sekce XML http://ibm.com/developer/xml [http://ibm.com/developer/xml/] -
články, tutoriály, software atd. na vysoké technické úrovni
Elektronické konference, news, maillisty k XML
XML USENET newsgroup news:comp.text.xml
XML-DEV mailto:xml-dev@xml.org - nejznámější maillist ke XML standardům
(webový archív [http://lists.xml.org/archives/xml-dev/])
XML software
IBM AlphaWorks: http://www.alphaworks.ibm.com - alpha-software fy IBM k volnému vyzkoušení
Free XML Software (L. M. Garshol): http://www.garshol.priv.no/download/xmltools/ - asi nejlepší kolekce odkazů na nekomerční XML software
XMLSoftware: http://xmlsoftware.com - asi nejlepší kolekce odkazů na obecný XML software (i komerční)
Další odkazy k XML
• Přehled XML aktivit W3C: http://www.w3.org/XML/Activity - specifikace standardů, konference, odkazy na SW, referenční nástroje, odkazy (obnovováno podle potřeby)
5
Úvod do značkovacích jazyků, základní pojmy, logická a fyzická struktura
What is XML? na XML.COM: http://www.xml.eom/pub/a/98/10/guide0.html - jeden z úvodních článků ke XML
• XML: XML Quick Syntax Reference Card [http://www.mulberrytech.com] - výborná stručná referenční karta
• výborná komentovaná verze téhož na XML.COM (Annotated XML): http://www.xml.eom/pub/a/axml/axmlintro.html
Zdroje k XML na Fl Předměty - podzimní semestr
PA165 Vývoj programových systémů v jazyce Java - T. Pitner, P. Adámek, J. Pavlovic a další
PB029 Elektronická příprava dokumentů - P. Sojka
PV110 Softwarové elektronické publikace I - P. Sojka
PV173 Seminář Laboratoře zpracování přirozeného jazyka
Předměty - jarní semestr
IB047 Úvod do korpusové lingvistiky a počítačové lexikografie - K. Pala, P. Rychlý
PA105 Technologie informačních systémů II - J. Král
PA154 Nástroje pro korpusy - P. Rychlý
PA156 Dialogové systémy -1. Kopeček
PV174 Laboratoř elektronických a multimediálních aplikací - P. Sojka
PV030 Textové informační systémy - P. Sojka
PV113 Softwarové elektronické publikace II - P. Sojka
Software
Balík XSLT2 (Jan Pavlovic) Návod k modulu xslt2
[http://www.fi.muni.cz/~xpavlov/xml/index.html]
6
dokumentu
Struktura XML dokumentů
Syntaxe XML dokumentů
Základním požadavkem kladeným na každý XML dokument je, že musí být dobře utvořen (well-formed).
Toto nastane, právě když:
1. Obsahuje prolog (hlavičku) a právě jeden, tzv. kořenový element.
Dále může před a po kořenovém elementu obsahovat instrukce pro zpracování, komentáře atd.
(Mi s c)
2. It meets all the well-formedness constraints given in the specification.
Musí vyhovovat všem pravidlům pro správné utvoření uvedeným ve specifikaci.
3. Each of the parsed entities which is referenced directly or indirectly within the document is well-formed.
Totéž platí pro každou analyzovanou (parsovanou) entitu přímo nebo nepřímo odkazovanou v dokumentu.
Podívejte se na tutoriál základů XML v češtině
[http ://zvon. org/xxl/XMLTutorial/General_cze/book. html]
Rejstřík (glossary) pojmů ke XML [http://zvon.org/index.php?nav_id=173]
Struktura XML dokumentu
U XML dokumentů rozlišujeme strukturu fyzickou a logickou.
• Aplikační programátory zajímá většinou jen struktura logická,
• autory obsahu, XML editorů, procesorů, atd. může zajímat i struktura^yz/c/rá.
Fyzická a logická struktura
Struktura logická dokument členíme na elementy (jedné z nich je kořenový - root), jejich atri-
buty, textové uzly v elementech, instrukce pro zpracování, notace, komentáře
Struktura fyzická jeden logický dokument může být uložen ve více fyzických jednotkách - en-
7
Úvod do značkovacích jazyku, základní pojmy, logická a fyzická struktura
titách; vždy alespoň v jedné - tzv. entitě dokumentu - document entity.
Prvky logické struktury
• uzel (element, atribut, textový uzel, instrukce pro zpracování, komentář) element
• atribut textový uzel
• instrukce pro zpracování komentář
Dále viz např. Koskův seriál o XML na http://kosek.cz/clanky/swn-xml/index.html
Elementy
Jsou objekty ohraničené počáteční a koncovou značkou - start and end tag, např.:
textový uzel - obsah elementu p
Elementy - prázdné Je-li obsah prázdný (žádné dceřinné elementy ani textový obsah), pak píšeme pouze značku prázdného elementu - empty element tag, např.:jednadve
|