Podpora XML v.net. Podpora XML v.net. nezávislý publicista. Jirka Kosek. http://www.kosek



Podobné dokumenty
API pro práci s XML. Jirka Kosek. Poslední modifikace: $Date: 2014/12/17 17:15:28 $ Copyright Jiří Kosek

Rozhraní pro práci s XML dokumenty. Roman Malo

Obsah přednášky. XML DOM SAX XPath XSL transformace 1/46

Java a XML. 10/26/09 1/7 Java a XML

Ukazka knihy z internetoveho knihkupectvi

Ukládání a vyhledávání XML dat

Další XML technologie

Syntaxe XML XML teorie a praxe značkovacích jazyků (4IZ238)

PHP a XML. Stručný obsah

KAPITOLA 6. XML, XPath a XSLT. Podpora XML v prohlížečích. XML DOM v IE

Tvorba informačních systémů

XML. Aleš Keprt

Práce se soubory opakování

PRG036 Technologie XML

Předmluva k druhému vydání 13. Úvod 17. ČÁST 2 Vytváření dokumentů XML 65

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Tvorba informačních systémů

Jazyk XSL XPath XPath XML. Jazyk XSL - rychlá transformace dokumentů. PhDr. Milan Novák, Ph.D. KIN PF JU České Budějovice. 9.

XQuery. Jirka Kosek. Visual FoxPro DevCon června Praha. Copyright 2005 Jiří Kosek

Oracle XML DB. Tomáš Nykodým

Principy XQuery. funkcionální jazyk vše je výraz, jehož vyhodnocením vznikne určitá hodnota základní typy stejné jako v XML Schema:

TÉMATICKÝ OKRUH Softwarové inženýrství

PRG036 Technologie XML

Maturitní otázky z předmětu PROGRAMOVÁNÍ

Obsah prezentace. Co je to XML? Vlastnosti. Validita

24. XML. Aby se dokument XML vůbec zobrazil musí být well-formed (správně strukturovaný). To znamená, že splňuje formální požadavky specifikace XML.

Komprese a dotazování nad XML dokumenty

NSWI096 - INTERNET JavaScript

1 Webový server, instalace PHP a MySQL 13

XML databáze. Přednáška pro kurz PB138 Moderní značkovací jazyky Ing. Petr Adámek

Dotazování nad stromem abstraktní syntaxe

SCHÉMOVÉ JAZYKY. Přednáška z předmětu KMA/POK. Otakar ČERBA Západočeská univerzita v Plzni

Jemný úvod do spracovania XML

Python XML a Web 1 PGS

Úvod do Web Services

O Apache Derby detailněji. Hynek Mlnařík

Pokročilé techniky tvorby sestav v Caché. ZENové Reporty

MBI - technologická realizace modelu

XML schémata XML teorie a praxe značkovacích jazyků (IZI238)

Profilová část maturitní zkoušky 2017/2018

DATABÁZOVÉ SYSTÉMY. Metodický list č. 1

APLIKACE XML PRO INTERNET

Tvorba informačních systémů

Programování v jazyku C# II. 5.kapitola

VÝVOJ INTERNETOVÝCH APLIKACÍ - VIA

Michal Krátký, Miroslav Beneš

Využití XML v DB aplikacích

Prezentace XML. XML popisuje strukturu dat, neřeší vzhled definice vzhledu:

XSLT extensible Stylesheet Language Transformation

Příklad buňka tabulky

Západočeská univerzita v Plzni Fakulta aplikovaných věd Katedra informatiky a výpočetní techniky. Dokumentace k programu MMDoc

Diplomová práce Generátor XML souborů řízený XSD schématem

Úvod do tvorby internetových aplikací

Michal Krátký. Tvorba informačních systémů, 2008/2009. Katedra informatiky VŠB Technická univerzita Ostrava. Tvorba informačních systémů

Integrovaný informační systém Státní pokladny (IISSP) Dokumentace API - integrační dokumentace

Systém elektronického rádce v životních situacích portálu

1. Webový server, instalace PHP a MySQL 13

1. Úvod do Ajaxu 11. Jak Ajax funguje? 13

UJO Framework. revoluční architektura beans. verze

Část 1 Moderní JavaScript

Tvorba informačních systémů

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY INTERAKTIVNÍ VIZUALIZACE XML INTERACTIVE VISUALIZATION OF XML

Výměnný formát XML DTM DMVS PK

Dotazování nad XML daty a jazyk XPath

základy xml strana 1/34 autor: Ilja Kraval

Zpráva o zhotoveném plnění

Nové jazykové brány do Caché. Daniel Kutáč

