kurswww 03b xml tu7hscifcfug23lqppd5qfiqjrigxla2gdgwgdq TU7HSCIFCFUG23LQPPD5QFIQJRIGXLA2GDGWGDQ

background image

Kurs WWW

Kurs WWW

Język XML, część II

Język XML, część II

Paweł Rajba

Paweł Rajba

pawel@ii.uni.wroc.pl

http://pawel.ii.uni.wroc.pl/

background image

Zawartość modułu

Zawartość modułu

Wprowadzenie do XSL
XPath
XSLT
XSL-FO

Na podstawie kursów ze stron:

Na podstawie kursów ze stron:

http://www.w3schools.com/xpath/default.asp

http://www.w3schools.com/xpath/default.asp

http://www.w3schools.com/xsl/default.asp

http://www.w3schools.com/xsl/default.asp

http://www.w3schools.com/xslfo/default.asp

http://www.w3schools.com/xslfo/default.asp

Kurs WWW

Copyright © Paweł Rajba

- 1 -

background image

Kilka uwag wstępnych o XSL

Kilka uwag wstępnych o XSL

XSL – pochodzi od

XSL – pochodzi od

eXtensible Stylesheet Language

eXtensible Stylesheet Language

CSS – style dla HTML-a

CSS – style dla HTML-a

XSL – style dla XML-a

XSL – style dla XML-a

XSL składa się z trzech części

XSL składa się z trzech części

XPath – język nawigacji dokumentów XML

XPath – język nawigacji dokumentów XML

XSLT – transformacja dokumentów XML

XSLT – transformacja dokumentów XML

XSL-FO – język formatowania dokumentów XML

XSL-FO – język formatowania dokumentów XML

Kurs WWW

Copyright © Paweł Rajba

- 2 -

background image

XPath

XPath

Terminologia

Terminologia

Node – węzłem są elementy, atrybuty, tekst, itp.

Node – węzłem są elementy, atrybuty, tekst, itp.

np. <znacznik>, <p>akapit</p>, lang="en"

np. <znacznik>, <p>akapit</p>, lang="en"

Wartości atomowe

Wartości atomowe

np. Akapit, "en",

np. Akapit, "en",

Item – node lub wartość atomowa

Item – node lub wartość atomowa

Terminologia zależności (jak w DOM)

Terminologia zależności (jak w DOM)

Parent, Children, Siblings, Ancestors, Descendants

Parent, Children, Siblings, Ancestors, Descendants

Kurs WWW

Copyright © Paweł Rajba

- 3 -

background image

XPath

XPath

Składnia wzorców, przykłady

Składnia wzorców, przykłady

para – dopasuje się do elementu para

para – dopasuje się do elementu para

* - dopasuje się do każdego elementu

* - dopasuje się do każdego elementu

chap|appen – dopasuje się do chap i appen

chap|appen – dopasuje się do chap i appen

ol/item – dopasuje się do item, którego rodzicem

ol/item – dopasuje się do item, którego rodzicem

jest ol

jest ol

ol//item –

ol//item –

dopasuje się do item, którego przodkiem

dopasuje się do item, którego przodkiem

jest ol

jest ol

. – bieżący węzeł

. – bieżący węzeł

.. – rodzic danego węzła

.. – rodzic danego węzła

Kurs WWW

Copyright © Paweł Rajba

- 4 -

background image

XPath

XPath

Składnia wzorców, przykłady

Składnia wzorców, przykłady

/ – root

/ – root

@class – dopasuje się do atrybutu class

@class – dopasuje się do atrybutu class

id("W11") – dopusje się do elementu o id=W11

id("W11") – dopusje się do elementu o id=W11

div[@class="appendix"]//p

div[@class="appendix"]//p

items/item[position()>1]

items/item[position()>1]

item[position() mod 2 = 1]

item[position() mod 2 = 1]

para[last()=1]

para[last()=1]

para[1]

para[1]

Kurs WWW

Copyright © Paweł Rajba

- 5 -

background image

XPath

XPath

Przykłady

Przykłady

/bookstore

/bookstore

bookstore/book

bookstore/book

//book

//book

bookstore//book

bookstore//book

//@lang

//@lang

/bookstore/book[0] – pierwszy element

/bookstore/book[0] – pierwszy element

/bookstore/book[price>35]/title

/bookstore/book[price>35]/title

Kurs WWW

Copyright © Paweł Rajba

- 6 -

background image

XPath

XPath

