Ðåàëèçàöèÿ Xlink Ÿçûêà Ññûëîê XML Ñ Ïîìîùüþ Ôóíêöèîíàëüíûõ Ìåòîäîâ

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

XLink  XML 

c 2005

. .. , ..


. ..
119992 ,

Stilo Corporation

1900 City Park Drive, Suite 504, Ottawa, Ontario, Canada


E-mail: lizorkin@hotbox.ru, lisovsky@acm.org

..
(, , , ,

XML-,

XML-

SXLink

(,

.)

S-.

).

Scheme

XLink W3.

XLink

XML-

SXLink,

IMG

HTML.

HyTime, ISO

, HTML,
.

Scheme

SXLink

XML

Linking

Language

(XLink)

[1],

[2] HTML HyTime,

XLink.

XML
.

XLink

,
,

. ,

(..

XML.

8.

), XLink
.

XLink

XLink

XLink)

XLink

XML

XLink

XLink Java)

Linking

Language,

(,

(XML

XML [4].

XML-

HTML,

[3].

[5].

SXML.

Scheme,

XLink

IETF

RFC

XLink

2396

XML-

SXLink

XLink

Program

XLink

Interface,

API)

Scheme.

XML-,

(Application

(well-formed)

[6].

XML

(XML

XPointer)

SXLink.

(URI).
,

XLink,

1.

XLink.

XLink

(extended

XLink,

(inbound)

link).

(third-party)

Scheme.
2

, ..

XLink .

Language,

XML-

[7].

Pointer

XLink

XLink.

XLink

SXLink.

5.

XLink,

XLink, ..

SXLink

XLink,

(label).

.
:

(outbound).

(arc). , ,

(,

XML,

2.

URI,

(remote),

HTML).

,
.

IMG

XLink,

[3].

XML-,

HTML,

XLink

,
;

(,

"

"

" ", "", ""

"".

XLink

(linkbases).

).

).

"

"

XPointer

HTML.

XLink

XLink 7,

(Amaya [8], Mozilla [9]).

2.

, .

(simple link)  ,

XLink.

XLink

<!-- XLink. -->


<MyExtendedLink xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="extended">
<!-- . ( XLink) -->
<author xlink:type="resource" xlink:label="A">
<!-- , -->
<name>John</name>
<surname>Smith</surname>
</author>
<!-- . URI-->
<book xlink:type="locator" xlink:label="B"
xlink:href="http://library.com/book.pdf"/>
<publisher xlink:type="locator" xlink:label="P"
xlink:href="http://publisher.com"/>
<!-- . "A" "B"-->
<MyArcElement xlink:type="arc" xlink:from="A" xlink:to="B"/>
<MyArcElement xlink:type="arc" xlink:from="B" xlink:to="P"/>
</MyExtendedLink>
. 1: XLink.
( ), ( ) ( ).

<!-- XLink. -->


<MySimpleLink
xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:type="simple"
xlink:href="http://library.com/book.xml#xpointer(doc/contents)">
Go to table of contents
<!--- -->
</MySimpleLink>
. 2: XLink

XLink.

( XLink , ,

).

XLink2HTML,

XLip [11]).

(X2X

XML,

(XLink2HTML,

Scheme,

XTooX).

(API),

SXML

SXLink,

[13],

Java

X2X XLip,

XLink.

XLink.

HTML),

[10],

(,

XLink.

SXLink

..

XLink
SXLink

2-

3-

XLink.

[12],

http://www.w3.org/1999/xlink.

SXLink
Scheme

XLink

XLink

Java,

XLink

X2X XLip.

XML-

Java

XML- 
XLink.

XLink

XLink

XLink.

, ,

XLink

).

XLink.

X2X XLip

XML,

XLink

XML.

XML,

XLink,

XLip

X2X

XML

(well-formed)

Java,

XML-

S-.

XML- ,

XML, HTML,

PDF ..

Lisp

SXML

XLink

XML, SXML

XML, XML-

XLink S-

(infor-

mation items),

S-,

XML-.

XML

(well-formed)

XML

XML

SXML [13]

Scheme.

mation Set [14])

(XML Infor.

Scheme, .

(properties),

SXML

SXML.

(QNames),

, , XLink.

,


"

"

"",

3 XML-

()

XLink SXML.

DTD,

XML,

X2X XLip).

XLink,

SXML

