XML?Xpath??XML?? - PowerPoint PPT Presentation

1 / 67
About This Presentation
Title:

XML?Xpath??XML??

Description:

Title: Author: Max Chi Last modified by: java Created Date: 2/16/2001 9:13:05 AM Document presentation format: Company – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 68
Provided by: MaxC6
Category:
Tags: xml | attribute | person | sales | xpath

less

Transcript and Presenter's Notes

Title: XML?Xpath??XML??


1
XML?Xpath??XML??
No. XML - ch8
2
Part I?? XSL
3
??? XSL
  • XSL (??????) ,????? XML ???? (font, size, color
    .. ) ?????????
  • XML StyleSheet Language
  • eXtensible StyleSheet Language
  • ????Script??
  • XSL ????? XML?? ,?? .xsl ?????
  • ?????????
  • ??XML??
  • ???XML??(IE???????????)

4
????? XSL
  • XSL????XML????????
  • XSL???????????????,??????
  • XSL?????????????,???????????????,?????
  • XSL ? XSLT ??????????
  • XSLT ??????XML??(document)???????.

5
XSL Family
SGML
XML
HTML
XSL
XSLT
XSL FO
XSLT
XPATH
6
CSS?XSLT???
. CSS XSLT
???HTML ?? ??
???XHTML ?? ??
???XML ?? ??
????? CSS???? XML??
??????? ?? ?
7
XML Transform -Server???
HTML??
XML???
XML
???
XSLT???
XML???
XSLT
Server?
Client?
8
XML Transform -Client???
Server??????
?XML?XSLT??Client?,?IE????
XML
XSLT
Server?
Client?
9
Part IIXPath ??
10
XPath ????
  • Xpath
  • XPath?????,?????????,????XML?????,?????????????
  • ??XSLT?XML???????????????
  • Xpath???XSLT?Xpointer????

11
Xpath????
Xpath????
/glossary/item/title
/glossary/item//title
XML??
12
XPath ????
  • "/"??????????,??DOS??????
  • //????????????????
  • ltxslfor-each select"childPEOPLE/descendantPE
    RSON"gt
  • ltxslfor-each select"PEOPLE//PERSON"gt
  • PEOPLE//PERSON???PEOPLE??????PERSON ???

13
XPath ????
  • ?(Axis)-?????????????
  • self . ????????
  • parent .. ???????????
  • attribute _at_ ????????????
  • Predicate??????????????,????????? Expression
    ?
  • PERSONposition()2 ???????????PERSON ??
  • PERSONstarts-with(name, B)
    ?????????????B???PERSON??

14
XPath ????
  • and, or ???????and, or
  • gt, lt, gt, lt, !,
  • ???XSL???,lt ????lt ??,gt ????gt ???

15
XPath ????
  • ?XPath????????????????????????
  • count()????,?????????????
  • ltxslvalue-of select"count(PERSONnametom)"/gt
  • number()???????????????
  • The number is ltxslvalue-of select"number(book/p
    rice)"/gt
  • sum()???
  • Total Price ltxslvalue-of select"sum(//price)"/
    gt