Dokładne określenie lokalizacji

Dokładne określenie lokalizacji

Relacje zależności: ancestor, ancestor-or-self,

Relacje zależności: ancestor, ancestor-or-self,

attribute, child, descendant, descendant-or-self,

attribute, child, descendant, descendant-or-self,

following, following-sibling, namespace, parent,

following, following-sibling, namespace, parent,

preceding, preceding-sibling, self

preceding, preceding-sibling, self

Ścieżka ma postać

Ścieżka ma postać

/step/step/...

/step/step/...

lub

lub

step/step/...

step/step/...

każdy krok ścieżki ma postać

każdy krok ścieżki ma postać

axisname::nodetest[predykat]

axisname::nodetest[predykat]

Przykłady: child::book, attribute::lang, child::*,

Przykłady: child::book, attribute::lang, child::*,

attribute::*, ancestor::book, child::*/child::price

attribute::*, ancestor::book, child::*/child::price

Kurs WWW

Copyright © Paweł Rajba

- 7 -

background image

XPath

XPath

Kilka przykładowych funkcji

Kilka przykładowych funkcji

compare(s1,s2) – zwraca -1, jeśli s1<s2; 0, jeśli

compare(s1,s2) – zwraca -1, jeśli s1<s2; 0, jeśli

s1=s2 i 1 jeśli, s1>s2

s1=s2 i 1 jeśli, s1>s2

concat(s1,s2,...) - zwraca połączone napisy

concat(s1,s2,...) - zwraca połączone napisy

np. concat('XPath ','is ','FUN!') // XPath is FUN

np. concat('XPath ','is ','FUN!') // XPath is FUN

codepoints-to-string(int,int,...) - zwraca napis

codepoints-to-string(int,int,...) - zwraca napis

złożony z kodów będących argumentami

złożony z kodów będących argumentami

np. string-to-codepoints("Thérèse")

np. string-to-codepoints("Thérèse")

Wynik: 84, 104, 233, 114, 232, 115, 101

Wynik: 84, 104, 233, 114, 232, 115, 101

substring(string,start,len) – wycina fragment napisu

substring(string,start,len) – wycina fragment napisu

np. substring('Beatles',1,4) Wynik: 'Beat'

np. substring('Beatles',1,4) Wynik: 'Beat'

Kurs WWW

Copyright © Paweł Rajba

- 8 -

background image

XPath

XPath

Kilka przykładowych funkcji

Kilka przykładowych funkcji

string-length(napis) – zwraca dłuość napisu

string-length(napis) – zwraca dłuość napisu

name() - zwraca nazwę bieżącego węzła

name() - zwraca nazwę bieżącego węzła

index-of((item,item,...),searchitem) – zwraca numer

index-of((item,item,...),searchitem) – zwraca numer

szukanego elementu; numeracja od 1

szukanego elementu; numeracja od 1

count((item,item,...)) - zwraca ilość węzłów

count((item,item,...)) - zwraca ilość węzłów

position() - zwraca numer aktualnie przetwarzanego

position() - zwraca numer aktualnie przetwarzanego

elementu

elementu

last() - zwraca ilość elementów na liście

last() - zwraca ilość elementów na liście

Kurs WWW

Copyright © Paweł Rajba

- 9 -

background image

XPath

XPath

Przykład

Przykład

kurswww-p1-produkty.xml

kurswww-p1-produkty.xml

Kurs WWW

Copyright © Paweł Rajba

- 10 -

background image

XSLT

XSLT

Wprowadzenie

Wprowadzenie

Korzysta z XPath

Korzysta z XPath

Służy do transformacji dokumentów XML na inne

Służy do transformacji dokumentów XML na inne

dokumenty XML, dokumenty HTML, itd.

dokumenty XML, dokumenty HTML, itd.

Przeglądarki obsługujące XSLT:

Przeglądarki obsługujące XSLT:

Firefox 1.0.2

Firefox 1.0.2

Mozilla 1.7.8

Mozilla 1.7.8

Netscape 8

Netscape 8

Opera 8

Opera 8

Internet Explorer 6

Internet Explorer 6

Kurs WWW

Copyright © Paweł Rajba

- 11 -

background image

XSLT

XSLT

Deklaracja arkusza transformacji

Deklaracja arkusza transformacji

<xsl:stylesheet version="1.0"

<xsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:transform version="1.0"

<xsl:transform version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Odwołanie do arkusza XSL w dokumencie XML

Odwołanie do arkusza XSL w dokumencie XML