RDF a RDF Query. Jakub Nerad 1. prosince Nerad () RDF a RDF Query 1. prosince / 16

Inteligentní podpora navigace na WWW

XML snadno a rychle Martin Kuba, ÚVT MU

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320

Obsah. Úvodem 15. Zaměření knihy 15 Co v knize najdete 15 Doprovodné CD 17 Poděkování 18

Modely datové. Další úrovní je logická úroveň Databázové modely Relační, Síťový, Hierarchický. Na fyzické úrovni se jedná o množinu souborů.

Profilová část maturitní zkoušky 2013/2014

Obsah. Předm luva 3. Obsah \ 6

Značkovací jazyky a spol. HTML/XHTML XML JSON YAML Markdown, Texy!

Architektura softwarových systémů

Použití databází na Webu

Metody tvorby ontologií a sémantický web. Martin Malčík, Rostislav Miarka

Tvorba WWW stránek. přehled technologií používaných na webu principy jednotlivých technologií a možnosti jejich vzájemného kombinování

Střední průmyslová škola elektrotechnická Praha 10, V Úžlabině 320 M A T U R I T N Í T É M A T A P Ř E D M Ě T U

X36DSV 3. cvičení. XML (extensible Markup Language) JavaScript. AJAX (Asynchronous JavaScript and XML) X36DSV. 2007/10 ver.2.0 1

rychlý vývoj webových aplikací nezávislých na platformě Jiří Kosek

Technologie Java Enterprise Edition. Přemek Brada, KIV ZČU

Maturitní témata Školní rok: 2015/2016

Archivace relačních databází

Microsoft Office 2003 Souhrnný technický dokument white paper

XML terminologie a charakteristiky. Roman Malo

Základní zadání IS o ISVS. Sluţba poskytování dat IS o ISVS

Rozhraní SAX, SAX vs. SAX2. Jaroslav Ciml

XML schémata. Agenda. Přínosy použití schématu. Proč potřebujeme schéma dokumentů XML. Tutoriál. Agenda. proč a nač jsou schémata

Platforma.NET 11.NET Framework 11 Visual Basic.NET Základní principy a syntaxe 13

Referenční rozhraní. Jiří Kosek. Ministerstvo informatiky ČR. ISSS 25. března 2003

Kolaborativní aplikace

PA152. Implementace databázových systémů

(Enterprise) JavaBeans. Lekce 7

Kritéria hodnocení praktické maturitní zkoušky z databázových systémů

Z n a č k o v a c í j a z y k y. XSL (extensible Stylesheet Language) XSLT (extensible Stylesheet Language Transformation) XPath

Transkript:

Podpora XML v.net Podpora XML v.net Jirka Kosek nezávislý publicista http://www.kosek kosek.cz

Co nás čeká? Co nás čeká?! podpora XML ve VisualStudio.NET! architektura System.Xml! čtení XML dokumentů! generování XML dokumentů! XSLT transformace! práce s XML schématy

VS.NET jako XML editor VS.NET jako XML editor! téměř vše jsou nebo brzy budou XML dokumenty " konfigurační soubory " datové formáty pro výměnu dat (SOAP) " dokumentace! vývojář potřebuje nástroj pro snadné editování XML dokumentů

VS.NET a XML VS.NET a XML! demo " XML editor " textový a datový pohled " podpora XML schémat " validace " editor XML schémat " vizuální návrh schémat " import z databáze

System.Xml architektura

Čtení XML dokumentů Čtení XML dokumentů! parser " čte XML dokument a zpřístupní jej jako infoset pomocí API! infoset " abstraktní model XML dokumentu " operuje na úrovni elementů, atributů, obsahu elementů,

SAX událostmi řízené čtení! sekvenční čtení dokumentu! rychlé a paměťově nenáročné! jednotlivé části XML dokumentu vyvolávají události, které musíme obsloužit

Proč není SAX v System.Xml! nevýhody " pro jednoduché dokumenty je psaní call- back funkcí zbytečně zdlouhavé " pro složité dokumenty jsou call-back funkce složité a musíme používat mnoho pomocných stavových proměnných " push parser! v.net si můžeme SAX implementovat sami jako obálku nad XmlReaderem

XmlReader! moderní pull-parser parser! části XML dokumentu čteme sekvenčně podle svých potřeb! rychlý a paměťově nenáročný! demo: sečtení faktury