16
Part IIIXSLT ??
17
????
????
9876543
???
max_at_mail.chna.edu.tw
???
????(?)???
18
????? -1
????? XML? course.xml lt?xml version"1.0"
?gt ltCoursegtXML Design and Programminglt/Coursegt ltIn
structorgtDr. Max Chilt/Instructorgt
19
????? -2
?????XSLT ? show.xsl? lt?xml version"1.0"
?gt ltxslstylesheet xmlnsxsl"http//www.w3.org/TR
/WD-xsl"gt ltxsltemplate match"/"gt lthtmlgt ltbodygt
ltpgtltxslvalue-of select"Course"/gtlt/pgt
ltpgtltxslvalue-of select"Instructor"/gtlt/pgt lt/bodygt
lt/htmlgt lt/xsltemplategt lt/xslstylesheetgt
20
????? -3
????XML??? show.xsl ?????course.xml ? lt?xml
version"1.0" ?gt lt?xml-stylesheet type"text/xsl"
hrefshow.xsl"?gt ltCoursegtXML Design and
Programminglt/Coursegt ltInstructorgtDr. Max
Chilt/Instructorgt
??
21
????? -1
  • lt?xml version"1.0" encoding"Big5"?gt
  • ltglossarygt
  • ltitemgt
  • lttitle version"EN"gteXtensible Markup
    Languagelt/titlegt
  • ltdefinitiongt????????lttitlegtXMLlt/titlegtlt/de
    finitiongt
  • lt/itemgt
  • ltitemgt
  • lttitle version"EN"gtencodinglt/titlegt
  • ltdefinitiongt???lt/definitiongt
  • lt/itemgt
  • ltitemgt
  • lttitle version"EN"gtUniform Resource
    Identifierlt/titlegt
  • ltdefinitiongt????????lttitlegtURIlt/titlegtlt/de
    finitiongt
  • lt/itemgt
  • lt/glossarygt

22
????? -2
  • lt?xml version"1.0" encoding"Big5"?gt
  • ltxslstylesheet version"1.0" xmlnsxsl"http//ww
    w.w3.org/1999/XSL/Transform"gt
  • ltxsltemplate match"/glossary/itemposition()1"
    gt
  • ltcentergtlth2gtXML????lt/h2gtlt/centergt
  • lthr/gt
  • ltpgtltbgtltxslvalue-of select"title"/gt -
  • ltxslvalue-of select"definition"/gtlt/bgt
  • (ltxslvalue-of select"definition/title"/gt)lt/p
    gt
  • lt/xsltemplategt
  • ltxsltemplate match"/glossary/itemposition()2"
    gt
  • ltpgtltigtltxslvalue-of select"title"/gt -
  • ltxslvalue-of select"definition"/gtlt/igt
  • lt/pgt
  • lt/xsltemplategt
  • ltxsltemplate match"/glossary/item/title_at_version
    'AB'"gt
  • ltpgtltugtltxslvalue-of select"."/gt -

23
????? -3
  • lt?xml version"1.0" encoding"Big5"?gt
  • lt?xml-stylesheet type"text/xsl"
    href"Ch8-5-1.xslt" ?gt
  • ltglossarygt
  • ltitemgt
  • lttitle version"EN"gteXtensible Markup
    Languagelt/titlegt
  • ltdefinitiongt????????lttitlegtXMLlt/titlegtlt/de
    finitiongt
  • lt/itemgt
  • ltitemgt
  • lttitle version"TW"gtencodinglt/titlegt
  • ltdefinitiongt???lt/definitiongt
  • lt/itemgt
  • ltitemgt
  • lttitle version"AB"gtUniform Resource
    Identifierlt/titlegt
  • ltdefinitiongt????????lttitlegtURIlt/titlegtlt/de
    finitiongt
  • lt/itemgt
  • lt/glossarygt

??
24
Ex411_1.xsl
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"http//www.w3.org/T
R/xsl"gt ltxsltemplate match"??/????/??" gt
ltxslvalue-of /gt lt/xsltemplategt lt/xslstyleshe
etgt
XSL ????? XML??
25
XML ?? XSL
  • XML ????XSL (??????) ,???????? ?
  • lt?xmlstylesheet typetext/xsl hrefURL?gt
  • ??
  • lt?xml-stylesheet href"ex421_2.xsl"
    type"text/xsl"?gt
  • lt?xml-stylesheet type"text/xsl"
    href"ex421_2.xsl"?gt