<?xml-stylesheet type="text/xsl" href="arkusz.xsl"?>

<?xml-stylesheet type="text/xsl" href="arkusz.xsl"?>

Kurs WWW

Copyright © Paweł Rajba

- 12 -

background image

XSLT

XSLT

Arkusz XSL może zawierać pewną liczb reguł

Arkusz XSL może zawierać pewną liczb reguł

(template)

(template)

Do utworzenia reguły używamy elementu

Do utworzenia reguły używamy elementu

<xsl:template match="wartość">

<xsl:template match="wartość">

atrybut match określa element, dla którego reguła będzie

atrybut match określa element, dla którego reguła będzie

obowiązywać

obowiązywać

wartość atrybutu match to wyrażenie XPath

wartość atrybutu match to wyrażenie XPath

Kurs WWW

Copyright © Paweł Rajba

- 13 -

background image

XSLT

XSLT

Element value-of

Element value-of

Służy do pobrania wartości elementu z dokumentu

Służy do pobrania wartości elementu z dokumentu

XML i przekazanie jej do wyniku

XML i przekazanie jej do wyniku

Składnia

Składnia

<xsl:value-of select="element">

<xsl:value-of select="element">

select określa wyrażenie XPath

select określa wyrażenie XPath

Przykład

Przykład

<xsl:value-of select="/dostawa/produkt/nazwa">

<xsl:value-of select="/dostawa/produkt/nazwa">

Kurs WWW

Copyright © Paweł Rajba

- 14 -

background image

XSLT

XSLT

Element for-each

Element for-each

Służy do iterowania elementów z dokumentu XML

Służy do iterowania elementów z dokumentu XML

Składnia

Składnia

<xsl:for-each select="element">

<xsl:for-each select="element">

select określa wyrażenie XPath

select określa wyrażenie XPath

Przykład

Przykład

<xsl:for-each select="nazwa_pliku">

<xsl:for-each select="nazwa_pliku">

<xsl:value-of select="."/>

<xsl:value-of select="."/>

</xsl:foreach>

</xsl:foreach>

Kurs WWW

Copyright © Paweł Rajba

- 15 -

background image

XSLT

XSLT

Element sort

Element sort

Umożliwia sortowanie wyniku uzyskanego przez

Umożliwia sortowanie wyniku uzyskanego przez

foreach

foreach

Składnia

Składnia

<xsl:sort order="ascending | descending"

<xsl:sort order="ascending | descending"

case-order="upper-first | lower-first">

case-order="upper-first | lower-first">

Znaczenie atrybutów zgodne z opisem

Znaczenie atrybutów zgodne z opisem

Podanie kilku elementów sort realizuje sortowanie

Podanie kilku elementów sort realizuje sortowanie

zagnieżdżone

zagnieżdżone

Kurs WWW

Copyright © Paweł Rajba

- 16 -

background image

XSLT

XSLT

Element if

Element if

Umieści treść w wyniku, jeśli będzie spełniony

Umieści treść w wyniku, jeśli będzie spełniony

określony warunek

określony warunek

Składnia

Składnia

<xsl:if test="warunek"> treść </xsl:if>

<xsl:if test="warunek"> treść </xsl:if>

Przykład

Przykład

<xsl:if test=". &gt; 10">Robimy na zielono</xsl:if>

<xsl:if test=". &gt; 10">Robimy na zielono</xsl:if>

Kurs WWW

Copyright © Paweł Rajba

- 17 -

background image

XSLT

XSLT

Element choose

Element choose

Podobny do instrukcji switch z języka C

Podobny do instrukcji switch z języka C

Składnia

Składnia

<xsl:choose>

<xsl:choose>

<xsl:when test="expression">

<xsl:when test="expression">

... some output ...

... some output ...

</xsl:when>

</xsl:when>

<xsl:otherwise>

<xsl:otherwise>

... some output ....

... some output ....

</xsl:otherwise>

</xsl:otherwise>

</xsl:choose>

</xsl:choose>

Kurs WWW

Copyright © Paweł Rajba

- 18 -

background image

XSLT

XSLT

Element apply-templates

Element apply-templates

Przetwarza dzieci znacznika

Przetwarza dzieci znacznika

Składnia

Składnia

<xsl:apply-templates select="element">

<xsl:apply-templates select="element">

Podanie opcjonalnego atrybutu select spowoduje

Podanie opcjonalnego atrybutu select spowoduje

