1 / 21

Cvičení 5: XML a regulární výrazy

Cvičení 5: XML a regulární výrazy. David Pejčoch. 5 .10.2010. XML ( Extensible Markup Language ). Semistrukturovaná data Obecný značkovací jazyk Vyvinut a standardizován konzorciem W3C

quant
Download Presentation

Cvičení 5: XML a regulární výrazy

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Cvičení 5: XML a regulární výrazy David Pejčoch 5.10.2010

  2. XML (ExtensibleMarkupLanguage) • Semistrukturovaná data • Obecný značkovací jazyk • Vyvinut a standardizován konzorciemW3C • Zjednodušená podoba staršího jazyka SGML (Standard GeneralizedMarkupLanguage) = prostředek pro definování univerzálního formátu výměny informací • Umožňuje snadné vytváření konkrétních značkovacích jazyků pro různé účely a různé typy dat • Formát pro výměnu dat mezi aplikacemi • Odděluje data od způsobu jejich prezentace • Snadno čitelný a editovatelný

  3. Příklady aplikace XML (1) • XHTML– XML alternativa jazyka HTML. • RDF– ResourceDescription Framework umožňuje popsat metadata a zaznamenat ontologie, např. popsat obsah HTML stránky. • RSS – Rodina XML formátů, sloužící pro čtení novinek na webových stránkách. • SMIL – Synchronized Multimedia IntegrationLanguage, popisuje multimedia pomocí XML.

  4. Příklady aplikace XML (2) • SVG – ScalableVectorGraphicsje jazyk pro popis dvourozměrné vektorové grafiky, statické i dynamické (animace). • MathML – MathematicalMarkupLanguageje značkovací jazyk pro popis matematických vzorců a symbolů pro použití na webu. • DocBook – Sada definic dokumentů a stylů pro publikační činnost.

  5. Příklady aplikace XML (3) • Jabber – Protokol pro Instant messaging. • SOAP – Protokol pro komunikaci mezi Webovými službami. • Office Open XML, OpenDocument– Souborový formát určený pro ukládání a výměnu dokumentů vytvořených kancelářskými aplikacemi.

  6. Příklad RDF <?xmlversion="1.0"?><rdf:RDFxmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"xmlns:cd="http://www.recshop.fake/cd#"><rdf:Descriptionrdf:about="http://www.recshop.fake/cd/EmpireBurlesque">  <cd:artist>Bob Dylan</cd:artist>  <cd:country>USA</cd:country>  <cd:company>Columbia</cd:company>  <cd:price>10.90</cd:price>  <cd:year>1985</cd:year></rdf:Description>...</rdf:RDF> Zdroj: http://www.w3schools.com/rdf/rdf_example.as

  7. Uzel - základní prvek XML

  8. Struktura XML dokumentu Instrukce pro zpracování; deklarace souboru <?xmlversion="1.0" encoding="utf-8"?> <!–Vygenerováno z relační databáze v 19/10/2009 14:51:00--!> <shop> <item id = "p156"> <product>káva NicaMex -… </product> <description> Tato směs velmi kvalitních odrůd kávy … </ description> <package unit="grams">200</package> <url>http://www.fair-bio.cz/…</url> <availability unit="days">0</availability> <imgurl>http://www.fair-bio.cz/ … .jpg</imgurl> <price currency="CZK">69.72</price> <vat>9</vat> </item> <item id="p19"> … </item> </shop> Komentář Otevírací tag elementu Ukončovací tag elementu

  9. Struktura XML dokumentu <?xmlversion="1.0" encoding="utf-8"?> <!– Vygenerováno z relační databáze v 19/10/2009 14:51:00--!> <shop> <itemid = "p156"> <product>káva NicaMex -… </product> <description> Tato směs velmi kvalitních odrůd kávy … </ description> <package unit="grams">200</package> <url>http://www.fair-bio.cz/…</url> <availability unit="days">0</availability> <imgurl>http://www.fair-bio.cz/ … .jpg</imgurl> <price currency="CZK">69.72</price> <vat>9</vat> </item> <item id="p19"> … </item> </shop> Atributový uzel Text

  10. Zásada tvorby XML dokumentu • Do atributů by se měly ukládat "atomické" hodnoty, které mají roli metadat • Rezervované znaky, především <>&, převádíme na entity, nebo text vložíme do CDATA sekce (Pozn.: CDATA se použije typicky pokud je součástí XML dokumentu nějaký zdrojový kód) • Volíme co nejjemnější členění, každá informace do samostatného elementu

  11. Co je ještě nutné vědět o XML? • Definice datových schémat pro XML dokumenty => definice vlastních elementů (ne jako v HTML) • DTD (Document Type Definition) – značně omezené možnosti => ustupuje • XSD (XMLSchemaDefinitionLanguage) • Způsob transformace z jednoho schématu do druhého: • XSL (ExtensibleStylesheetLanguage) • XSLT (ExtensibleStylesheetLanguageTransformation) • XSL-FO (XSLFormatingObject) • Soubor může obsahovat právě jeden strom => elementy jsou v pozici rodič, potomek, sourozenci

  12. Stromová reprezentace XML Zdroj: http://www.w3schools.com/xml/xml_tree.asp

  13. Co všechno definuje XML schéma? • povolené elementy, • atributy, • přípustné kombinace elementů a atributů, • vlastní datové typy odvozené od existujících typů, • definuje otázku násobnosti potomků Jmenný prostor (namespace) (atribut xmlns: v úvodním tagu rodičovského elementu) Validace: Proces kontroly, zda XML dokument odpovídá schématu

  14. Způsob zpracování XML dokumentu XML dokument Parser Aplikace pracující s XML dok. • Načtení • Formální kontrola • Dekompozice • Příprava na zpracování

  15. Datové typy ve schéma • Jednoduché – pro skalární hodnoty • Komplexní – pokud element obsahuje další elementy nebo atributy • Cca 43 zabudovaných datových typů (STRING, BOOLEAN, DECIMAL, FLOAT, ...), další lze vytvářet: • restrikcí stávajících - integritní omezení => zúžení oboru přípustných hodnot (omezení délky, využití masky s pomocí regulárních výrazů) • rozšíření • vytvoření seznamu • sjednocení typů

  16. Příklady restrikcí - regex <xs:element name="password">  <xs:simpleType>    <xs:restriction base="xs:string"><xs:patternvalue="[a-zA-Z0-9]{8}"/>    </xs:restriction>  </xs:simpleType></xs:element>

  17. Část 2: Zpracování přirozeného textu pomocí regulárních výrazů a jejich rozšíření

  18. Stručný úvod do světa regulárních výrazů Speciální textové řetězce popisující masku, které má odpovídat verifikovaný řetězec Používají se v mnoha programovacích jazycích (Perl, Java, C#, JavaScript, PHP, ...) Obecně jsou POSIX a Perl-compatible Na co je použiji? • Extrakce údajů z textu • Modifikace údajů • Vkládání a nahrazování

  19. Syntaxe regulárních výrazů (výběr nejpoužívanějších konstruktů) Kompletní výpis: http://www.regularnivyrazy.info/download/regularni-vyrazy-prehled.pdf

  20. Regex Coach

  21. Některé nástroje pracující s regexp

More Related