?? ? ??
???????
26
XSL? HTML ????
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"http//www.w3.org/TR
/WD-xsl"gt ltxsltemplategt ltxslvalue-of
select "??/????/??" /gt ltbr/gt
ltxslvalue-of select "??/????/??" /gt
ltbr/gt ltxslvalue-of select "??/????/??" /gt
lt/xsltemplategt lt/xslstylesheetgt
27
XSL? HTML ????
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"http//www.w3.org/TR
/WD-xsl"gt ltxsltemplategt lth3gt
ltxslvalue-of select "??/????/??" /gt lt/h3gt
lth2gt ltxslvalue-of select
"??/????/??" /gt lt/h2gt ltxslvalue-of
select "??/????/??" /gt lt/xsltemplategt lt/xslst
ylesheetgt
XSL? HTML ????? 413_2.xsl
28
XSL ? CSS
?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"http//www.w3.org/TR
/WD-xsl"gt ltxsltemplategt lth3
style"colorred"gt ltxslvalue-of select
"??/????/??" /gt lt/h3gt lth2
style"colorred"gt ltxslvalue-of
select "??/????/??" /gt lt/h2gt
?????? HTML/ CSS ???? 415_1.xsl
29
???? XSL ??
  • ????? XML ????
  • lt?xml version"1.0" encoding"BIG5" ?gt
  • ????? xsl ? NameSpace
  • ltxslstylesheet xmlnsxsl"urixsl"gt
  • ltxslstylesheet xmlnsxsl"http//www.w3.org/TR/xs
    l"gt

30
XSLT?????
  • lt?xml version"1.0" encoding"Big5"?gt
  • ltxslstylesheet version"1.0" xmlnsxsl"http//ww
    w.w3.org/1999/XSL/Transform"gt
  • ltxsltemplate match"/"gt
  • lt/xsltemplategt
  • lt/xslstylesheetgt

??????? ????
31
XSL ??????
  • xslvalue-of (????)
  • xsltemplate (????)
  • xslapply-templates (??????)
  • xslfor-each (????)
  • xslsort (????)
  • xslif (??????)
  • xslchoose (?????)

32
Xslvalue-of (????)
  • ?XML?????????
  • ??
  • ltxslvalue-of select????gtlt/xslvalue-ofgt
  • ??????????????Xpath??
  • ??
  • ltxsltemplate matchitemgt
  • ltxslvalue-of selecttitle/gt
  • ltxsltemplategt

33
xslvalue-of ??-1 (??)
  • lt?xml version"1.0" encoding"BIG5" ?gt
  • ltxslstylesheet xmlnsxsl"http//www.w3.org/TR/WD
    -xsl"gt
  • ltxsltemplategt
  • ltxslvalue-of select "??" /gt
  • lt/xsltemplategt
  • lt/xslstylesheetgt

lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet href"ex421_1.xsl"
type"text/xsl"?gt lt??gt lt????gt lt??gt
lt??gt ?? lt/??gt lt??gt ?? lt/??gt
lt/??gt lt??gt??lt/??gt
lt??gt?????,???????????,??????lt/??gt
lt/????gt lt/??gt
Ex421_1.xsl
?? ?? ?? ?????,???????????,??????
??
34
xslvalue-of ??-2 (??)
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"http//www.w3.org/TR
/WD-xsl"gt ltxsltemplategt lth2gt ?????
ltxslvalue-of select "??/????/??/??" /gt
lt/h2gt lt/xsltemplategt lt/xslstylesheetgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet href"ex421_2.xsl"
type"text/xsl"?gt lt??gt lt????gt lt??gt
lt??gt ?? lt/??gt lt??gt ?? lt/??gt
lt/??gt lt??gt??lt/??gt
lt??gt?????,???????????,??????lt/??gt
lt/????gt lt/??gt
Ex421_2.xsl
????? ??
??
35
xslvalue-of ??-3 (??)
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"http//www.w3.org/TR
/WD-xsl"gt ltxsltemplategt lth2gt ?????
ltxslvalue-of select "??/????/??" /gt
ltbr/gt ????? ltxslvalue-of select
"??/????/??/??" /gt lt/h2gt
lt/xsltemplategt lt/xslstylesheetgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet href"ex421_3.xsl"
type"text/xsl"?gt lt??gt lt????gt lt??gt
lt??gt ?? lt/??gt lt??gt ?? lt/??gt
lt/??gt lt??gt??lt/??gt
lt??gt?????,???????????,??????lt/??gt
lt/????gt lt/??gt
Ex421_3.xsl
????? ?????
??
36
xslvalue-of ??-4 (??)
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"http//www.w3.org/TR
/WD-xsl"gt ltxsltemplategt lth2gt ??
ltxslvalue-of select "??/????/??/??" /gt
ltbr/gt ?? ltxslvalue-of select
"??/????/??" /gt lt/h2gt lth3gt
ltxslvalue-of select "??/????/??" /gt
lt/h3gt lt/xsltemplategt lt/xslstylesheetgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet href"ex422_1.xsl"
type"text/xsl"?gt lt??gt lt????gt lt??gt
lt??gt ?? lt/??gt lt??gt ?? lt/??gt
lt/??gt lt??gt??lt/??gt
lt??gt?????,???????????,??????lt/??gt
lt/????gt lt/??gt
Ex422_1.xsl
??
?? ?? ?? ?? ?????,???????????,??????
37
xslvalue-of ??-5 (??)
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"http//www.w3.org/TR
/WD-xsl"gt ltxsltemplategt lth2gt
ltxslvalue-of select "??/????/??" /gt ---
?? ltxslvalue-of select "??/????/??/??" /gt
lt/h2gt lth3gt ltxslvalue-of select
"??/????/??" /gt lt/h3gt lt/xsltemplategt lt/xs
lstylesheetgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet href"ex422_2.xsl"
type"text/xsl"?gt lt??gt lt????gt lt??gt
lt??gt ?? lt/??gt lt??gt ?? lt/??gt
lt/??gt lt??gt??lt/??gt
lt??gt?????,???????????,??????lt/??gt
lt/????gt lt/??gt
Ex422_2.xsl
????????
?? --- ?? ?? ?????,???????????,??????
??
38
xslvalue-of ??-6 (??)
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"http//www.w3.org/TR
/WD-xsl"gt ltxsltemplategt lth2gt
ltxslvalue-of select "??/????/_at_??" /gt
lt/h2gt lth3gt ltxslvalue-of select
"??/????/??" /gt lt/h3gt lt/xsltemplategt lt/x
slstylesheetgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet href"ex423_1.xsl"
type"text/xsl"?gt lt??gt lt???? ??"??"gt
lt?? ????gt ?? lt/??gt
lt??gt?????,??????
?????,?????? lt/??gt lt/????gt lt/??gt
Ex423_1.xsl
? _at_ ??????
?? ?????,???????????,??????
??
39
xslvalue-of ??-7 (??)
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"http//www.w3.org/TR
/WD-xsl"gt ltxsltemplategt lth2gt
ltxslvalue-of select "??/????/_at_??" /gt ---
ltxslvalue-of select "??/????/??" /gt
? ltxslvalue-of select "??/????/??/_at_??"
/gt lt/h2gt lth3gt ltxslvalue-of
select "??/????/??" /gt lt/h3gt
lt/xsltemplategt lt/xslstylesheetgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet href"ex423_2.xsl"
type"text/xsl"?gt lt??gt lt???? ??"??"gt
lt?? ????gt ?? lt/??gt
lt??gt?????,??????
?????,?????? lt/??gt lt/????gt lt/??gt
ex423_2.xsl
? _at_ ??????
?? --- ?? ? ?? ?????,???????????,??????
??
40
XSL ??????
  • xslvalue-of (????)
  • xsltemplate (????)
  • xslapply-templates (??????)
  • xslfor-each (????)
  • xslsort (????)
  • xslif (??????)
  • xslchoose (?????)