przetwarzanie tylko określonych elementów

przetwarzanie tylko określonych elementów

Kurs WWW

Copyright © Paweł Rajba

- 19 -

background image

XSLT

XSLT

Do utworzenia elementu wraz atrybutami mamy

Do utworzenia elementu wraz atrybutami mamy

znaczniki element i attribute

znaczniki element i attribute

Przykład

Przykład

XSL:

XSL:

<xsl:element name="napis">

<xsl:element name="napis">

<xsl:attribute name="kolor">czerwony</xsl:attribute>

<xsl:attribute name="kolor">czerwony</xsl:attribute>

Wielki napis

Wielki napis

</xsl:element>

</xsl:element>

Wynik:

Wynik:

<napis kolor="czerwony">Wielki napis</napis>

<napis kolor="czerwony">Wielki napis</napis>

Kurs WWW

Copyright © Paweł Rajba

- 20 -

background image

XSLT

XSLT

Do utworzenia komentarza mamy znacznik

Do utworzenia komentarza mamy znacznik

comment

comment

Przykład

Przykład

XSL:

XSL:

<xsl:comment>To jest komentarz</xsl:comment>

<xsl:comment>To jest komentarz</xsl:comment>

Wynik:

Wynik:

<!--To jest komentarz-->

<!--To jest komentarz-->

Do uworzenia tekstu mamy znacznik text

Do uworzenia tekstu mamy znacznik text

Przykład

Przykład

<xsl:text>To będzie zwykły kawałek tekstu</xsl:text>

<xsl:text>To będzie zwykły kawałek tekstu</xsl:text>

Kurs WWW

Copyright © Paweł Rajba

- 21 -

background image

XSLT

XSLT

Przykład

Przykład

kurswww-p2A-osoby.xml

kurswww-p2A-osoby.xml

kurswww-p2B-osoby.xml

kurswww-p2B-osoby.xml

kurswww-p3-produkty.xml

kurswww-p3-produkty.xml

Kurs WWW

Copyright © Paweł Rajba

- 22 -

background image

XSL-FO

XSL-FO

Służy do formatowania elementów w XML

Służy do formatowania elementów w XML

Jest pod pewnym względem podobne do CSS

Jest pod pewnym względem podobne do CSS

Kurs WWW

Copyright © Paweł Rajba

- 23 -

background image

XSL-FO

XSL-FO

Szablon dokumentu

Szablon dokumentu

<?xml version="1.0" encoding="ISO-8859-2"?>

<?xml version="1.0" encoding="ISO-8859-2"?>

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">

<fo:layout-master-set>

<fo:layout-master-set>

<fo:simple-page-master master-name="A4">

<fo:simple-page-master master-name="A4">

<!-- Page template goes here -->

<!-- Page template goes here -->

</fo:simple-page-master>

</fo:simple-page-master>

</fo:layout-master-set>

</fo:layout-master-set>

<fo:page-sequence master-reference="A4">

<fo:page-sequence master-reference="A4">

<!-- Page content goes here -->

<!-- Page content goes here -->

</fo:page-sequence>

</fo:page-sequence>

</fo:root>

</fo:root>

Kurs WWW

Copyright © Paweł Rajba

- 24 -

background image

XSL-FO

XSL-FO

W XSL FO również występuje tzw. box model

W XSL FO również występuje tzw. box model

Kolejne poziomy obszarów

Kolejne poziomy obszarów

strony (page)

strony (page)

regiony (region)

regiony (region)

bloki (block)

bloki (block)

wiersze (line)

wiersze (line)

zawartość wierszy (inline)

zawartość wierszy (inline)

Kurs WWW

Copyright © Paweł Rajba

- 25 -

background image

XSL-FO

XSL-FO

Dokument dzieli się na strony

Dokument dzieli się na strony

w wydruku jest to jedna lub więcej stron

w wydruku jest to jedna lub więcej stron

na ekranie jest to jedna wielka strona

na ekranie jest to jedna wielka strona

Każda strona dzieli się na regiony

Każda strona dzieli się na regiony

region-body (treść strony)

region-body (treść strony)

region-before (nagłówek)

region-before (nagłówek)

region-after (stopka)

region-after (stopka)

region-start (lewy panel nawigacyjny)

region-start (lewy panel nawigacyjny)

region-end (prawy panel nawigacyjny)

region-end (prawy panel nawigacyjny)

Kurs WWW

Copyright © Paweł Rajba

- 26 -

background image

XSL-FO