( ,

, .

4.1

XLink SXML,

XML-,

XLink

SXLink

SXML,

SXLink,

XML.

, XML- (

), SXML

(, ).

).

,
S-.

4.2

S-

SXML

SXLink

,
.

SXLink

XLink,

),

S-

(,

SSAX [15]. XML-

SXML.

<?xml version='1.0'?>

(*TOP*
(*PI* xml "version='1.0'")
(*NAMESPACES*
(xlink "http://www.w3.org/1999/xlink"))
(doc

<doc
xmlns:xlink=
"http://www.w3.org/1999/xlink">
<SimpleLinkElement
xlink:type="simple"
xlink:href="http://www.w3.org/">
<SomeMarkup/>
</SimpleLinkElement>

(SimpleLinkElement
(@ (xlink:type "simple")
(xlink:href "http://www.w3.org/"))
(SomeMarkup)
)

<NonXLinkElement
id="start">
Starting resource
</NonXLinkElement>

(NonXLinkElement
(@ (id "start"))
"
Starting resource "
)

<ExtendedLinkElement
xlink:type="extended">

(ExtendedLinkElement
(@ (xlink:type "extended"))

<LocatorElement
xlink:type="locator"
xlink:href="#xpointer(id('start'))"
xlink:label="L1"/>

(LocatorElement
(@ (xlink:type "locator")
(xlink:href "#xpointer(id('start'))")
(xlink:label "L1")))

<ResourceElement
xlink:type="resource"
xlink:label="L2">
Ending Resource
</ResourceElement>

(ResourceElement
(@ (xlink:type "resource")
(xlink:label "L2"))
"
Ending Resource
)

<ArcElement
xlink:type="arc"
xlink:from="L1"
xlink:to="L2"/>

(ArcElement
(@ (xlink:type "arc")
(xlink:from "L1")
(xlink:to "L2")))

</ExtendedLinkElement>

</doc>

. 3: XML- XLink ( ) SXML

"

XLink .

SXML-

XLink, Scheme

(auxiliary list).

[16].

SXML-

XLink

XLink

SXLink,

SXML.

SXML-.

,
(document

element).

4.3

, ,

SXLink

XML.

'@@.

@@.

SXML-

SXML Tools SXPath

(,

resource)

SXLink),

4.3.1

SXML.

XLink,

[2].

,

2,

[1]

XLink

URI).

resource)

XLink SXLink

XLink

(ending

XLink.

XML

XLink

XLink,

(starting

SXML

, .

@@

XLink.

XLink,

XML.

"@"
Scheme

XML SXML

SXLink

),

SXLink

,  

,

Scheme

SXLink

uri

()

uri

fragment.

 .

 

(XLink

locator),

resource),

(XLink

fragment

fragment

Pointer

Language),

.
SXML

(XML

xlink:to,

XML

XLink

xlink:from ,
xlink:from . ,

 .

SXML.

3 .

uri

xlink:to

S-

Scheme),
,

4.4

4.3.2

 

),

.

XLink,

xlink:to,
,
.

xlink:from

SXLink.

XLink:

SXLink ,

SXLink

(doc-set)

(node-set) SXPath [17], ,


(,

.
,

XLink
SXLink

),

, ()

SXLink

SXML.

SXLink

SXML.

(linkbase),

SXLink

XLink,

SXML.

XLink,

SXLink

XLink

 , (

XLink).


XLink
SXLink

SXLink

(define
(xlink:load-linkbases-recursively
doc-set . max-steps)
...)

XLink.

SXLink

XLink,

Scheme.

6.

doc-set,

XLink,

5.1

..

SXLink .

10

..

max-steps

5.3

XLink


.

2,

max-step

max-steps

XLink.

XLink

[1]:

1. -,

,
;

..

XLink

SXLink

doc-set,

xlink:arcrole)

(inbound) (third-party).

(xlink:role

(outbound),

()

XLink:

2. -, XLink,

- .

xlink:href,

XLink

XLink

XLink,

SXML

. (validity)

5.2

SXLink

(URI);

SXLink

 .

XLink,

11

5.4

6.1

XLink,

SXLink

X2X [10],

, .

SXLink.

resolution)

XPointer