XmlReader princip pull rozhraní:! princip while (reader reader.read Read()) { // zpracování uzlu }! nejdůležitější vlastnosti a metody " NodeType typ uzlu " Name jméno uzlu " ReadString " GetAttribute ReadString() přečtení obsahu el. GetAttribute() přečtení atributu

Rozhraní DOM Rozhraní DOM! celý dokument je zpřístupn stupněn n jako hierarchie objektů (XmlDocument XmlDocument, XmlNode, XmlElement,, )! dokument můž m ůžeme opakovaně a nelineárn rně procházet! dokument můž m ůžeme v paměti modifikovat! velká paměť ěťov ová náro ročnost, pomalejší než událostmi řízen zené! pro chybn pro chybný dokument se stromová reprezentace nevytvoří! standard W3C

Ukázka DOM stromu Ukázka DOM stromu

DOM čtení dokumentu! informace o uzlu " NodeType typ uzlu " Name jméno uzlu " Value hodnota uzlu! pohyb po stromu dokumentu " ParentNode ChildNodes " FirstChild LastChild " PreviousSibling " NextSibling HasChildNodes

DOM rozšíření MS! načtení a uložení DOM stromu do souboru metody Load(), Save()! InnerText textový obsah elementu včetně vnořených uzlů! InnerXML přístup k obsahu elementu jako k fragmentu XML! demo: sečtení faktury pomocí DOM

DOM modifikace dokumentu! vytváření nových uzlů " CreateElement() CreateAttribute() " CreateTextNode() CreateCDataSection() " CreateComment()! modifikace stávajícího DOM stromu " AppendChild() ReplaceChild() " RemoveChild() CloneNode() " InsertBefore() InsertAfter()! demo: vytvoření dokumentu v paměti

XmlDataDocument! potomek XmlDocument " lze s ním manipulovat stejně jako s DOM stromem " lze na něj aplikovat XSLT lze na něj aplikovat XSLT transformace! je dynamicky svázán s je dynamicky svázán s DataSetem " podle potřeby můžeme s relačními daty pracovat jako se záznamy nebo jako s XML dokumentem

XmlWriter! pomocník při generování XML dokumentů! ošetří generování deklarací jmenných prostorů! snadné generování XML ze starších aplikací! demo: zápis XML dokumentu do souboru

XSLT transformace XSLT transformace kdy je potřeba transformovat XML dokumenty " při převodu zpráv mezi IS s jinou strukturou! kdy je potřeba transformovat XML při převodu zpráv mezi IS s jinou strukturou XML zpráv " při zobrazování XML převod do HTML, XHTML, WML, FO,! XSLT " transformační jazyk " standard W3C " XML XML, XML HTML, XML text

XslTransform! velmi rychlá implementace XSLT! vstupní XML " objekt XPathNavigator! styl " obálka nad dalšími druhy XML objektů (např. nad DOM dokumentem) " XmlReader,, URL, XPathNavigator! výstup " XmlWriter,, URL, XmlReader, TextWriter, Stream! demo: převod faktury do HTML

XPathNavigator! umožňuje vyhodnocování XPath výrazů nad XML dokumentem! XPath " jednoduchý dotazovací jazyk " standard W3C Select() výběr množiny uzlů! Select! Evaluate Evaluate() vyhodnocení výrazu! demo: sečtení faktury

Validace XML dokumentů Validace XML dokumentů! validace = ověření shody dokumentu se schématem! podporované jazyky pro popis schématu " DTD, XDR, XSD (XML schémata)! PSVI " Post Schema Validation Infoset " otypovaný infoset " vznikne po validaci infosetu oproti schématu

XmlValidatingReader! validační vrstva nad XmlReaderem! lze použít i pro DOM dokumenty " doc.load Load(XmlValidatingReader XmlValidatingReader)! PSVI je dostupný přes metodu ReadTypedValue()! chyba v dokumentu je událost! schémata mohou být v cache! demo: validace dokumentu

Schema Object Model! SOM objektový model pro práci s XML schématy! čtení, modifikace a zápis schémat! dostupné v System.Xml Xml.Schema! XmlSchemaCollection cache pro XSD a XDR schémata " cache " zrychlení aplikace při opakovaném použití stejného schématu

Podpora standardů W3C Podpora standardů W3C! XmlReader, XmlDocument " XML 1.0 + Namespaces " DOM 2.0! XPathNavigator " XPath 1.0! XslTransform " XSLT 1.0! XmlSchema " XML Schema 1.0 (XSD)

Modulární architektura Modulární architektura! System.Xml je založen na rozhraních a abstraktních třídách " pro části řetězce zpracovávajícího XML si můžeme napsat vlastní implementace a propojit je s ostatními komponentami " podpora katalogových souborů (XmlResolver XmlResolver) " vlastní potomek XmlReader pro čtení z jiných zdrojů dat než je XML "