XSL-FO

Każdy region zawiera bloki

Każdy region zawiera bloki

Każdy blok może zawierać inne bloki lub

Każdy blok może zawierać inne bloki lub

wiersze

wiersze

Wiersze zawierają jakąś zawartość, zwykle po

Wiersze zawierają jakąś zawartość, zwykle po

prostu tekst.

prostu tekst.

Kurs WWW

Copyright © Paweł Rajba

- 27 -

background image

XSL-FO

XSL-FO

Jak to dokładnie wygląda?

Jak to dokładnie wygląda?

XSL-FO korzysta z <fo:page-sequence> do

XSL-FO korzysta z <fo:page-sequence> do

zdefiniowania stron wyniku

zdefiniowania stron wyniku

Każda strona wynikowa odwołuje się do ,,page

Każda strona wynikowa odwołuje się do ,,page

master'', który definiuje układ strony

master'', który definiuje układ strony

Każda strona wynikowa ma elementy <fo:flow>

Każda strona wynikowa ma elementy <fo:flow>

określające jej zawartość

określające jej zawartość

Kolejne strony są drukowane lub wyświetlane

Kolejne strony są drukowane lub wyświetlane

sekwencyjnie

sekwencyjnie

Kurs WWW

Copyright © Paweł Rajba

- 28 -

background image

XSL-FO

XSL-FO

Strony XSL-FO są wypełnione zawartością

Strony XSL-FO są wypełnione zawartością

elementu <xsl:flow>

elementu <xsl:flow>

Element ten ma atrybut "flow-name", który

Element ten ma atrybut "flow-name", który

może przyjmować następujące wartości

może przyjmować następujące wartości

xsl-region-body (odpowiednik region-body)

xsl-region-body (odpowiednik region-body)

xsl-region-before (odpowiednik

xsl-region-before (odpowiednik

region-before)

region-before)

xsl-region-after (odpowiednik

xsl-region-after (odpowiednik

region-after)

region-after)

xsl-region-start (odpowiednik

xsl-region-start (odpowiednik

region-start)

region-start)

xsl-region-end (odpowiednik

xsl-region-end (odpowiednik

region-end)

region-end)

Kurs WWW

Copyright © Paweł Rajba

- 29 -

background image

XSL-FO

XSL-FO

Wzorce stron (tzw. page masters) definiują

Wzorce stron (tzw. page masters) definiują

układ stron

układ stron

Przykłady

Przykłady

<fo:simple-page-master master-name="intro">

<fo:simple-page-master master-name="intro">

<fo:region-body margin="5in" />

<fo:region-body margin="5in" />

</fo:simple-page-master>

</fo:simple-page-master>

<fo:simple-page-master master-name="left">

<fo:simple-page-master master-name="left">

<fo:region-body margin-left="2in" margin-right="3in" />

<fo:region-body margin-left="2in" margin-right="3in" />

</fo:simple-page-master>

</fo:simple-page-master>

<fo:simple-page-master master-name="right">

<fo:simple-page-master master-name="right">

<fo:region-body margin-left="3in" margin-right="2in" />

<fo:region-body margin-left="3in" margin-right="2in" />

</fo:simple-page-master>

</fo:simple-page-master>

pierwszy może być używany jako wstęp, dwa kolejne do stron

pierwszy może być używany jako wstęp, dwa kolejne do stron

nieparzystych i parzystych

nieparzystych i parzystych

Kurs WWW

Copyright © Paweł Rajba

- 30 -

background image

XSL-FO

XSL-FO

Do określenia rozmiaru strony mamy atrybuty

Do określenia rozmiaru strony mamy atrybuty

page-width

page-width

page-height

page-height

Do określenia marginesów mamy

Do określenia marginesów mamy

margin-top

margin-top

margin-bottom

margin-bottom

margin-left

margin-left

margin-right

margin-right

margin (wszystkie cztery marginesy)

margin (wszystkie cztery marginesy)

Kurs WWW

Copyright © Paweł Rajba

- 31 -

background image

XSL-FO

XSL-FO

Przykład układu strony A4

Przykład układu strony A4

<fo:simple-page-master master-name="A4"

<fo:simple-page-master master-name="A4"

page-width="297mm" page-height="210mm"

page-width="297mm" page-height="210mm"

margin-top="1cm" margin-bottom="1cm"

margin-top="1cm" margin-bottom="1cm"

margin-left="1cm" margin-right="1cm">

