IE 5 E IE 5 XSL W 3 C 1 998 1 2 1 6 X S L Tr a n s f o r m a t i o n s IE 5 Formatting Objects Flow Objects IE 5 X S L X S L x s l X M L x s l W 3 C I E 5 H T M L X S L X M L X M X S L X S E.1 IE 5 XSL IE 5 X S L X S X M L E - 1 x s l : a p p l y - t e m p l a t e s x s l : a t t r i b u t e x s l : c d a t a x s l : c h o o s e x s l : c o m m e n t x s l : c o p y x s l : d e f i n e - t e m p l a t e - s e t x s l : e l e m e n t x s l : e n t i t y - r e f X S L o r d e r-by="[+ -] xsl-pattern" s e l e c t = " x s l - p a t t e r n " A t t r i b u t e n a m e = " a t t r i b u t e - n a m e " C D ATA S e c t i o n x s l : w h e n x s l : o t h e r w i s e I f... E l s e I f... E l s e C o m m e n t E l e m e n t n a m e = " e l e m e n t - n a m e " E n t i t y R e f e r e n c e n a m e = " e n t i t y - r e f e r e n c e - n a m e "
916 XML x s l : e v a l x s l : f o r- e a c h x s l : i f x s l : n o d e - n a m e x s l : o t h e r w i s e x s l : p i x s l : s c r i p t x s l : s t y l e s h e e t x s l : t e m p l a t e x s l : v a l u e - o f x s l : w h e n X S L l a n g u a g e = " l a n g u a g e - n a m e " F o r... N e x t o r d e r-by="[+ -] xsl-pattern" s e l e c t = " x s l - p a t t e r n " I f... T h e n m a t c h = " c o n d i t i o n - p a t t e r n " x s l : c h o o s e P r o c e s s i n g I n s t r u c t i o n n a m e = " p r o c e s s i n g - i n s t r u c t i o n - n a m e " l a n g u a g e = " l a n g u a g e - n a m e " X S L x s l x m l n s : x m l = " h t t p : / / w w w. w 3. o rg / T R / W D - x s l " l a n g u a g e = " l a n g u a g e - n a m e " i n d e n t - r e s u l t = "[ y e s n o ]" n o I E 5 X S L X M L l a n g u a g e = " l a n g u a g e - n a m e " m a t c h = " x s l - p a t t e r n " s e l e c t X S L s e l e c t = " x s l - p a t t e r n " x s l : c h o o s e m a t c h = " x s l - p a t t e r n " E.1.1 XSL X S L X S L X S L
E IE 5 XSL 917 E - 1 X S L X S L x s l : a t t r i b u t e x s l : c d a t a x s l : c o m m e n t x s l : e l e m e n t x s l : e n t i t y - r e f x s l : p i X M L <![ C D ATA[This is a CDATA section]]> <xsl:cdata>this is a CDATA section</xsl:cdata> X M L <!ENTITY copy " "> <xsl:entity-ref name="copy"> </entity-ref> X M L <!--This is the comment text--> <xsl:coment>this is the comment text</xsl:comment> X M L <? Wr o x F o r m a t = " S t a r t P a r a g r a p h "? > <xsl:pi name="wroxformat">startparagraph</xsl:pi> X M L <title>instant JavaScript</title> <xsl:element name="title">instant JavaScript</xsl:element> p r i n t _ d a t e <xsl:attribute name="print_date">1998-02-07</xsl:attribute> X M L <title print_date="1998-02-07">instant JavaScript</title>
918 XML E.1.2 XSL x s l : e v a l I E 5 X S L I X T L R u n t i m e a b s o l u t e C h i l d N u m b e r E - 2 ( t h i s _ n o d e ) 1 a n c e s t o r C h i l d N u m b e r ( n o d e _ name, this_node) c h i l d N u m b e r c h i l d N o d e s c h i l d N o d e s 1 0 c h i l d N o d e s ( t h i s _ n o d e ) d e p t h ( s t a r t _ n o d e ) e l e m e n t I n d e x L i s t (this_node, node_name) formatdate(date, format, locale) f o r m a t I n d e x 0 1 X M L D o c u m e n t 0 c h i l d N o d e s n o d e _ n a m e n o d e _ n a m e I E 5 m 1-12 m m 01-12 m m m J a n - D e c m m m m J a n u a r y - D e c e m b e r d 1-31 d d 01-31 d d d S u n - S a t d d d d S u n d a y - S a t u r d a y y y 00-99 y y y y 1900-1999 - - ( n u m b e r, format) 1 0 1
E IE 5 XSL 919 f o r m a t N u m b e r A A Z A A Z Z a a z a a z z I I I I I I I I V i i i i i i i i v ( n u m b e r, format) f o r m a t Time(time, format, locale) u n i q u e I D ( t h i s _ n o d e ) # 0?., % E e # E e 0 # E - e - E + e + h 0-23 h h 00-23 m 0-59 m m 00-59 s 0-59 s s 00-59 A M / P M A M P M 12 a m / p m a m p m 12 A / P A P 12 a / p a p 12 [ h ]: m m 2 5. 02 [ m m ]: s s 6 3 : 46 [ s s ] s s. 0 0 f o r m a t I n d e x () X M L X M L
920 XML E.2 IE5 XSL X S L XSL template p a t t e r n E.2.1 path operator IE5 XSL E - 3 / U R L b o o k / c a t e g o r y < b o o k > < c a t e g o r y > / b o o k l i s t / b o o k / / b o o k l i s t // t i t l e < b o o k l i s t > < t i t l e >. @.// t i t l e < t i t l e >././ b o o k / c a t e g o r y b o o k / c a t e g o r y a t b o o k /@ p r i n t _ d a t e < b o o k > p r i n t _ d a t e * b o o k /* < b o o k > b o o k /@* < b o o k > XSL end() /booklist/book[0] /booklist/book[2] ' < b o o k l i s t > < b o o k > ' < b o o k l i s t > < b o o k > /booklist/book[end()] ' < b o o k l i s t > < b o o k > book/category[2] book[2]/category[2] (book/category)[2] ' < b o o k > < c a t e g o r y > ' < b o o k > < c a t e g o r y > ' < b o o k > < c a t e g o r y >
E IE 5 XSL 921 ' < c a t e g o r y > < b o o k > < c a t e g r o y > E.2.2 XML X M L [operator pattern] o p e r a t o r p a t t e r n X M L o p e r a t o r 1. X S L 1) b o o k / c a t e g o r y < b o o k > < c a t e g o r y > b o o k [ c a t e g o r y ] / c a t e g o r y b o o k / c a t e g o r y < c a t e g o r y > < b o o k > b o o k [ c a t e g o r y ] < c a t e g o r y > b o o k [ t i t l e ] / c a t e g o r y < t i t l e > < b o o k > < c a t e g o r y > < c a t e g o r y > < t i t l e > < b o o k > b o o k [ t i t l e ] [ c a t e g o r y ] 2) book[category = 'Scripting'] < c a t e g o r y > S c r i p t i n g < b o o k > book[category = 'Scripting']/title
922 XML book/title[. = 'Instant JavaScript'] Instant JavaScript 3) @ b o o k [ @ p r i n t _ d a t e ] p r i n t _ d a t e b o o k 4) book[@print_date = '1998-05-02'] 5) book[@print_date = '1998-05-02']/title[. = 'Instant JavaScript'] Instant JavaScript 1998 5 2 /booklist//cover_design[issue = "final"]/*[@url = 'images'] u r l i m a g e s *[@url = 'images'] c o v e r _ d e s i g n c o v e r _ d e s i g n f i n a l i s s u e cover_design[issue = "final"] b o o k l i s t / b o o k l i s t // 2. = X M L I E 5 s c h e m a [price = 29.95] IE5 XSL E - 4 = $ e q $ [price = 29.95]! = $ n e $ [category!= 'Script'] < * $ l t $ [radius $lt$ 14.73]
E IE 5 XSL 923 < = * $ l e $ [age $le$ 18] > $ g t $ [name > 'H'] > = $ g e $ [speed >= 55] $ i e q $ $ i n e $ $ i l t $ $ i l e $ $ i g t $ $ i g e $ X S L < < = X M L $ l t $ $ l e $ $ e q $ [category = 'Scripting'] [category $eq$ 'Scripting'] [category!= 'Scripting'] [category $ne$ 'Scripting'] X S L U C a s e L C a s e [category = 'html' $or$ category = 'HTML'] [category $ieq$ 'html'] 3. E - 5 && $ a n d $ A N D $ o r $ O R $ n o t $ N O T < c a t e g o r y > S c r i p t i n g H T M L
924 XML book/[category = 'Scripting' $or$ category = 'HTML'] Instant JavaScript S c r i p t i n g book/[category $ne$ 'Scripting' $and$ title $ieq$ 'Instant JavaScript'] $ n o t $ S c r i p t i n g < c a t e g o r y > H T M L < c a t e g o r y > < b o o k > < c a t e g o r y > < b o o k > book/[category = 'Scripting' $and$ category $ne$ 'HTML'] book/[category = 'Scripting' $and$ $not$ category = 'HTML'] 4. $ a n y $ $ a l l $ E - 6 $ a l l $ Tr u e # a n y $ Tr u e < b o o k > H T M L < c a t e g o r y > book[category = 'HTML'] < c a t e g o r y > H T M L < b o o k > < c a t e g o r y > H T M L < b o o k > book[$any$ category = 'HTML'] < b o o k > H T M L < c a t e g o r y > < b o o k > $ a l l $ < c a t e g o r y > H T M L < b o o k > < b o o k < c a t e g o r y > H T M L book[$all$ category = 'HTML'] < b o o k > < c a t e g o r y > H T M L E.2.3 XSL X S L e n d ()
E IE 5 XSL 925 b o o k l i s t / c a t e g o r y [ e n d ()] 1. E - 7 e n d () i n d e x () n o d e N a m e () n o d e Ty p e () d a t e () t e x t () v a l u e () D O M v a l u e ( ) book[category!value() = "Scripting"] book[category = "Scripting"] b a n g v a l u e () < c a t e g o r y > i n d e x () book[index() = 5] b o o k [ 5 ] i n d e x () < b o o k > book[index() > 3 $and$ index() < 6] 2. I E 5 X S L E - 8 a n c e s t o r () a t t r i b u t e () c o m m e n t () e l e m e n t () n o d e () p i () t e x t n o d e () n u l l
926 XML b o o k / c o m m e n t ( ) < b o o k > a t t r i b u t e ( ) e l e m e n t ( ) b o o k / a t t r i b u t e ( ' p r i n t _ d a t e ' ) @ b o o k / a t t r i b u t e (' p r i n t _ d a t e ') b o o k /@ p r i n t _ d a t e e l e m e n t ( ) b o o k / e l e m e n t (' c a t e g o r y ') b o o k / c a t e g o r y a n c e s t o r ( ) a n c e s t o r ( b o o k / c a t e g o r y ) < c a t e g o r y > < b o o k > / // a t t r i b u t e () e l e m e n t () E.2.4 X M L X S L W 3 C I E 5 X S L