Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Конспект(слайды) лекций (4 сем)

.pdf
Скачиваний:
86
Добавлен:
15.06.2014
Размер:
3.66 Mб
Скачать

22.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

PDF

<?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

PDF

!

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