margin-left="1cm" margin-right="1cm">

<fo:region-body margin="3cm"/>

<fo:region-body margin="3cm"/>

<fo:region-before extent="2cm"/>

<fo:region-before extent="2cm"/>

<fo:region-after extent="2cm"/>

<fo:region-after extent="2cm"/>

<fo:region-start extent="2cm"/>

<fo:region-start extent="2cm"/>

<fo:region-end extent="2cm"/>

<fo:region-end extent="2cm"/>

</fo:simple-page-master>

</fo:simple-page-master>

Kurs WWW

Copyright © Paweł Rajba

- 32 -

background image

XSL-FO

XSL-FO

Umieszczanie bloków, przykład

Umieszczanie bloków, przykład

<fo:page-sequence>

<fo:page-sequence>

<fo:flow flow-name="xsl-region-body">

<fo:flow flow-name="xsl-region-body">

<fo:block>

<fo:block>

<!-- Treść -->

<!-- Treść -->

</fo:block>

</fo:block>

</fo:flow>

</fo:flow>

</fo:page-sequence>

</fo:page-sequence>

Formatowanie bloków

Formatowanie bloków

Mamy szereg właściwości znanych już z CSSa

Mamy szereg właściwości znanych już z CSSa

Kurs WWW

Copyright © Paweł Rajba

- 33 -

background image

XSL-FO

XSL-FO

Tworzenie list, przykład

Tworzenie list, przykład

<fo:list-block>

<fo:list-block>

<fo:list-item>

<fo:list-item>

<fo:list-item-label>

<fo:list-item-label>

<fo:block>*</fo:block>

<fo:block>*</fo:block>

</fo:list-item-label>

</fo:list-item-label>

<fo:list-item-body>

<fo:list-item-body>

<fo:block>Volvo</fo:block>

<fo:block>Volvo</fo:block>

</fo:list-item-body>

</fo:list-item-body>

</fo:list-item>

</fo:list-item>

Kurs WWW

Copyright © Paweł Rajba

- 34 -

<fo:list-item>

<fo:list-item>

<fo:list-item-label>

<fo:list-item-label>

<fo:block>*</fo:block>

<fo:block>*</fo:block>

</fo:list-item-label>

</fo:list-item-label>

<fo:list-item-body>

<fo:list-item-body>

<fo:block>Saab</fo:block>

<fo:block>Saab</fo:block>

</fo:list-item-body>

</fo:list-item-body>

</fo:list-item>

</fo:list-item>

</fo:list-block>

</fo:list-block>

background image

XSL-FO

XSL-FO

Do tworzenia tabel mamy następujące obiekty

Do tworzenia tabel mamy następujące obiekty

fo:table-and-caption

fo:table-and-caption

fo:table

fo:table

fo:table-caption

fo:table-caption

fo:table-column

fo:table-column

fo:table-header

fo:table-header

fo:table-footer

fo:table-footer

fo:table-body

fo:table-body

fo:table-row

fo:table-row

fo:table-cell

fo:table-cell

Kurs WWW

Copyright © Paweł Rajba

- 35 -

background image

XSL-FO

XSL-FO

Przykłady

Przykłady

kurswww-p4-w3c.xml

kurswww-p4-w3c.xml

kurswww-p5-osoby.xml

kurswww-p5-osoby.xml

Kurs WWW

Copyright © Paweł Rajba

- 36 -


Wyszukiwarka

Podobne podstrony:
kurswww 03a xml ln32apw2bdiw5hg Nieznany
05 xml domid 5979 ppt
AI 2 2 XML
10 XML appsid 11206 ppt
język XML, Pomoce naukowe, studia, informatyka
Wprowadzenie do języka XML
02 xml dokumenty
kurswww 06e php l4zupq3upz4i7klcgxbsinlub4k5v5wkgbyppqa L4ZUPQ3UPZ4I7KLCGXBSINLUB4K5V5WKGBYPPQA
kurswww 04ab javascript i67y762 Nieznany
XML Schema Primer
xml SPXGTMAFU4KDOU3GONPD3WTRSC4HFBIDR5DJORA
pai 06 XML
dzwigar xml
Zajęcia 1, Dokumenty XML
BSI-wsti-03b-ataki sieciowe -spoofing
kurswww 09 aspnet exuop5vio6i7qmdw7p6mz2unjx66n45oieabtpi EXUOP5VIO6I7QMDW7P6MZ2UNJX66N45OIEABTPI

więcej podobnych podstron