Title: Hypertext functionalities and XML
1Hypertext functionalities and XML
Fabio Vitali ltfabio_at_cs.unibo.itgt Dept. of
Computer Science University of Bologna
2Important notice
- The proceedings have a heavily mangled version of
this paper. - The CD has both the HTML and the PDF version
correct. - At the coffee break new printed copies will be
available. Please get one.
3Introduction
- Hypertext functionalities are the distilled
wisdom of the hypertext field. - Most of them are now possible on the World Wide
Web, but only through custom-made hacks and
tricks. Not really possible in a widespread way. - XML, XPointers and XLinks can be used to
implement most of them.
4Hypertext functionalities on the Web
- Typed nodes and links
- Link attributes and structure-based queries
- Transclusions, warm and hot links
- Annotations and public vs. private links
- Computed personalized links
- External link databases and link update
mechanisms - Global and local overviews
- Trails and guided tours
- Backtracking and history based navigation
- These items were selected from a longer list
assembled at the 2nd HTF workshop (Hypertext'96
conference)
5A prototype of an XML document browser
- XML for representing notations
- The architecture of displets
- Some applications of displets
6XML for representing notations
- XML is a relevant advancement over HTML and other
similar languages. - XML supports structure.
- XML allows authors to define new DTDs (or DTD
chunks) for describing arbitrary needs in terms
of notations and structure - XML supports sophisticated hypertext links.
Multiple destinations, transclusions, typed links
are all possible. External links allow to create
external link bases. - There is just one problem with XML XSL is not up
to XML in terms of generality specialized
notations are not supported.
7Displets
- Our proposal is to create an open set of
formatting objects that are loaded when needed,
depending on the content of the document. - Each document would have a stylesheet associated
that maps the document elements into the
available formatting objects. - Each formatting object would then be associated
to a software module (that we call displet) that
displays the information in some way. The dynamic
linking capabilities of Java are extremely
helpful for this.
8Displets for HTML
9XMLC
- We have designed and created a prototype for
rendering displets
10An XML browser
11Some applications of displets
- Typographical elements
- Notations for software engineering
- Active documents
12Typographical elements
- We have created displets supporting very simple
text-based elements - Paragraphs and lists
- Inline elements
- Images
- Simple and multi-directional links
- Layout management
13Text-based displets
14Layout management
15The Z notation (1)
- ltschemadef style"vert" purpose"state"gt
- PhoneDB
- ltdecpartgt
- ltdeclgt_knownpsetNAMElt/declgt
- ltdeclgtphone NAME fpfun PHONElt/declgt
- lt/decpartgt
- ltformalsgt K,L,Z lt/formalsgt
- ltaxpartgt
- ltpredicategtknown dom phonelt/predicategt
- lt/axpartgt
- lt/schemadefgt
16The Z notation (2)
17Active documents
- A "passive" document is just content and
presentation. - An "active" document provides support for action
on the document it can include animations,
perform computations, provide support for
searching etc. - Active-X objects, Java applets, JavaScript
scripts or even complex PostScript programs can
be used to have documents "be" more than their
content - Usually there is a clear difference between the
content and the code different syntax, different
place in the document, different working
paradigm. - Our approach is more radical, in that we use
generic markup behaviors and actions are applied
just like formatting
18Declaratively active documents
- The architecture of displets can be applied to
have documents perform activities, rather than
just be displayed. - Since we associate Java Beans to XML elements, we
can ask these classes to paint themselves, or to
perform another method of their classes. - Depending on the stylesheets and the Java
classes, then, the same document can behave in
any number of different ways - The code performing the activities is not part of
the document (as in Active X or similar methods),
but declaratively associated to the document.
19ToolBook (1)
- A ToolBook book is composed of active objects in
complex inter-relationships among them. - Text fields, buttons, images, books and pages may
have associated scripts (in Toolscript) and can
be used to create sophisticated applications. - We have created a WWW browser environment for
ToolBook books. - The book is converted into an XML document, and
Java classes for the elements are available text
fields, buttons, pages and images. - Support for Toolscript, Javascript and different
methods of message passing are also provided
20ToolBook (2)
21Finite State Machines (1)
- ltStateMategt
- LEVEL_MANAGER_CONTROL
- ltState id"state1" start"true"
origin"0,50"gtWAITlt/Stategt - ltState id"state2" origin"250,50"gtNEW_VALlt/Stat
egt - ltState id"state3" end"true"
origin"100,200"gtPUMP_ACTIVElt/Stategt - ltArc from"state2" to"state1"gtLM_ACTIVElt/Arc
- ltArc from"state1" to"state3"gtLM_MORElt/Arcgt
- ltArc from"state3" to"state2"gtUPDATElt/Arcgt
- lt/StateMategt
22Finite State Machines (2)
23Petri Nets
24Specifications in UML (1)
- The Unified Modeling Language is a fast-spreading
language for O-O design of systems. - It is made of several rendering notations, with a
way to express internal consistency constraints.
- We are creating displets to display the UML
specifications, and plan to perform some static
analysis on them. - The same document will therefore have different
actions associated to it, e.g., for display,
conversion, and verification.
25Specifications in UML (2)
26Hypertext functionalities and XMLC
- Most of the hypertext functionalities can be
provided using XPointers and XLinks and a generic
mechanism for notations. - The support for XPointers and XLinks has been
added to XMLC, by introducing two new steps in
the transformation of the document. - An important issue is the maintenance of the
identity and identificability of link elements
after XSL transformations.
27XPointers and XLinks in XMLC
28The XLink-enabled browser
29Other activities with XMLC
- An implementation of 80 of XSL-FO
- A limited integration with Mozilla
- Musical scores
- Train schedules
30Conclusions
- The WWW is now too complex for large-scale
deployment of sophisticated hypertext
functionalities. - The simplification of WWW protocols and languages
brought by XML should considerably improve the
situation, but... - The Web architecture itself must evolve to
incorporate these functionalities on a
sufficiently large scale. - XMLC is just a prototype, but I.E. 5.5 should
already be offering most of the same
functionalities on a much larger scale.
31Open issues
- Establishing a widespread architecture for
modules implementing formatting objects. - Co-existence of independently created modules
(just leaves or also containers?) - Independence of architecture
32Displets project home page
- http//www.cs.unibo.it/projects/displets
33Important notice (again)
- The proceedings have a heavily mangled version of
this paper. - The CD has both the HTML and the PDF version
correct. - At the break new printed copies will be
available. Please get one.