41
xsltemplate (????)
  • xsltemplate?????????,????????????
  • ??
  • ltxsltemplate match?? name????gt
  • lt/xsltemplategt
  • Match???????/??????????????
  • ???? xsl template ??????xslstylesheet
  • xsltemplate ????
  • ltxsltemplate match??gt

??
42
XSL ??????
  • xslvalue-of (????)
  • xsltemplate (????)
  • xslapply-templates (??????)
  • xslfor-each (????)
  • xslsort (????)
  • xslif (??????)
  • xslchoose (?????)

43
xslapply-templates (??????)
  • xslapply-templates
  • ??????????????
  • ?????????(temlate) ????????????, ??????????
  • xslapply-templates ??? xsltemplate ?,??????
  • ltxslapply-templates /gt
  • ltxslapply-templates select"??" /gt

44
xslapply-templates ??-1
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"urixsl"gt
ltxsltemplategt ltxslfor-each
select"??/????"gt ltxslapply-templates
/gt lt/xslfor-eachgt
lt/xsltemplategt ltxsltemplate match"??"gt
ltspan style"colorredfont-size18"gt
ltxslvalue-of /gt lt/spangt
lt/xsltemplategt ltxsltemplate match"??"gt
ltspan style"colorbluefont-size15"gt
ltxslvalue-of /gt lt/spangt lt/xsltemplategt
ltxsltemplate match"??"gt
ltpgtltxslvalue-of /gtlt/pgt lt/xsltemplategt lt/xsls
tylesheetgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet href"ex431_1.xsl"
type"text/xsl"?gt lt??gt lt????gt
lt??gt??lt/??gt lt??gt???lt/??gt
lt??gt?????,???????????,?????? lt/??gt
lt/????gt lt????gt lt??gt???lt/??gt
lt??gt????lt/??gt lt??gt?????,???????????,??????
lt/??gt lt/????gt lt????gt
lt??gt???lt/??gt lt??gt????lt/??gt
lt??gt?????,???????????,?????? lt/??gt
lt/????gt lt/??gt
Ex431_1.xsl
??
45
xslapply-templates ??-2
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"urixsl"gt
ltxsltemplategt ltxslfor-each
select"??/????"gt ltxslapply-templates
/gt lt/xslfor-eachgt
lt/xsltemplategt ltxsltemplate match""gt
ltp style"colorredfont-size15"gt
ltxslvalue-of /gt lt/pgt
lt/xsltemplategt lt/xslstylesheetgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet href"ex431_3.xsl"
type"text/xsl"?gt lt??gt lt????gt
lt??gt??lt/??gt lt??gt???lt/??gt
lt??gt?????,???????????,?????? lt/??gt
lt/????gt lt????gt lt??gt???lt/??gt
lt??gt????lt/??gt lt??gt?????,???????????,??????
lt/??gt lt/????gt lt????gt
lt??gt???lt/??gt lt??gt????lt/??gt
lt??gt?????,???????????,?????? lt/??gt
lt/????gt lt/??gt
Ex431_3.xsl
??
46
xslapply-templates ??-3
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"urixsl"gt
ltxsltemplategt ltxslfor-each
select"??/????"gt ltxslapply-templates
select"??" /gt ltxslapply-templates
select"??" /gt ltp/gt
lt/xslfor-eachgt lt/xsltemplategt
ltxsltemplate match"??"gt ltspan
style"colorredfont-size18"gt
ltxslvalue-of /gt lt/spangt
lt/xsltemplategt ltxsltemplate match"??"gt
ltspan style"colorbluefont-size24"gt
ltxslvalue-of /gt lt/spangt lt/xsltemplategt
ltxsltemplate match"??"gt
ltpgtltxslvalue-of /gtlt/pgt lt/xsltemplategt lt/xsls
tylesheetgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet href"ex432_1.xsl"
type"text/xsl"?gt lt??gt lt????gt
lt??gt??lt/??gt lt??gt???lt/??gt
lt??gt?????,???????????,?????? lt/??gt
lt/????gt lt????gt lt??gt???lt/??gt
lt??gt????lt/??gt lt??gt?????,???????????,??????
lt/??gt lt/????gt lt????gt
lt??gt???lt/??gt lt??gt????lt/??gt
lt??gt?????,???????????,?????? lt/??gt
lt/????gt lt/??gt
??
Ex432_1.xsl
47
XSL ??????
  • xslvalue-of (????)
  • xsltemplate (????)
  • xslapply-templates (??????)
  • xslfor-each (????)
  • xslsort (????)
  • xslif (??????)
  • xslchoose (?????)

