Конспект(слайды) лекций (4 сем)
.pdf22.05.2007
j // 3 3 : 3 |
|
j // 8 63 KQ=WL |
|||
• |
j 3 H |
|
D / J : ; 3 8 6 • . 9 . / |
||
|
– j 3 / . <-/ < |
|
|||
|
|
|
: 6 37 : Q=W |
||
|
d?dM 0ST!A' |
|
|
||
|
|
D E / /-. ; / .-: 45 / 3 |
|||
|
– j / H !(S!# |
|
|||
• |
0 ? . 9 33 H |
|
|
/-3. 7 4 3 3 . 9 3 . |
|
|
– j : / 6 . / K-‰?- |
|
|
/ |
|
|
3 6 L |
|
D d>S*A!" g%h!S >V!& Kdg LH |
||
• |
– j / H '&'" |
|
|
– |
^ 33/ / :i |
j 9 33 8 / Ke>(A' $", >%h!S # +(>S!##>(LH |
|
|
– |
4 3 / . / |
|
|
– I3 0 @g |
|
|
– |
j 3 / . / . 9 6 3 / |
|
– ^ 7 8 / H =d@-=b-=0-0a1 < |
|
|
|
|
|
– j / H Q+'ST! @g= |
|
|
– |
E . / / // ; 3 . 7 / ‰? / / |
• |
H |
|
|
– |
. 9 8 9 PCb |
|
– „ 3 < |
|
D |
0$A+&! Q=W e>( K0Q LH |
|
|
– -/-d?d-0ST!A' |
|
|
– |
Y 3 H 0Q 0Q |
• |
– j / H 0+R |
|
|
– |
I3 / 3 : 6 K. 3 : / . / 3 ;- |
: H |
|
|
|
9 L |
|
|
– j : ‰? |
|
|
– |
l / : : 4 3 / . / 3 ; 4 3 |
|
– ^ 3 < 3 < 0W-@$(!e>-g+!(' |
|
D |
0 (!'A$", Q=W e>( K0 Q LH |
|
|
|
|
|
– |
Œ B 3 dg 0Q |
|
c |
|
|
|
] |
|
|
|
|
|
|
dg
dg . 3 /-
3 3 5 dg . 4 3
; .-3 3 45 /
3 9 /
n
H • <
•• 3 < / 3 3 /
•I:i Ž . • 9 < •‹Y
•j 3
•j : <
–$S(>#>e 0ˆ 0!(`!( sss ‚-g('S&!$‚-
–. 9 7 6 . < <
–. 9 3
–X . 3 K ˆ*!(R . L
–; < 8 /
• •‹Y
•Y 3. 3 : < 7 : <H
–j : 3< / K3< /L / 3< / :
<H
•m3. 7 3 6 3 :3 6 / < J
9 6-< ; 3 6-:i 6
•f . /-< / 3 . 3 / K
L 9 6 : < J
3. 4 3 9 6 : . : 9 / ŽX •- Žf / •-Žk •
•‹ <-. 45 2 3. 3 :-3
: 6 < 3 . 6 K !"'%&!VL•
8 9 7 3 7 / : 7 : : 3 . / 574
3 . // : 3. ;
•‘ 9 < K 3 ; 9 6 / <LH
. 37 K3 : 9 L
• •‹Y
•Y 3. 3 : < 7 : <H
–m3. 7 . : 3-
. 45 < 7 4: 6 / H
•/ 7 <
•m3. 7 3 : : 9-. 45 6 < 7
. 7 / Kl /-’ :- E 3-L
•• / 3 . 7 6 3< / 6 3
3 6 K 3 3 45 6L 3< / 6
•‹ <-. 45 2 3. 3 :-
K . L : < K"' $`! V' '%'#!L
•‘ 9 < H /
Cs
5
22.05.2007
• •‹Y |
• •‹Y |
• ‹ < << /p |
• f : <H |
– / KV' ' S!" ($SLH |
– “ / 7 < ; 3 . 3 3 |
•Y /-3. 7 45 3. < – X K ; 3 4L / 7 / • / / /-/ 7
•j / 5 3 / B 6 : :
•j / H-3. 3 63-: 3- 4; 7 3 : 2 /-:-3 9 =bdQ?Q-
|
; K 3 L- / 3 5 / |
. / • . / / 6 J / 7 < =' T- |
||
|
K 3 9 3 . 3 / gU>" (*L |
/-3 dg 3 : < 0Q s |
|
|
• |
^ 3 |
|
||
– “ / 7 9 K ; 3 L < |
|
|||
• |
j 2 / : ; / ; |
|||
|
|
|||
• |
„ 3 5 / |
/ K / 9 6 : < J . 37L |
||
– ! / KV>S*A!" S!" ($SLH |
– m3. 7 . 6 8 ; 3 6 3 < |
|||
• |
Y / 3 / : 4 4 |
: 7 • . /-: / 3 73 3 |
||
• j / H-3 :5 2 6 . ;-/-. ; |
||||
9 6-< ; 3 6 :i 6 : |
||||
|
3 3 / ; 4 ‰? / |
|||
|
< 3. 7 7 3 :3 6 8 / <-. /- |
|||
• |
„ 3 |
|||
3 < < < 8 6 |
|
|||
• |
j 2 / : 7B 3 3 ; |
|
•f .-/ /
/ / / / 3 ;
•E / /-H
–Y H < 7 : < 3 . 6
–Y / H 6 : <
C |
C |
• •‹Y
•f : < 9K . 4 ; 7-
. / /-9 4L : <p
–I 6 . 3
–^ 9 / 7 < K ; ns < L J 3 B 3 < H / 3 B 6-/-.-/ 3 3. 9 3-• 3 6 / / ; 3 6 ; 6 : 3
–/ 7 < K3 3 L J . B
–j ; 3. 7 7 4 : H 3 :
. 7 3 . : 7B < ; 7 : 7B < :i / <
/ • ; ; / 3 3 K
3 B 3 / 3 6; 3 3 : L
–^ / 9 6 / / H . : 9 : 3 K
: L . 6 / 7 .- " #
3. 7 7 8 / . 3 <
–E / /-. 6 : < B 6
H ; 3 3-: 3 3 .
. 3 /
CC
• •‹Y
•j / 6 : <H
•$% &
–I 6 3< 6
–^ : Ž3 • K 3 6 : L
–j ˆ*!(R
–j QbWd 9 6
–‹ . 3 3 7 K. 7- -. L
–m 3 . 3 . ; /
–Q=W 3 7 / / . //
T +HMMA>V$# $#+('# (*M#!V"'M
CN
ˆ*!(R
DO . 3
D^ : PCb• . 3 ˆ*!(R s ssC
Df / 3 =' T
D |
/ 3 / 3 / 3 / |
0 ? |
|
D |
m ; 7 . ; ; 8 / 9 |
||
|
|||
|
4; 3 3 / 8 9 3 5 3 45 < |
|
|
|
/ |
|
|
D |
ˆ*!(R 0ˆ : < |
|
|
D |
ˆ*!(R . 3 / / |
|
|
|
. / ‹Y KWZ-g('S&!- $S(>#>e L- |
|
|
|
/ / / ‹Y |
|
|
|
Cc |
|
6
0 ?H P!% F0)$"#G
<aissearchscreen>
<head><title>Person Search</title></head> <body>
<input type="hidden" name="isAdvanced" value="false"/>
<input show="always" type="text" label="Keyword" value="titov"/> <input type="checkbox" label="Fuzzy search" value="No"/> <result>
<header>
<tablecell>Full Name</tablecell>
…
</header> <row>
<tablecell>Maksym TITOV</tablecell> <tablecell>71169</tablecell> <tablecell>40-3-C08</tablecell>
… </row> <row>
<tablecell>Oleg TITOV</tablecell> <tablecell>EXT</tablecell>
…
</row>
…
<rowcount>4</rowcount>
</result>
</body>
</aissearchscreen>
=' TH f 9 .
•I: 3. ; 3 . 7 / 2 / /
•^ 7 / =Q?‰ / : 7H
|
XML |
|
|
|
|
|
|
|
|
|
|
C:\presentation\author\firstname |
/presentation/author/firstname |
22.05.2007
0 ?H > ?!
• ’ / ; 3 9
XML- |
|
<document> |
|
<input type=“person” name=“A”/> |
|
<input type=“number” name=“B”/> |
|
… |
|
</document> |
- |
|
|
|
... |
|
SQL |
=' T
AAA/BBB –
AAA/BBB –
//BBB – - , (BBB) //AAA/BBB – BBB AAA
//* –
. –
/AAA/BBB[1] – BBB AAA /AAA/BBB[last()] – BBB - AAA
/AAA/EEE | //BBB – /AAA/EEE //BBB
=' TH :
//BBB[@id] – BBB, id
//BBB[@*] – BBB, ! -
//BBB[not(@*)] – BBB,
//BBB[@id='b1'] – BBB, id
" b1
//BBB[normalize-space(@name)='bbb'] – BBB,
name ",
# " bbb
=' T 8 9
//*[count(BBB)=2] : 7 2 /-/ 45 ; < 2 / ZZZ
//*[count(*)=2] J : 7 2 /-/ 45
. 7 < ; < 2 /
//*[name()='BBB'] 2 / 3 / / ZZZ• 2 . MMZZZ
//*[starts-with(name(),'B')] 2 /-/ < ; 3 3 Z
//*[contains(name(),'C')] 2 /-/ < 3 b
//*[string-length(name()) = 3] 2 /-/ < 3 3
< 3 /
7
=' T J \'`$,' $", A&
<class name=‘CS 433’>
<location building=‘Olin’ room=‘255’/> <professor>Johannes Gehrke</professor> <ta>Dan Kifer </ta>
<student_list>
<student id=‘999-991’>John Smith</student> <student id=‘999-992’>Jane Doe</student>
</student_list> </class>
Starting Element Attribute Constraint
//class[@name=‘CS 433’]/student_list/student/@id
Element Path Selection
Selection Result: The attribute nodes containing 999-991 and 999-992
?('"#e>(A' $>" 'A+&!
hello.xml
HTML
hello.xsl
22.05.2007
=' TH j /
•f 6 /
M$"# $ * !M(!S >(M+!(#>"M ! KL
•f 6 8 7
M$"# $ * !Me'S*& RM”"'A!
•f 6 3 < 3
MM+!(#>"
•f 6 / 8 7 Ž‹•
M$"# $ * !Me'S*& R}”#T>( "'A!qF‹G•MV!'"M+!(#>"M ! KL
•f 6 / . 3; / 3 „ 4 ’ ’
MMV!'"M+!(#>"}# '( # _$ TK - F„ 4 GL• M M MV!+* $!#M+!(#>"}+>#$ $>"KL q •
<?xml version="1.0" ?> |
|
|
<!-- hello.xml --> |
|
|
<?xml:stylesheet type="text/xsl" |
|
|
href="hello.xsl"?> |
|
|
<myMessage> |
|
|
<message>Hello XSLT!</message> |
<html> |
|
</myMessage> |
||
<body> |
||
|
||
<?xml version="1.0" ?> |
<h1>Hello |
|
XSLT!</h1> |
||
|
||
<!-- hello.xsl --> |
</body> |
|
</html> |
||
|
||
<xsl:stylesheet version="1.0" |
|
|
xmlns:xsl="http://www.w3.org/1999/XSL/Tran |
|
|
sform"> |
|
<xsl:template match="myMessage"> <html><body>
<h1><xsl:value-of select="message"/></h1>
</body></html>
</xsl:template>
</xsl:stylesheet>
j 4; 0 ?
<?xml version="1.0" encoding="WINDOWS-1251"?> <?xml-stylesheet type="text/xsl"
href="ex01-1.xsl"?>
<?xml version="1.0" encoding="WINDOWS-1251"?>
<?xml-stylesheet type="text/xsl"
href="http://site.org/ex01-1.xsl"?>
~*""$", 'A+&!
•>'V T!&&> A& $" > W
•~*" '&'" e(>A T! S>AA'"V &$"!H
java org.apache.xalan.xslt.Process -in hello.xml -xsl hello.xsl
• ~*" >*( ?('"#e>(A h'`' e(>A T! S>AA'"V &$"!
8
0 ?H •. 5 3
XSLT – XML
XPath
xsl:stylesheet |
<html> |
|
XPath |
||||||
|
|
|
|
|
<body> |
xsl:value-of |
|||
|
|
|
|
|
|
|
|||
|
|
|
xsl:template |
|
|
… |
xsl:value-of |
||
|
|
|
|
|
|||||
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|||
|
|
|
… |
|
|
… |
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
xsl:apply-templates |
|||
|
|
|
xsl:template |
|
… |
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
||
|
|
</body> |
|
|
|||||
|
|
" |
|||||||
! " XML |
<html> |
|
|
||||||
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
0 ? !A+&' ! &!A!"
•xsl:template match=“XPath”
–d!e$"!# ' !A+&' ! (*&! e>( +(>V*S$", >* +*
–W# '++&$!V >"&R > ">V!# T' A' ST T! +' !("
–W"`>)!V %R *#$", o #&H'++&R !A+&' !#Mt
<xsl:template match="/"> <html><body>
<xsl:apply-templates/> </body></html>
</xsl:template>
<xsl:template match=“name">
Your name is <xsl:value-of select=“."/> </xsl:template>
22.05.2007
0 ? 0 R&!#T!! &!A!" #
•' ST$", '"V #!&!S $>" !A+&' !#
–xsl:template
–xsl:apply-templates
–xsl:value-of
•Z('"ST$", !&!A!" #
–xsl:for-each
–xsl:if
–xsl:choose
0 ?!A+&' !
<xsl:template match = “expression” mode = “name” priority = “number” name = “name” > Body
</xsl:template>
Default: mode = “” priority = (computed as explained earlier) name = when no match, no mode
Body = |
|
|
• XML constructors: <myTag>...</myTag> |
<b> ... </b> |
... |
•XSL instructions:
–<xsl:apply-templates> (= recursive call)
–<xsl:value-of> (= copy the value)
–<xsl:copy> (= shallow copy)
–<xsl:copy-of> (=deep copy)
–<xsl:element> (= more flexible than XML constructors)
–<xsl:attribute> (= add an attribute to the element)
–<xsl:if> (= conditional)
–<xsl:for-each>
–Instructions for variables
0 Q++&R ?!A+&' !#
<xsl:apply-templates select = “expression” mode = “name” > Body
</xsl: apply-templates>
•d!e'*&
–select = “*” (children)
–mode = “” (empty mode)
Z>VRH
•F0>( G $"# (*S $>"#
•F='('A!A !(G $"# (*S $>"#
0 Q++&R ?!A+&' !#
<xsl:template match = “* | /”> < xsl:apply-templates/> </xsl:template>
<xsl:template match=“a”> <A>< xsl:apply-templates/></A> </xsl:template>
<xsl:template match=“b”> <B>< xsl:apply-templates/></B> </xsl:template>
<xsl:template match=“c”> <C>< xsl:value-of/></C> </xsl:template>
9
0 ? `'&*! >e &!A!"
•xsl:value-of select=“expression”
–`'&*' !# T! ! +(!##$>" '# ' # ($", '"V >* +* # T! (!#*&
–Q++&$!V >"&R > T! e$(# A' ST
–FG #!&!S # T! ! `'&*! >e T! S*((!" ">V!
<name prefix=“Mr.”>John Doe</name>
_________________________________________________
<xsl:template match=“name">
Your name is <xsl:value-of select=“@prefix"/> <xsl:value-of select=“."/>
</xsl:template>
22.05.2007
0 ? e>( !'ST &!A!"
•xsl:for-each select=“expression”
–=(>S!##!# !'ST ">V! #!&!S !V %R T! =' T ! +(!##$>"
–Q++&$!V >"&R > T! e$(# A' ST
–“.” #!&!S # T! ! `'&*! >e T! S*((!" ">V!
<class>
<student>Kim Smith</student> <student>Jack Black</student>
</class>
_______________________________________________________
<xsl:template match=“class"> <xsl:for-each select=“student">
<b><xsl:value-of select=“."/></b> </xsl:for-each>
</xsl:template>
0 ? $e &!A!"
•xsl:if test=“expression”
–`'&*' !# T! ! +(!##$>" '"V $e (*! '++&$!# T! !A+&' !
–\> if-else- *#! choose $"# !'V
<xsl:template match=“class">
<!-- Select the first node in the set. --> <xsl:if select=“position() = first()">
<b><xsl:value-of select=“."/></b> </xsl:if>
</xsl:template>
0 ? ST>>#! &!A!"
•xsl:choose
–0!&!S # '"R "*A%!( >e '& !("' $`!#
–[#! $"# !'V >e if-else- >( switch # ' !A!" *#!V $" > T!( +(>,('AA$", &'",*',!#
<xsl:choose>
<xsl:when test=“not(text())">
Missing value!
</xsl:when>
<xsl:otherwise>
<xsl:value-of select=“.”/>
</xsl:otherwise>
</xsl:choose>
0 ? @*"S $>"#
•'(,! #! >e * $&$ R e*"S $>"#
•'A+&!#H
–count H (! *("# T! "*A%!( >e ">V!# $" ' ">V! #!
<xsl:value-of select="count(/addressbook/entry)"/>
–starts-with H (! *("# (*! $e # ($", # '( # _$ T ' ,$`!" ST'('S !(
<xsl:if test="starts-with(@location, 'h')"> Starts with ‘h’
</xsl:if>
0 a'($'%&!#
d!S&'($", ' `'($'%&!
–<xsl:variable name = “vname” select = “value”> value </xsl:variable>
–a'&*! q !$ T!( $" #!&!S - >( $" %>VR
–$ T!( $" o #&H !A+&' !t oM #&H !A+&' !t >( ' >+ &!`!&
d!S&'($", ' +'('A! !(H
–<xsl:param select = “value”> value </xsl:param>
–In o #&H !A+&' !t oM #&H !A+&' !t- ' T! %!,$""$",
='##$", ' +'('A!A !(
–<xsl:with-param select = “value”> value </xsl:param>
–W" o #&H'++&R !A+&' !#t oM #&H'++&R !A+&' !# t
[#$", `'($'%&!#H •–`"'A!—
10
QVV(!## Z>>) 'A+&!
<addressbook>
<entry>
<name prefix="Mr."> |
<entry> |
|
<name>Susan White</name> |
||
Zack Black</name> |
||
<address> |
||
<address> |
||
<street>2000 Center |
||
<street>101 Main St</street> |
||
Rd</street> |
||
<city>Searcy</city> |
||
<city>Dallas</city> |
||
<state>AR</state> |
||
<state>TX</state> |
||
<zip>12345</zip> |
||
<zip>67790</zip> |
||
</address> |
||
</address> |
||
<phone location="home" |
||
<phone location="home“ |
||
number="501-279-9999" /> |
||
number="501-279-0000" |
||
<phone location="work" |
||
/> |
||
number="501-279-1111" /> |
||
</entry> |
||
</entry> |
||
|
||
<entry> |
</addressbook> |
|
|
||
<name>John Brown</name> |
|
|
<phone number="501-305-2222" /> |
|
|
</entry> |
|
<xsl:template match="entry"> <tr>
<td><xsl:apply-templates select="name"/></td> <td><xsl:apply-templates select="address"/></td> <td><xsl:apply-templates select="phone"/></td>
</tr>
</xsl:template>
<xsl:template match="name">
<xsl:value-of select="@prefix"/> <xsl:text> </xsl:text> <xsl:value-of select="."/>
</xsl:template>
<xsl:template match="address"> <xsl:value-of select="street"/><br/>
<xsl:value-of select="city"/>, <xsl:value-of select="state"/> <xsl:text> </xsl:text>
<xsl:value-of select="zip"/> </xsl:template>
<xsl:template match="phone">
<xsl:value-of select="@location"/>: <xsl:value-of select="@number"/> <br/>
</xsl:template>
</xsl:stylesheet>
22.05.2007
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:output method="html"/>
<xsl:template match="/addressbook"> <html><body>
<table border="1"> <caption>Address Book</caption> <tr>
<th>Name</th><th>Address</th><th>Phone
Number(s)</th>
</tr>
<xsl:apply-templates select="entry"/> </table>
</body></html>
</xsl:template>
0 @gH @>(A' $", g%h!S #
•@gH . 3 / /
•0 @gH 0 ? . : /
/ @g
•@g= =(>S!##>(H . //-. : 45 / @g 8 / . ; K=d@-=0-L
$ |
|
$ |
$ |
XML |
|
FO |
|
<?xml version="1.0"?> |
|
<fo:root> |
FOP |
<presentation> |
XSL:FO |
<fo:page-sequence> |
Processor |
<title> |
XXX |
<fo:flow> |
|
... |
||
</title> |
||
</fo:flow> |
||
</presentation> |
||
</fo:page-sequence> |
||
|
||
|
</fo:root> |
0 @gH @>(A' $", g%h!S #
FO
! ! :
•˜ 8
•^ : 3 9
•k
•f / 9 3 9
•™ M ; 3 9
•I 3 .
• |
f : 9 |
FOP Processor: |
||||
• |
Ž 3 ; • 3 |
Apache FOP Processor |
||||
|
|
|
|
|
||
• |
E : 9 |
|
|
|
|
|
|
|
|
|
|
||
• |
v 8 |
|
|
|
|
|
|
|
|
|
|
•x
11
22.05.2007
0 @gH j /
Web Interface
«#$ »
XSLT
XML
XSL:FO
Client Statement (PDF)
FOP
Processor
!
m 3 / 0 ?
. :
•m3. 7 0 ? : :
•m3. 7 <
– • #& +(>S
xsltproc -o result.xml stylesheet.xsl source.xml
•m3. 7 _!% :
K. 3 . 6 L
–0 W c c‚
–>U$&&'- @$(!e>
–g+!('
0 ? . 9 33
K: : 0 ?L
&$% #& J b- =!(&- =R T>"
0 J 0 g Ku'`'0S($+ - aZ0S($+ L'&'" J u'`'- b‚‚ K Q+'ST! =(>h!S L 0' >" J u'`'- \ ?
g('S&! dw J u'`'- = M0ˆ - bMb‚‚ 0'%&> (>" b‚‚- =!(&- =‰=- =R T>" ?('"#e>(A$ J >U$&&' M @$(!e>
J u'`'
j ; dg 0Q
. ; 3 . 2 / / / l : 3 B 6 /-;
8 63 . // : 3. 7 7 3
/ m . /-: : ; . < 2 < / 6
: 3 / /-3 / < :5
DOM SAX
l / /
Prolog |
|
|
|
op A& `!(#$>"qr srpt |
|
|
|
|
|
|||||
|
|
|
op A& # R&!#T!! R+!qr ! M #&r T(!eqr#T>_š%>>) #&rpt |
|
DTD |
|||||||||
|
|
|
||||||||||||
Comment |
|
|
|
|
|
oydgb?|= S' '&>, 0|0? S' '&>, V Vt |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
oy b' '&>, &'# *+V' !V ssC sC t |
|
|
|
Attribute |
|||||
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
oS' '&>,t |
|
|
|
|
|
|||
|
|
|
|
|
|
|
o%>>) $Vqr%) s rt |
|
|
|
|
|
||
|
|
|
|
|
|
|
o'* T>(t1'A%'(V!&&'- ' T!_oM'* T>(t |
|
|
|||||
|
|
|
|
|
|
|
o $ &!t |
|
|
|
Content |
|||
Node(Element) |
|
|
|
|
d!`!&>+!(…# 1*$V! |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
oM $ &!t |
|
|
|
|
|
|||||
|
|
|
|
|
|
|
o,!"(!tb>A+* !(oM,!"(!t |
|
|
|
|
|
||
|
|
|
|
|
|
|
oV!#S($+ $>"tQ" $" V!+ T &>>) ' S(!' $", '++&$S' $>"# _$ T |
|||||||
|
|
|
|
|
|
|
oMV!#S($+ $>"t |
|
|
|
|
|
||
Node(Element) |
|
|
|
|
oM%>>)t |
|
|
|
|
|
||||
|
|
|
|
o%>>) $Vqr%) s rt |
|
|
|
|
|
|||||
|
|
|
|
|
|
|
||||||||
|
|
|
|
|
|
|
o'* T>(t~'&- w$AoM'* T>(t |
|
|
|
|
|
||
|
|
|
|
|
|
|
o $ &!t |
|
|
|
|
|
||
|
|
|
|
|
|
|
|
$V"$,T ~'$" |
|
|
|
|
|
|
|
|
|
|
|
|
|
oM $ &!t |
|
|
|
|
|
||
|
|
|
|
|
|
|
o,!"(!t@'" '#RoM,!"(!t |
|
|
|
|
|
||
|
|
|
|
|
|
|
oV!#S($+ $>"tQ e>(A!( '(ST$ !S %' |
&!# S>(+>(' ! U>A%$!#- |
||||||
|
|
|
|
|
|
|
'" !`$& #>(S!(!##- '"V T!( >_" ST$&VT>>V > %!S>A! |
|||||||
|
|
|
|
|
|
|
Š*!!" >e T! _>(&V oMV!#S($+ $>"t |
|
|
|
|
|
||
CData |
|
|
|
|
|
oM%>>)t |
|
|
|
|
|
|||
|
|
|
|
|
oy}bdQ?Q} 0>A! ! T' S'" $"S&*V! ',# t o"> ',t ••t |
|
|
|||||||
|
|
|
|
|
|
|
||||||||
Entity |
|
|
|
|
|
€& • €'A+• €, • |
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
oMS' '&>,t |
|
|
|
|
|
12
k 9 .9 dg
2 6 /'&( %(K3 3 ; 3 6 : 5 L 3 /) !-:3 45 / . 3
. // ; . 6 8 63-. 3 45 6 / 3 7 ;- / 8 9 3 4: < 2 / /
I:i . 3 . 3 . 3 3 3 ; 3 6 : / l :i
: 3 /-/. . / 3 < B 2 /
. 3 3 . 2 / Y 3 . 7 / 2 / / . 3< ;
B . . / 3 3
22.05.2007
|
|
|
|
|
|
|
|
|
|
|
|
|
! " ! # |
|
$%$& |
||
|
||
|
! ' |
|
! " # |
( ) * |
|
! |
+ " |
|
|
||
|
||
! ! |
, # # |
|
$% |
|
|
& |
&- |
|
' |
. /0-) * & |
|
( ) |
0- |
|
$&(&* |
1 / # ! |
|
) * |
||
|
||
|
2 # / / 3 456789: 3;<8 8=>9>:>49 |
|
& ! |
||
|
||
' + |
/ / 0 |
|
' +,- |
/0 / 0 |
. ##% !# MSXML# /4.0
m 0Q
0Q 2 3 : 6 / 7 m / 3 /-:i . 3-. 3 45 6 0Q
8 63-. 3 7 : / 3 6 : 2 /
/ 3 :-: : ; < 3 . //
3 6 9 3 : 6 0Q
! "!"#$ % % %
& |
|
|
'' (") $ ! "!"#$ $ *# *) $+" #$",) "- |
|
|
.# $ * , " / $, #0 .1% $, #0 2 |
$"!.13 |
$+,*4 56 " $ *# |
'' (") $ ! "!"#$ $ *# *) #$",) "-
7* 1 / $, #0 # !"% $, #0 .1% $, #0 2 $"!.13
7* 1 / $, #0 # !"% $, #0 .1% $, #0 2 $"!.1% $, #0 #*$ $ *#8 !"3
'' (") $ ! "!"#$ $ *# *) (* !"#$9 #1 ", #$",) "- |
|
|
|||
7* 1 /:* $*, * $*,3 |
|
|
|
||
7* 1 /3 |
$+,*4 |
56 " $ *# |
|
|
|
7* 1 /3 |
$+,*4 |
56 " $ *# |
|
|
|
7* 1 / $, #0 # !"% $$, $": $ $$, $" 3 |
$+,*4 |
56 " $ *# |
|||
7* 1 / $, #0 # !"3 |
$+,*4 56 " $ *# |
|
|
||
7* 1 / + , +;<% #$ $ ,$% #$ "#0$+3 |
$+,*4 56 " $ *# |
||||
7* 1 / + , +;<% #$ $ ,$% #$ "#0$+3 |
$+,*4 |
56 " $ *# |
|||
7* 1 / $, #0 $ ,0"$% $, #0 1 $ 3 |
$+,*4 |
56 " $ *# |
'' (") $ ! "!"#$ $ *# *) $+" 5,,*,9 #1 ", #$",) "-
7* 1 / = , "56 " $ *# "3 $+,*4 56 " $ *#
7* 1 / = , "56 " $ *#"3 $+,*4 56 " $ *#
7* 1 / = , "56 " $ *# "3 $+,*4 56 " $ *#
>
j / 5 3 3 / 6
DOM |
SAX |
• |
•! |
|
" |
• Random-access |
•$ |
|
|
•& # |
•& , |
" |
, # |
• # ! |
•' |
XML- . |
" |
• XSLT-# |
•( |
|
|
•) |
•) |
|
" |
•# " |
• |
. |
. |
•( " |
• |
XML-! |
XML- ". |
|
|
/ 3 / 3 7 3 ; / < /
* ! |
DOM |
SAX |
COM |
+ ! |
- " ! |
|
, , |
Connection Point COM " |
|
|
", " |
|
|
! |
|
|
|
CORBA |
-//- |
|
|
|
CORBA |
|
|
" |
Java |
) |
) JAXP (Java |
|
DOM # |
API for XML Parsing) |
|
! " |
|
|
|
|
PHP |
PHP4.0.6 |
|
|
|
|
ASP |
! |
|
|
COM- ", |
|
|
, , MSXML4.0. |
13
22.05.2007
I3 : 3 . |
|
I: : B : |
• f 3 3 /-; 0Q / 7 / 3 . 7 ; / |
• |
dg B : 3 / : 4 3 2 . |
3 0Q 3 7 8 63*+,-(./%(-; 6 / |
|
: 3 / / m . // . 3 8 / 9 |
3 5 3 7 / 8 9 4 / |
|
3 4; 6 9 7 7 63 6 |
|
|
|
|
• |
0Q B : : 4 3 7 / 3 < .-; |
•„ 7 dg . 9 4 3 : 6 ; 3 3 . 3 / 3 3 3 / 3 / I: :
0 N s . 3 : |
B : . 3< ; / 8 63 ((>(‰'"V&!(-/ |
|
– &/&&0&. &1 % `!" |
||
. . 4 3 . // 6 / |
||
|
–(%& /&/% 2& 3% `!"
–/(& 4 ( % `!"
•‹ 7B 3 . 3 . : / m-3 3-
. 3 8 63 3. 3 : 3 .
6
m 3 9
Y u'`' / 3 9 . 3 3 . 6 : < / 6
•0*"
•WZ
•g('S&!K ;B . / / . / /L
j P$"V>_# . 8 / : . . . 3 3 /$S(>#>e
14