(link

 .

1.

, .

, ,

XML-

XLink.

(,

),

Scheme,

 ,

(auxiliary

node).

doc2.xml,

XSLT:

doc1.xml

XLink (. 4),

doc1.xml

5.

2.

HTML.

XLink

(node

inclusion)
(link resolu-

tion). ,

, ,

12

<?xml version='1.0'?>
<doc xmlns:xlink=
"http://www.w3.org/1999/xlink">
<simple
xlink:type="simple"
xlink:href=
"doc2.xml#xpointer(doc/number)">
This is a simple link element
</simple>
<element1>Element 1</element1>
<element2>Element 2</element2>
</doc>

<?xml version='1.0'?>
<doc xmlns:xlink=
"http://www.w3.org/1999/xlink">
<extended
xlink:type="extended">
<locator
xlink:type="locator"
xlink:href=
"doc1.xml#xpointer(//element2)"/>
<locator
xlink:type="locator"
xlink:href=
"#xpointer(doc/string/text())"/>
</extended>
<number>25</number>
<string>Hello world</string>
</doc>

. 4: doc1.xml () doc2.xml, XLink

<?xml version='1.0'?>
<doc xmlns:xlink="http://www.w3.org/1999/xlink">
<simple
xlink:type="simple"
xlink:href="doc2.xml#xpointer(doc/number)">
This is a simple link element
</simple>
<element1>Element 1</element1>
<simple
xlink:type="simple"
xlink:href="doc2.xml#doc/string/text())">Element2</simple>
</doc>
. 5: doc1.xml

<?xml version='1.0'?>
<doc xmlns:xlink="http://www.w3.org/1999/xlink">
<number>25</number>
<element1>Element 1</element1>
Hello world
</doc>
. 6: doc1.xml

13

xlink:show,

"embed".

XLink,

-,

doc1.xml

doc2.xml

(. 4) 6.

,
,

X2X),

.
-,

SXLink

6.2

SXLink

X2X

) ..

(simple links) XLink;

X2X.

X2X

X2X

SXLink

,

Java,

SXLink

SXLink

-,

, X2X. X2X

SXLink

, X2X.

SXLink

(,

Scheme

5.2)

XLink

5.4)

. ,

),

..

SXLink

6.3

,
.

14

X2X

1.

[10]

,
,

X2X.

XLink

outgoing-arcs ::= (list

xlink:show

xlink:actuate.

.
,

start-node

fragment

start-node.

SXLink

(link resolution)
(outbound).

, ,

(fragment)

6.4

xlink:arcrole,

outgoing-arcs

 ,

start-node.
outgoing-arc

uri
fragment
arcrole
show
actuate)

outgoing-arc
outgoing-arc
...)

outgoing-arc ::= (list

(lambda (start-node outgoing-arcs)


...)

(uri)

start-node.

, .

XPointer.

(well-formed)

3. (node-set [17]) 

SXLink

XLink)

SXLink

2. SXML 

-,

).

XML-

SXLink . ,

(,

XLink),


, ..

.

15

SXLink,

Amaya XLink

(simple

.
-

..

 ,

links).

XLink.

HTML,

SXLink

XLink

XLink, .. ,

X2X.

HTML.

,

 .

7.2

Mozilla

, ..

Mozilla [9]  ,

Netscape Com-

.

municator. Mozilla
.

Amaya,
Mozilla

XLink.

(extended

links)

XLink


, .

XLink.

XLink.

XLink

()

,
,

, .

Amaya Mozilla
,

XLink

(well-formed)

XML-,

XLink,

XLink.

7.1

Amaya

Wide

Web

()

Amaya [8]

Consortium).

XLink,

Mozilla

XLink.

(World

Amaya

..

7.3

X2X

16

X2X

[10]

Java.

XLink

XLink

source) XLink;

Java.

, :

(ending

re-

source);

,
;

, ,
;

(starting re-

,
.

- (locator)
- (arc) ,
;

7.5

XLink2HTML

XLink2HTML

(),

Stylesheet

Language

XLink

XML.

HTML.

-,

XLink2HTML,

X2X.

X2X

, ,

),

XLink

XML-

(Extensible

HTML.

XML, XLink.

XSL

Transformation).

HTML

Java ,

(outbound

links).

(inbound)

X2X,

(third-party),

(link resolution)

(node inclusion).

HTML 

6.1.

7.4

7.6

XLip

XLip

[11]

Xlinkit

Xlinkit
[18]

Fujitsu. X2X,

, ,

XLip XLink

Java;

XLip

web-.

X2X.
XLip :

17

(simple

Xlinkit

XML-

links).