48
Xslfor-each
  • ??XML???????,???XSLT??????XML????
  • ??
  • ltxslfor-each select"booklist/book"gt
  • lt/xslfor-eachgt

49
xslfor-each (????)
  • xslfor-each ?????XML??????????????
  • xslfor-each ?????
  • select tag-path ????
  • order-by tag-path ?????

50
xslfor-each ??-1 (??)
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"urixsl"gt
ltxsltemplategt ltxslfor-each
select"??/????"gt ltp style"colorblue"gt
ltxslvalue-of select"??" /gt
ltxslvalue-of select"??" /gtlt/pgt
ltpgtltxslvalue-of select"??" /gtlt/pgt
lt/xslfor-eachgt lt/xsltemplategt lt/xslstyleshee
tgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet href"ex424_1.xsl"
type"text/xsl"?gt lt??gt lt????gt
lt??gt??lt/??gt lt??gt???lt/??gt
lt??gt?????,???????????,?????? lt/??gt
lt/????gt lt????gt lt??gt???lt/??gt
lt??gt????lt/??gt lt??gt?????,???????????,??????
lt/??gt lt/????gt lt????gt
lt??gt???lt/??gt lt??gt????lt/??gt
lt??gt?????,???????????,?????? lt/??gt
lt/????gt lt/??gt
Ex424_1.xsl
??
51
xslfor-each ??-2 (??)
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"urixsl"gt
ltxsltemplategt lttable border"6"gt
ltxslfor-each select"??/????"gt lttrgt lttd
width"20"gtltxslvalue-of select"??" /gtlt/tdgt
lttd width"25"gtltxslvalue-of select"??" /gtlt/tdgt
lttdgtltxslvalue-of select"??" /gtlt/tdgt
lt/trgt lt/xslfor-eachgt lt/tablegt
lt/xsltemplategt lt/xslstylesheetgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet href"ex424_2.xsl"
type"text/xsl"?gt lt??gt lt????gt
lt??gt??lt/??gt lt??gt???lt/??gt
lt??gt?????,???????????,?????? lt/??gt
lt/????gt lt????gt lt??gt???lt/??gt
lt??gt????lt/??gt lt??gt?????,???????????,??????
lt/??gt lt/????gt lt????gt
lt??gt???lt/??gt lt??gt????lt/??gt
lt??gt?????,???????????,?????? lt/??gt
lt/????gt lt/??gt
Ex424_2.xsl
??
52
xslfor-each ??-3 (??)
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"urixsl"gt
ltxsltemplategt lttable border"6"gt ltxslfor-each
select"??/????" order-by"??"gt lttrgt lttd
width"15"gtltxslvalue-of select"??" /gtlt/tdgt
lttd width"20"gtltxslvalue-of select"??"
/gtlt/tdgt lttdgtltxslvalue-of select"??"
/gtlt/tdgt lt/trgt lt/xslfor-eachgt
lt/tablegt lt/xsltemplategt lt/xslstylesheetgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet href"ex424_3.xsl"
type"text/xsl"?gt lt??gt lt????gt
lt??gt??lt/??gt lt??gt???lt/??gt
lt??gt?????,???????????,?????? lt/??gt
lt/????gt lt????gt lt??gt???lt/??gt
lt??gt????lt/??gt lt??gt?????,???????????,??????
lt/??gt lt/????gt lt????gt
lt??gt???lt/??gt lt??gt????lt/??gt
lt??gt?????,???????????,?????? lt/??gt
lt/????gt lt/??gt
Ex424_3.xsl
????
??
53
xslfor-each ??-4 (Multiple)
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"urixsl"gt
ltxsltemplategt lttable border"6"gt
ltxslfor-each select"??/????"gt lttrgt
lttd width"15"gtltxslvalue-of
select"??" /gtlt/tdgt lttd
width"15"gtltxslvalue-of select"??" /gtlt/tdgt
lttdgtltxslvalue-of select"??" /gtlt/tdgt
lt/trgt lt/xslfor-eachgt
lt/tablegt lttable border"6"gt
ltxslfor-each select"??/????"gt lttrgt
lttd width"15"gtltxslvalue-of
select"??" /gtlt/tdgt lttd
width"15"gtltxslvalue-of select"??" /gtlt/tdgt
lttdgtltxslvalue-of select"??" /gtlt/tdgt
lt/trgt lt/xslfor-eachgt
lt/tablegt lt/xsltemplategt lt/xslstylesheetgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet href"ex435_2.xsl"
type"text/xsl"?gt lt??gt lt????gt
lt??gt?? lt/??gt lt??gt??lt/??gt
lt??gt?????,???????????,??????lt/??gt
lt/????gt lt????gt lt??gt?? lt/??gt
lt??gt??lt/??gt lt??gt?????,???????????,??????lt/?
?gt lt/????gt lt????gt lt??gt??lt/??gt
lt??gt??lt/??gt lt??gt???????,???????????????
,????????lt/??gt lt/????gt lt/??gt
Ex435_2.xsl
54
XSL ??????
  • xslvalue-of (????)
  • xsltemplate (????)
  • xslapply-templates (??????)
  • xslfor-each (????)
  • xslsort (????)
  • xslif (??????)
  • xslchoose (?????)

