De presentatie wordt gedownload. Even geduld aub

De presentatie wordt gedownload. Even geduld aub

Documentverwerking Deel 2 Dieter Fiems 3 april 2009 1.

Verwante presentaties


Presentatie over: "Documentverwerking Deel 2 Dieter Fiems 3 april 2009 1."— Transcript van de presentatie:

1 Documentverwerking Deel 2 Dieter Fiems 3 april

2 Vorige les DTD Element definitie elements text mixed empty any Deterministisch content model 2

3 Vandaag DTD (vervolg) XPath XSLT Project 3

4 DTD Attribuut lijst declaratie AttribuutType: tekstCDATA opsomming(waarde1|waarde2|waarde3|...) tekenID,IDREF,IDREFS,ENTITY,ENTITIES 4

5 DTD AttribuutDefault: #REQUIRED(attribuut moet aanwezig zijn) #IMPLIED(attribuut zonder default waarde) "waarde"(default waarde) #FIXED "waarde"(vaste waarde) Conditionele secties niet in interne subset handig in combinatie met entities 5

6 DTD General entity declaratie (Internal) general entities External general entities deze kunnen niet in attributen gebruikt worden indien er een andere karakter codering gebruikt wordt. 6

7 DTD Entity declaraties mogen entities bevatten Er mogen geen lussen ontstaan voorbeeld: 7

8 DTD Parameter entity declaratie kunnen enkel in DTD gebruikt worden voorbeeld: 8

9 DTD Unparsed entities voorbeeld: 9

10 Transformatie van XML documenten Extensible stylesheet language (XSL) family XSL Transformations (XSLT) transformeert een XML document in een ander XPath gebruikt door onder meer XSLT om te refereren naar delen van een XML document XSL Formatting Objects (XSL-FO) Een XML woordenschat voor formattering 10

11 XPath 1.0 Documentboom 11 boek hoofdstuk auteur AEEE para EE

12 XPath 1.0 location path 12 step 1step 2 predicaataxisnode test

13 XPath 1.0 Axis ancestor ancestor-or-self child(default) descendant// descendant-or-self following, following-sibling namespace parent.. preceding, preceding-sibling self. 13

14 XPath 1.0 Node test elementnaam[2] elementnaam[kindnaam] node() text() comment() processing-instruction() 14

15 XPath 1.0 Predicaat Een stap kan verschillende predicaten hebben Kan gebruik maken van verschillende functies number position(), number count(node-set), number last(), string name(nodeset) string string(object), boolean contains(string,string),... number floor(number), number ceiling(number),... 15

16 XPath 1.0 Samenstellen van stappen 1.eerste stap is relatief tov root node (indien stap begint met /) of relatief tov context node. 2.dit levert een node set, eventueel gefilterd mbv predicaat. 3.de volgende stap wordt voor ieder element van deze node set uitgevoerd. 4.de nieuwe node set is de unie van de node sets van de verschillende elementen uit de node set van de vorige stap. 16

17 XPath 1.0 Voorbeelden 17 aaa bbb ccc ddd eee fff /descendant::author //author bbb ddd /biblio/child::*/attribute::num num="aa" num="bb" num="cc"

18 XPath 1.0 Voorbeelden 18 aaa bbb ccc ddd eee fff //title/ancestor::*[1] //title/parent::* /biblio/*[title] aaa bbb ccc ddd eee fff

19 Namespaces Verschillende woordenschatten in zelfde document Onderscheid door middel van namespaces Namespace gedefinieerd voor alle kind-elementen van een element default ns heeft ns ""

20 XSLT 1.0 XSLT stylesheet Transformatie van XML documenten Associatie van patterns met templates Patterns gespecifeerd met behulp van XPath De XSLT processor leest het bestand van begin tot eind en voert de templates uit wanneer een pattern gevonden wordt. Het pattern wordt door het template verwerkt. Daarna leest de processor het bestand verder. Meerdere matches voor een zeker pattern mogelijk maar er wordt slecht één uitgevoerd (het meest specifieke) 20

21 XSLT 1.0 Voorbeeld 21 Knuth Patashnik Graham Output:,. Output: Graham,Knuth,Patshnik.

22 XSLT 1.0 Voorbeeld 22 Knuth Patashnik Graham Output:., Output: Graham,Knuth,Patshnik.

23 XSLT 1.0 Definitie van template.... name: naam van de template match: pattern waaraan template wordt geassocieerd dit is een '|' gescheiden lijst van xpath-locations enkel child en attribuut axis (en '//') Het pattern levert een node-set die door de template wordt verwerkt. 23

24 XSLT 1.0 Toepassen van templates Nu wel andere xpath axes mogelijk Indien geen select: templates toepassen op alle nodes in de node set. pas de template met naam "naam" toe op de node-set 24

25 XSLT 1.0 Output van waarden resultaat van de xpath expression wordt naar een string geconverteerd text node  de tekst element  alle descendant teksnodes attribuut  de waarde van het attribuut 25

26 XSLT 1.0 Build-in templates 26

27 XSLT 1.0 Lussen... Sorteren  kind van een for-each of apply-templates element 27

28 XSLT 1.0 Conditionele verwerking

29 XSLT 1.0 Importeren van stylesheets voegt het xsl bestand op de plaats van de tag in enkel als top-level element template regels in het importerende document hebben prioriteit 29

30 XSL-FO presentatietaal presentatie op verschillende media ondersteuning van de meeste standaard functionaliteit lijsten tabellen meerdere kolommen voetnoten... xml + xslt  xml-fo  pdf meer mogelijkheden dan xml+css 30

31 XSL-FO Hello World! Hello World! 31

32 Project Opgave op Minerva Opstellen van een DTD XSLT transformatie naar XHTML en XSL-FO Nuttige software: Meeste browsers ondersteunen XSLT PI: Apache-fop voor XML mbv XSLT naar XSL-FO naar pdf conversie (http://xmlgraphics.apache.org/fop/download.html)http://xmlgraphics.apache.org/fop/download.html 32

33 Referenties XPath XSLT

34 Referenties XML Namespaces XSL-FO 34

35 Na Pasen XML Schema SVG 35


Download ppt "Documentverwerking Deel 2 Dieter Fiems 3 april 2009 1."

Verwante presentaties


Ads door Google