,
.

;

,
.

Xlinkit

- ,

XML

()

XML,

XML-,

XML

XML-

Xlinkit

(linkbase),

Xlinkit

XLink

Path,

XLink.

XLink,

XML.

XLink

XML Path.

XLink

XML Path.

, Xlinkit

XLink. XLinkit
, -
,
XLink.

XPath
,
XML- ,
,

XLink


XML Path,

7.7

traverse.

XTooX

Xlinkit

(linkbase).

,

.

,
,
.

XTooX

, .

SXLink

XML-

Sedna [19],
.

Sedna


XML.

SXLink,

Sedna

, ,

XPath XLink

Sedna

18

SXLink

[3] ..

XSLT

..

XLink

.
,

2003,

6,

SXLink Sedna

http://www.elbib.ru/index.phtml?page=

elbib/rus/journal/2003/part5/LL

5.

[4] Extensible

Markup

Language

(XML)

1.0

Scheme -

(Third Edition). W3C Recommendation 04

February 2004. http://www.w3.org/TR/REC-

xml

XML-

Sedna.
[5] XML

Sedna

SXLink

XLink

sion

1.0.

Requirements

W3C

Note

Ver-

24-Feb-1999.

http://www.w3.org/TR/NOTE-xlink-req/

.
[6] T.

R.

Fielding,

U.C.

Irvine,
2396.

Uniform Resource Identiers (URI): Generic


Syntax.

XML

SXML

Berners-Lee,

L. Masinter. Request for Comments:

Information

Network

Working

Set

1998.

bin/rfc/rfc2396.html

Group,

August

http://www.cse.ohio-state.edu/cgi-

XML-

[7] XPointer Framework. W3C Recommendation

25 March 2003. http://www.w3.org/TR/xptr-

XLink

framework/

XLink

[8] Irene Vatton, Vincent Quint, Jose Kahan, Kim

Cramer, Kim Nylander, Kathy Rosen, Michael

Scheme

Spinella. Amaya User Manual. Version 8.1 

July 2003. http://www.w3.org/Amaya/User/

Manual.html

SXML
SXLink

[9] Mozilla

XLink

[10] X2X

March

22,

The
2004.

2.0

Documentation.

http://www.empolis.co.uk/x2xdocs2/

Documentation.

Organization.

http://www.mozilla.org/docs/

(API).
Scheme

Developer

Mozilla

index.html

[11] XLiP

(XLink

Processor)

User's

Guide.

http://www.labs.fujitsu.com/en/freesoft/xlip/
index.html


[1] XML
1.0.

Linking

W3C

Language

[12] R.

Kelsey,

Revised
(XLink)

Recommendation

27

XML.

J.

Rees

(editors).

SIGPLAN Notices, Vol. 33, No. 9, September


1998.

..

Clinger,

tation, Vol. 11, No. 1, August 1998, and ACM

2001.

http://www.w3.org/TR/xlink/
[2]

W.

Report on the Algorithmic Language

Scheme. Higher-Order and Symbolic Compu-

Version

June

http://www.schemers.org/Documents/

Standards/R5RS/r5rs.pdf

(25-11-2003).

http://www.elbib.ru/index.phtml?page=

[13] Oleg

el-

sion

bib/rus/methodology/xmlbase/glossary_XML

19

Kiselyov.
3.0,

March

SXML,

revi-

12,

2004.

http://okmij.org/ftp/Scheme/SXML.html

[14] XML

Information

W3C

Set

(Second

Recommendation

Edition).

February

2004.

http://www.w3.org/TR/xml-infoset/
[15] Oleg

Kiselyov.

Building

Parser

Through

XML

Programming.

Better

Functional

http://xml.coverpages.org/

xmlPapers2000Q4.html
[16]

XML-

Scheme.

28,

4,

2002.

http://www.maik.rssi.ru/journals/procom.htm
[17]

XML

Path

(XPath)

W3C

16

1.0.
1999.

http://www.xpath.info/docs/REC-xpath19991116-ru.html
[18] Christian Nentwich,
Emmerich

and

xlinkit:
and

Smart

Licia Capra,
Anthony
Consistency

Link

Wolfgang

Finkelstein.
Checking

Generation

Service.

http://www.systemwire.com/xlinkit/
[19] Sedna

Native

XML

DBMS.

()

().

http://modis.ispras.ru/Development/
sedna.htm

20

You might also like