55
Xslsort (????)
  • XSLT Script??????,????XML???????
  • ??
  • ltxslsort select"title" order"descending"/gt
  • Select?????????
  • Order?????????(ascending)????(descending)
  • ????????xslfor-each?xslapply-templates????

??
56
XSL ??????
  • xslvalue-of (????)
  • xsltemplate (????)
  • xslapply-templates (??????)
  • xslfor-each (????)
  • xslsort (????)
  • xslif (??????)
  • xslchoose (?????)

57
Xslif (??????)
  • ?????,??XSLT????????,????
  • ltxslif test???gt
  • ltxslifgt
  • ??
  • ltxslif test_at_salesY gt
  • ltxslifgt

??
58
XSL ??????
  • xslvalue-of (????)
  • xsltemplate (????)
  • xslapply-templates (??????)
  • xslfor-each (????)
  • xslsort (????)
  • xslif (??????)
  • xslchoose (?????)

59
xslchoose (?????)
  • ???????????,????
  • Xslchoose?xslwhen?xslotherwise
  • ??
  • ltxslchoosegt
  • ltxslwhen test???? gt
  • lt/xslwhengt
  • ltxslwhen test???? gt
  • lt/xslwhengt
  • ltxslotherwisegt
  • lt/xslotherwisegt
  • lt/xslchoosegt

??
60
XSL ????? (FO)
  • XSL????????56??????,???????????,???????
  • ??????????
  • ??(block)?????
  • ??(Inline)?????
  • ???????
  • ???????
  • ??????????
  • ??(Out-of Line)?????

61
?? XSL-FO
  • XSL-FO ???????????????????????
  • ????XSL ????????????(Namespace) fo ???
  • fo xxxxxx
  • fobasic-link
  • fobidi-override
  • foblock

