Download - Укрощение XML
![Page 1: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/1.jpg)
http://exist-db.org
Укрощение XML
Дмитрий Шабанов
eXist-db.organimotron.org
twitter.com/shabanovd
![Page 2: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/2.jpg)
http://exist-db.org
Когда используешь XML, то НЕ НАДО РАБОТАТЬ
XML НЕ РЕШИТ Ваших проблем
Мифы и реальность
![Page 3: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/3.jpg)
http://exist-db.org
XML — это формат представления
данных и структуры
Мифы и реальность
![Page 4: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/4.jpg)
http://exist-db.org
Стандарты
договоренность достигнутая и принятая сообществом
Мифы и реальность
![Page 5: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/5.jpg)
http://exist-db.org
XML, HTML5, URI, PNG ......
XQuery,XSL, XSL-FO, XProc, …
...XForms, VoiceXML, …
MathML, ...
Стандарты - W3C
![Page 6: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/6.jpg)
http://exist-db.org
DocBookDITA
OpenDocumentXACML
….
Стандарты - OASIS
![Page 7: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/7.jpg)
http://exist-db.org
<article> <title>Writing DocBook articles</title> <artheader> <abstract>This article describes how you can use DocBook to develop PDF documents and will cover tools you need to edit DocBook articles and tools to translate them to PDF documents. </abstract> <author> <firstname>Egon</firstname> <surname>Willighagen</surname> </author> <date></date> </artheader></article>
Стандарты - DocBook
![Page 8: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/8.jpg)
http://exist-db.org
Стандарты - DocBook
![Page 9: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/9.jpg)
http://exist-db.org
Трансформации
http://nwalsh.com/docbook/procdiagram/
![Page 10: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/10.jpg)
http://exist-db.org
<xf:input id="first" ref="firstname">
<xf:label>Firstname:</xf:label>
<xf:hint>enter your firstname</xf:hint>
<bf:data bf:readonly="false" bf:required="true" bf:type="string"/>
</xf:input>
XForms
![Page 11: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/11.jpg)
http://exist-db.org
XSLTForms
BetterFORM
XForms
![Page 12: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/12.jpg)
http://exist-db.org
Язык запросов
XQuery
XQuery
![Page 13: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/13.jpg)
http://exist-db.org
<PLAY> <TITLE>The Tragedy of Hamlet, Prince of Denmark</TITLE>
... <ACT> <TITLE>ACT I</TITLE> <SCENE> <TITLE>SCENE I. Elsinore. A platform before the castle.</...
... <SPEECH> <SPEAKER>BERNARDO</SPEAKER> <LINE>Who's there?</LINE> </SPEECH> <SPEECH> <SPEAKER>FRANCISCO</SPEAKER>
...
XQuery
![Page 14: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/14.jpg)
http://exist-db.org
<html><head/><body> { for $act in doc("hamlet.xml")//ACT let $speakers := distinct-values($act//SPEAKER) return <div> <h1>{ string($act/TITLE) }</h1> <ul> { for $speaker in $speakers return <li>{ $speaker }</li> } </ul> </div> } </body></html>
XQuery
![Page 15: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/15.jpg)
http://exist-db.org
<html><head/><body> <div> <h1>ACT I</h1> <ul> <li>BERNARDO</li> <li>FRANCISCO</li>
... </ul> </div>
... </body></html>
XQuery
![Page 16: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/16.jpg)
http://exist-db.org
Язык запросов и
функциональный язык программирования
XQuery
XQuery
![Page 17: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/17.jpg)
http://exist-db.org
xquery version "3.0";
declare namespace ex = "http://exist-db.org/xquery/ex";
declare function ex:map($func, $list) { for $item in $list return $func($item)};
(: Create an inline function and assign it to $f :)let $f := upper-case#1return ex:map($f, ("Hello ", "world!"))
XQuery
![Page 18: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/18.jpg)
http://exist-db.org
map( function($x) { $x * $x }, 1 to 5 )
XQuery
![Page 19: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/19.jpg)
http://exist-db.org
Язык модификации данных
XQuery Update Facility
XQuery Update Facility
![Page 20: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/20.jpg)
http://exist-db.org
<root> <message>Hello World</message></root>
let $doc := doc('/db/test.xml')/root let $update := insert node attribute foo {'bar'} into $doc
return $doc
<root foo="bar"> <message>Hello World</message></root>
XQuery Update Facility
![Page 21: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/21.jpg)
http://exist-db.org
XPath
XSLXQuery
XSL-FOXQueryUpdate Facility
Принцип наследования
![Page 22: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/22.jpg)
http://exist-db.org
XQuery enables you to achieve high productivity in your projects
The Amazon XQuery Client Library was written with 80% less code than its equivalent written in
Java
zorba-xquery.com
Локоничней
![Page 23: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/23.jpg)
http://exist-db.org
http://en.wikibooks.org/wiki/XQuery
Что почитать?
![Page 24: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/24.jpg)
http://exist-db.org
BaseXBerkeley DB XML
eXist-dbDB2 9 with pureXML
MarkLogicMonetDB/XQuery
MS SQL Server 2005Saxon
Zorbahttp://www.rpbourret.com/xml/ProdsNative.htm
XQuery processors
![Page 25: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/25.jpg)
http://exist-db.org
Stream
vs
Storage
XQuery processors
![Page 26: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/26.jpg)
http://exist-db.org
XML-enabled
VS
Native XML
Этапы развития
![Page 27: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/27.jpg)
http://exist-db.org
4th generation of databases
Поколения
Juha Kontio
![Page 28: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/28.jpg)
http://exist-db.org
http://exist-db.org/
XML Database
![Page 29: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/29.jpg)
http://exist-db.org
U.S. State Department Office of the Historian website
reBiND project easyDITA
University of Heidelberg
University of Richmond
…..
Томский Политехнический Университет http://tpu.ru
ЗАО «МЦФЭР» http://mcfr.ru
Кто использует?
![Page 30: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/30.jpg)
http://exist-db.org
I have successfully stored over 16,000,000 XML documents in eXist-db … 1KB - 4KB each (~30Gb).
Querying was still possible…, so it must have been 3< seconds.
Adam Retter
Как использует?
![Page 31: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/31.jpg)
http://exist-db.org
● REST (URL Rewriting)● WebDAV● Security:
● multiple realmsLDAP, OAuth, OpenID
● Unix permissions model (bitmap)● Access control list
● XQuery 3.0● XSL (Saxon)● EXPath: packaging & modules
XML Database
![Page 32: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/32.jpg)
http://exist-db.org
● Content Extraction and Binary Resource Indexing● Lucene● JSON & HTML 5 serializer● «Applications» concept
XML Database
![Page 33: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/33.jpg)
http://exist-db.org
Быстро состряпать форму для сбора данных
и дальнейший анализ
сохраненных данных.
Что можно сделать?
![Page 34: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/34.jpg)
http://exist-db.org
Сбор и обработка данных
Что можно сделать?
![Page 35: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/35.jpg)
http://exist-db.org
Браузер читающий твиты используя механизм text-to-speech встроенный в браузер.
Что можно сделать?
![Page 36: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/36.jpg)
http://exist-db.org
Разработать CMS или
систему управления бизнес процессамидля вашей организации.
Что можно сделать?
![Page 37: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/37.jpg)
http://exist-db.org
<oXygen/> XML editor
eXide — web IDE
IDE
![Page 38: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/38.jpg)
http://exist-db.org
<oXygen/> XML editor
![Page 39: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/39.jpg)
http://exist-db.org
eXide IDE
![Page 40: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/40.jpg)
http://exist-db.org
Concepts: XRX
![Page 41: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/41.jpg)
http://exist-db.org
RESTXQAdam Retter's
XML Prague 2012 paper
declare
%rest:path(“/say/hello/{$name}”)
function local:say-hello($name) {<hello>{$name}</hello>
};
Concepts: RESTXQ
![Page 42: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/42.jpg)
http://exist-db.org
Database next stage: Applications container
Concepts: Applications
![Page 43: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/43.jpg)
http://exist-db.org
Вопросы и
возможно даже ответы
....
![Page 44: Укрощение XML](https://reader033.vdocuments.pub/reader033/viewer/2022051612/54be78764a795913778b46b0/html5/thumbnails/44.jpg)
http://exist-db.org
Пожалуйста, поставьте оценку моему докладу.
Ваше мнение очень важно.
Спасибо!
.