62
XML??????
  • ????-xslcopy
  • ??ltxslcopygtlt/xslcopygt
  • ??XML??
  • ????xslelement
  • ltxslelement namecataloggt????lt/xslelementgt
  • ???? ltcataloggt????ltcataloggt
  • ????xslattribute
  • ltxslelement namecataloggt
  • ltxslattribute namecodegtA001lt/xslattributegt
  • ????lt/xslelementgt
  • ????ltcatalog codeA001gt????ltcataloggt

63
xslcopy ?? -1
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet hrefex441_1.xsl"
type"text/xsl"?gt lt??gt lt???? ??"???"gt
lt?? ??"??"gt?? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt???? ??"??"gt lt??
??"??"gt?? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt???? ??"??"gt lt??
??"??"gt?? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt???? ??"??"gt lt??
??"??"gt??? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt/??gt
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"urixsl"gt
ltxsltemplategt ltxslcopygt
ltxslvalue-of /gt lt/xslcopygt
lt/xsltemplategt lt/xslstylesheetgt
Ex441_1.xsl
64
xslcopy ?? -2
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet hrefex441_2.xsl"
type"text/xsl"?gt lt??gt lt???? ??"???"gt
lt?? ??"??"gt?? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt???? ??"??"gt lt??
??"??"gt?? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt???? ??"??"gt lt??
??"??"gt?? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt???? ??"??"gt lt??
??"??"gt??? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt/??gt
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"urixsl"gt
ltxsltemplategt ltxslfor-each
select"??/????"gt ltpgt ltxslcopygt
ltxslvalue-of /gt lt/xslcopygt
lt/pgt lt/xslfor-eachgt lt/xsltemplategt
lt/xslstylesheetgt
? xslfor-each ??? xslcopy ?????????????
Ex441_2.xsl
65
xslnode-name ??
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"urixsl"gt
ltxsltemplategt lttable border"5"gt
ltxslfor-each select"??/????"gt lttrgt
ltxslapply-templates/gt lt/trgt
lt/xslfor-eachgt lt/tablegt lt/xsltemplategt
ltxsltemplate match""gt lttd
style"colorred" width"10"gt
ltxslnode-name /gt lt/tdgt lttdgt
ltxslvalue-of /gt lt/tdgt
lt/xsltemplategt lt/xslstylesheetgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet hrefex443_1.xsl"
type"text/xsl"?gt lt??gt lt???? ??"???"gt
lt?? ??"??"gt?? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt???? ??"??"gt lt??
??"??"gt?? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt???? ??"??"gt lt??
??"??"gt?? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt???? ??"??"gt lt??
??"??"gt??? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt/??gt
xslnode-name ????????
Ex443_1.xsl
66
xslelement ??
lt?xml version"1.0" encoding"BIG5"
?gt ltxslstylesheet xmlnsxsl"urixsl"gt
ltxsltemplategt ltxslelement name"title"gt
ltxslvalue-of select"??/????/??" /gt
ltxslvalue-of select"??/????/_at_??" /gt
lt/xslelementgt lth3gt
ltxslvalue-of select"??/????/??" /gt ltbr/gt
ltxslvalue-of select"??/????/_at_??" /gt
ltbr/gt ltxslvalue-of select"??/????/??"/gt
lt/h3gt lt/xsltemplategt
lt/xslstylesheetgt
lt?xml version"1.0" encoding"BIG5" ?gt
lt?xml-stylesheet hrefex444_1.xsl"
type"text/xsl"?gt lt??gt lt???? ??"???"gt
lt?? ??"??"gt?? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt???? ??"??"gt lt??
??"??"gt?? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt???? ??"??"gt lt??
??"??"gt?? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt???? ??"??"gt lt??
??"??"gt??? lt/??gt lt??gt
?????,???????????,?????? lt/??gt
lt/????gt lt/??gt
xslelement ?????? ?? nametitle ??????? show ?
browser ? Title ?
Ex444_1.xsl
67
?????
Write a Comment
User Comments (0)
About PowerShow.com