=Paper= {{Paper |id=Vol-508/paper-6 |storemode=property |title=Towards XML Transclusions |pdfUrl=https://ceur-ws.org/Vol-508/paper5.pdf |volume=Vol-508 }} ==Towards XML Transclusions== https://ceur-ws.org/Vol-508/paper5.pdf
                                 Towards XML Transclusions

       Angelo Di Iorio, Silvio Peroni, Fabio Vitali                      John Lumley, Tony Wiley
                   Dept. of Computer Science                                     HPLabs Bristol
                     University of Bologna                                 Filton Road, Stoke Gifford
                    Mura Anteo Zamboni, 7                                       Bristol BS34 8QZ
                     40127, Bologna, Italy                                       United Kingdom
           {diiorio | speroni | fabio}@cs.unibo.it              {john.lumley | anthony.wiley}@hp.com

ABSTRACT                                                        Transclusions were the core idea of Xanadu. Xanadu doc-
The idea of transclusion has been at the same time the          uments were built on-the-fly from fine-grained references so
strength and weakness of Xanadu: some people considered         that users could access, modify and reuse any fragment from
it as an extremely powerful mechanism to get any version        any document in a safe and controlled way. The implemen-
of any fragment of any document in a global shared docu-        tation of transclusions relies on external referencing to lo-
ment space, others as a very complex solution too difficult to    cations in a text data stream, through complex addressing
be actually implemented and delivered. We believe transclu-     mechanisms. Mark-up information, links and metadata are
sions are still worth implementing and would allow designers    expressly distinct from the flow of text in order to guarantee
to build very sophisticated hypermedia applications. On the     flexibility and expressiveness.
other hand, we are aware that the original design of Xanadu
cannot be implemented without uprooting current systems,        The world of XML (and SGML) relies on a completely differ-
protocols and technologies - in primis the World Wide Web       ent strategy: mark-up is embedded, documents are strictly
and XML. In fact, there is a great distance between the         hierarchical and assertions about text fragments are made
original data model of transclusions - strongly based on ex-    by wrapping them with elements, enriched by attributes.
ternal referencing mechanisms - and the XML data model          Ted Nelson himself pointed out disadvantages of such an
- strongly based on hierarchical structures and embedded        approach in relation with transclusions[12]. The three objec-
markup.                                                         tions he raised can be summarized as: (1) SGML approach
This paper investigates to what extent the concept of tran-     interposes a ‘forced’ structure between users and actual con-
sclusion can be shaped for the world of XML, and stud-          tent while editing, (2) SGML approach only supports well-
ies simplified models for building functionalities inspired by   formed inclusions and does not allow users to change in-
Xanadu. Particular attention is given to the support for        cluded content, (3) SGML approach does not support over-
tracing fragments provenance in multi-source documents and      lap and non-hierarchical relationships.
for synchronizing distributed content through transclusions.
The paper also traces a roadmap to actually implement tran-     Thus, these two positions seem to be irreconcilable. The
sclusions for XML - identifying three incremental steps - and   goal of this paper is to investigate whether and how tran-
briefly describes some experimental prototypes.                  sclusions can be implemented for XML documents and trace
                                                                a possible course towards that goal.
Categories and Subject Descriptors
H.5.4 [ INFORMATION INTERFACES AND PRE-                         The preliminary step is to understand what we mean by
SENTATION (I.7)]: Hypertext/Hypermedia                          ‘XML transclusions’. Our goal is not to re-implement a re-
                                                                vised version of Xanadu based on XML technologies, rather
                                                                to support users in creating and editing composite XML
                                                                documents that make some Xanalogical functionalities pos-
1.   INTRODUCTION                                               sible. In particular, we are interested in: tracing fragment
The concept of transclusion is rooted in the early days of
                                                                provenance and remote manipulation. First of all, compos-
hypertext[13]. A transclusion is a very advanced inclusion,
                                                                ite XML documents would benefit from rich information
whose content is not actually copied but stored as a virtual
                                                                about the origin of each fragment. That makes it possible to
reference to the original source. There is only one copy of
                                                                identify single contributions in collaboratively edited docu-
each fragment in the whole document space and transcluded
                                                                ments, to display multiple changes in a single document, to
data is permanently connected to the original.
                                                                go back to original resources and navigate documents in a
                                                                free and powerful way. The permanent connection between
                                                                transcluded content and original sources would also make
                                                                possible sophisticated forms of editing. Changes to remote
                                                                documents could be propagated through transclusions or -
                                                                the other way round - local modifications could actually up-
                                                                date remote resources. Yet, such scenarios also require other
                                                                tricky issues to be addressed such as content merging, syn-
                                                                chronization, access permissions, reliability and so on.




                                                                                                                      23
The core of this paper discusses three approaches for imple-     The design and implementation of CB-OHS follows the ‘phi-
menting XML transclusions, in section 4. These solutions         losophy of the primacy of structure over data’[16]. This is
use different syntaxes and are progressively expressive and       a key feature of the Open Hypermedia approach, strongly
powerful. Before that, we briefly review the recent litera-       related with the idea of transclusions: the separation be-
ture about transclusions and XML. The paper also mentions        tween the relationships and the information they relate to.
some prototypes we are developing.                               It makes possible to handle data separately, to create links
                                                                 pointing to read-only reasorces, to create multiple and over-
                                                                 lapped links on the same content and so on.
2.   TRANSCLUSIONS AND XML
The two most recent research efforts for implementing tran-
sclusions are outside the XML universe. Nelson and his           3.   A CASE-STUDY: COLLABORATIVE RE-
team proposed Transliterature[11] a revision of the original          VIEWS
Xanadu project built on newer technologies. Transliteral         The idea of transcluding fragments from and to XML doc-
documents are dynamically built on top of transcluded frag-      uments is still under-developed. Hereinafter we discuss a
ments, so that rich and fine-grained connections between          road-map to make that development possible, by using a
documents are permanently available. Two prototypes are          case study throughout the paper.
worth mentioning: Transquoter, that allows users to hide,
highlight and surf multi-source quotations and XanaduS-          Let us suppose we are building a system for supporting mul-
pace, that provides users a 3D view of the overall document      tiple users to write collaborative reviews about movies. It
space and shows some of the advanced surfing and display-         would be useful to let reviewers quote fragments from other
ing functionalities envisioned for such inter-connected doc-     reviews, keep trace of their source and maintain a ‘live’ chan-
uments.                                                          nel between connected fragments. In fact, a review process
                                                                 can be improved by quoting opposite criticism, by letting
Kolbitsch at al.[8] investigated transclusions for HTML, pre-    reviewers access related reviews, by automatically updating
senting a prototype that allows users to select content from     distributed reviews with new material and by fostering dis-
web pages and transclude them into new documents. Tran-          cussion among reviewers. It is worth noting that such an
sclusions directives are stored as in-line elements and very     idea is both rooted in the early days of hypermedia (the
complex URLs. Interesting issues are still open about con-       essence itself of hypermedia is the inter-connection between
tent addressing and merging, especially considering that web     documents) and central in the recent trend of the World
pages may change often and may have complex (and badly-          Wide Web (one of the milestones of the so-called Web 2.0 is
formed) internal structures.                                     just collaboration).

The closest solution to transclusions in the XML universe        Consider now that reviewers are writing their comments
is XInclude[10]. XInclude is a W3C standard for merging          about ‘Australia’, starring Nicole Kidman and Hugh Jack-
XML documents, by writing inclusion directives and retriev-      man1 . The film is one of the most controversial of the early
ing other (parts of) documents. The focus of XInclude is         2009. David wrote a quite positive review: “Baz Luhrmann’s
on well-formed XML fragments. Although even text frag-           Australia is good, but not a masterpiece”.2 Brad has an op-
ments can be included (parse="text"), XInclude does not          posite opinion: “A major miscalculation if there ever was
allow users to include bad-formed fragments or ranges. That      one”3 . Assume that Brad replied to David quoting his orig-
makes it impossible to implement fully-fledged transclusions.     inal note. In fact, a third reviewer - say Mike - might be
Simplified forms of transclusions are possible through XIn-       interested in quoting both these opinions, even by citing a
clude anyway. XIPr[17] is an implementation of XInclude          different comment by a fourth reviewer (for instance, Re-
in XSLT 2.0, very efficient and simple to be integrated in         becca saying “I actually regret having seen the film through
other XML applications. XSLT technologies could be also          to the end.”4 ). Figure 1 shows a possible view of such a
used straightforwardly for simplified transclusions: a general    composite review, highlighting multiple contributions5 .
approach is discussed in [5].
                                                                 The multi-contribution view is only one of the applications
XLink[3] could also be cited as a way to transclude pieces       of such an advanced quoting. Users might also be given the
of content. The @show and @actuate attributes allow users        possibility to surf to the original review, in order to col-
to define hot-links, that are similar to transclusions apart      lect more information about the movie. Moreover, perma-
from implementation details. On the other hand, such a           nent connections between fragments could be enriched with
solution is only partial and XLink does not seem to succeed      metadata (stating, for instance, that the remote review is
as expected.                                                     ‘positive’ or ’negative’), so that advanced search could be
                                                                 performed over the network of documents. Note also that
XLink is a relative recent effort, rooted in a very long ex-      1
perience in the hypermedia research. Since the early 90s           http://www.australiamovie.com/
                                                                 2
researchers of the Open Hypermedia community have been             http://www.theaustralian.news.com.au/story/0,25197,24670334-
designing systems that let users to add sophisticated links to   601,00.html
                                                                 3
a wide range of documents, merging original content and ex-        http://www.ropeofsilicon.com/article/movie-review-
                                                                 australia-2008
ternal interventions. Chimera[1], Microcosm[6] and DLS[2]        4
                                                                   http://movies.about.com/od/australia/fr/austral-
are only few representatives of these systems. More recently     review.htm
Tzagarakis et al.[16] presented CB-OHS (Component-Based          5
                                                                   The picture, shown in the following page, contains the final
Open Hypermedia Systems), an extensible infrastructure for       rendering of the document rather than its internal (XML)
managing complex and distributed hypermedia elements.            markup



                                                                                                                         24
                                                                   clude inclusions. Figure 2 and 3 show simplified source codes
                                                                   for Mike’s review (including Brad’s and Rebecca’s reviews)
                                                                   and Brad’s one (including David’s).

                                                                   Just read Brad’s review: "".
                                                                   And Rebecca’s review is even worse: she actually
                                                                   "".

                                                                       Figure 2: XInclude instructions in mike.xml
Figure 1: A possible view of Mike’s review, high-
lighting multiple contributions
                                                                   I have to fully disagree with David. How
                                                                   can you say that ‘’? I would rather
tween all reviews (even the first two) from the document            define it ‘a major miscalculation if there
itself, without requiring remote documents to be available.        ever was one’

                                                                       Figure 3: XInclude instructions in brad.xml
Last, but not least, connections across fragments can be
used as ‘channels to make documents communicate’. Such
an approach can be considered as a simplified form of tran-         An XInclude processor transforms mike.xml into a final doc-
sclusions: transclusion as a ‘live and bidirectional channel’      ument where all inclusions are resolved and content frag-
between pieces of content. The term ‘channel’ stresses the         ments are merged together. The (partial) result we want
fact that such a mechanism would allow automatic updates           to achieve enriches that document with detailed informa-
of content, in both directions: from a remote review to all re-    tion about the origin of each fragment. It is crucial that all
views including that fragment and from a transcluded frag-         inclusions traversed to reach the content are stored in the
ment to the original review it belongs to. Yet, the auto-          document.
matic update of content opens tricky issues of synchroniza-
tion, conflict resolution, priority, content merging and so on.     XInclude supports two types of inclusions: (i) text fragments
On the other hand, it opens fascinating perspectives for col-      (parse="text" and xpointer addresses a sequence of char-
laborative documents accessing and editing.                        acters) or (ii) XML elements (parse="xml" and xpointer
                                                                   addresses a well-formed XML fragment). The second case
The natural candidate to mark-up these composite docu-             obviously requires that the source documents already con-
ments is XML. It is standard, universally supported and            tain the XML elements to be included. In the example, all
very powerful. Surprisingly enough, none of the XML appli-         quotations are encoded through the DocBook quote element
cations we are aware of provides users all these Xanalogical       in brad.xml, rebecca.xml and david.xml.
functionalities together. The problem is paradoxically the
same hierarchical structure of XML, that makes impossible          A first solution consists of introducing in the output new ele-
to address and overlap fine-grained transclusions[12]. The          ments wrapping the included content. For instance, we could
question is now at a different level: to what extent XML            use a new element  decorated with metadata
transclusions can be implemented? Is it possible to create a       about the inclusion. With that information, we can build
fully-fledged Xanalogical environment even for XML docu-            applications to let users access metadata, surf to original
ments and use it for ‘collaborative reviews’ ?6                    content, identify contributions, update content, etc.

                                                                   There are two main drawbacks to such an approach. Firstly,
4.    CHARTING A COURSE FOR XML TRAN-                              any tool processing the final document has to know about
      SCLUSIONS                                                    the element xi:included. It is then impossible to directly
Intermediate results are also interesting, leading to a full im-   reuse legacy tools such as DocBook converters or renderers.
plementation of XML transclusions. This section first dis-          Tools that directly process children of unknown elements
cusses some partial objectives - that can be achieved today        (basically ‘ignoring’ the presence of xi:included) could be
- and then focuses on long-term developments.                      used as well, but we cannot take such a ‘transparent’ be-
                                                                   havior for granted. A second issue is related to the way
                                                                   users define inclusions. Consider a fifth reviewer quoting
4.1    Step 1: Embedding simplified forms of XML                    fragments from (the expanded view of) mike.xml : how can
       transclusions                                               she/he set the xpointer attribute of inclusion instructions?
An extension of XInclude can support simplified forms of            She/he has to also consider the xi:included elements and
XML transclusions. Let us encode the use-case reviews as           write very complex expressions, unless XPointer addresses
DocBook documents, whose quotations are actually XIn-              are filtered to ‘ignore’ those elements. In any case, a tan-
6                                                                  gled and error-prone management of internal addresses is
  Note that many other scenarios would benefit such col-            required. A detailed discussion about these issues can be
laborative reviews approach. Just think about the creation
of multi-source reports in a company that collect informa-         found in[7], along with a possible solution based on Archi-
tion from existing resources, internal documents and exter-        tectural Forms[15]. A running prototype is also presented
nal publications.                                                  in the same paper.



                                                                                                                          25
The basic idea of Architectural Forms is to extend the at-        may happen for different reasons: errors in the document
tribute set for an element to express semantic information.       address or in the internal location of a fragment, temporary
Since attributes (that belong to a different namespace) can        or permanent disconnectivity, permission issues and so on.
be added to SGML and XML elements without impacting               Solutions exploiting XML comments or decoration of pre-
the document’s integrity and without interfering with other       ceding/following siblings might be investigated but seem to
applications, Architectural Forms can be exploited to mix         be tortuous and awkward.
information in a transparent manner.
                                                                  The second - and more important - issue is that such a model
The same approach can be applied to inclusions. The idea          does not allow a lot of very common inclusions. Consider,
presented in [7] is to process all inclusions and ‘embed’ in-     for instance, a reviewer interested in quoting only few words
formation in qualified attributes (belonging to a reserved         of an existing quotation, or a sentence that partially spans
namespace), so that the main structure of the XML docu-           over two paragraphs, or an interval that spans over a bad-
ment is not altered. The presence of these attributes does        formed XML fragment. Such selections can be supported
not impact the basic processing, parsing and integrity of the     only by exploiting external referencing mechanisms, that go
document. On the other hand, full expressive information          beyond the scope of the strictly hierarchical organization of
about inclusions is available. Figure 4 shows such a solution     XML.
applied to the use case.

Just read Brad’s review: "I have              A further step to overcome the aforementioned limitations
to fully disagree with David. How can you say that                consists of storing data about transcluded content in exter-
‘ Australia is good,but not               information in the document itself. The prototype presented
a masterpiece ’? I would rather define it                 in [7] exports a module handling such externalization, al-
‘a major miscalculation if there ever was one’                    though only some transclusions are actually supported. Fig-
". And Rebecca’s review is even worse: she                ure 5 shows the example document mike.xml represented
actually "regret having seen the film through
to the end".                                       
                                                                    
                                                                    
sions. The example uses that attribute to store information       
about nested inclusions and spread that information all over
the XML tree. Consider, for instance, the quotation ‘Aus-         Just read Brad’s review: "I have to fully
tralia is good, but not a masterpiece’: the document knows        disagree with David. How can you say that
that it has been included from brad.xml but it was actually       ‘Australia is good, but not a masterpiece’?I would
originated in david.xml. Thus, all copies of a given fragment     rather define it ‘a major miscalculation if there
are very well connected in a complex network of inclusions,       ever was one’". And Rebecca’s review is even worse:
available to both users and applications.                         she actually "regret having seen the film through
                                                                  to the end".
In practice, xi:inclusion_history was never given great
importance and it was never really supported by the XIn-          Figure 5: Resolving and externalizing inclusions in
clude implementations. In fact, the prototype presented in        brad.xml
[7] uses a different syntax. Syntactic details are not relevant
here: what is really important is that record of inclusions are   The content - even the transcluded one - is stored as a plain
hidden within documents and can be activated on-demand.           stream of text while the ted:out-of-band data-structure
That information can be exploited to build the aforemen-          contains pointers to text fragments and metadata about
tioned simplified form of XML transclusions, allowing users        each fragment. Several advantages of such a representa-
to navigate transclusion metadata, to retrieve original con-      tion can be outlined. First of all, it contains rich infor-
tent, to highlight multiple contributions and to automati-        mation about the nesting of transclusions as well as rich
cally update content.                                             metadata about original sources, without interfering with
                                                                  users and applications that interact with the document. In
There many reasons why such a solution is only a partial          fact, all transclusions data are stored externally and can be
step towards our goal. First of all, it only applies to the       ignored by transclusion-unaware processors. The position
inclusion of well-formed XML, since qualified attributes -         of the ted:out-of-band data-structure is also worth dis-
meant to be added to the included infoset - can be only           cussing: it can be placed within the XML document itself
added on elements. One of the consequences is that no in-         (for instance, as a first child of the root) or even in a com-
formation about ‘dangling’ inclusions is eventually stored in     pletely external file. The first approach produces a single
the document. The term ‘dangling inclusion’ indicates an          self-contained resource that can be moved from one system
inclusion that failed because content was not available. It       to another without requiring any management of relative



                                                                                                                        26
links; on the other hand, it adds extra structures to the orig-   us to exploit legacy tools of the Semantic Web community
inal XML tree. The second approach is completely trans-           and to create sophisticated services of searching and rea-
parent and decoupled from the document tree-structure but         soning over transcluded content. Nevertheless, the adoption
it requires applications to process links and set of resources.   of RDF leaves still open all the very complex issues related
Both these approaches are valid, according to users needs         to consistent update and manipulation of externalized tran-
and preferences.                                                  sclusions.

However, the main strength of such an externalized solution       We finally propose a further generalization of RDF to in-
is its capability of defining transclusions that span over text    tegrate in a single approach advantages of both embedded
fragments, ranges or even overlapped transcluded content.         markup (a la XML, presented as a first step of our roadmap)
While Architectural Forms only work for transcluding well-        and external annotations. A detailed discussion of that
formed XML fragments - as information is embedded into            proposal - called EARMARK (Extreme Annotational RDF
attributes of the transcluded elements - external pointers        Markup) - can be found in [14]. EARMARK derived from
may refer to any location in the document, through proper         the analysis of some limitations of RDF. The main prob-
XPointer expressions. For instance, it is possible to iden-       lem is that RDF assertions need URIs to address resources:
tify a transcluded fragment by simply indicating a pointer        statements only apply to whole documents, fragments pro-
to the start- and end- offset of that fragment, and without        vided with an identifier, or fragments addressable by some
altering the document itself. Note also that this approach al-    URI schema. The XPointer standard (actually, the full
lows users to store information about dangling transclusions      XPointer schema of XPointer [4]) makes it possible to re-
(whose content is not available because of network errors or      fer to arbitrary pieces of text and XML documents. The
simply because of different regimes in accessing content) by       adoption of that standard in conjunction with RDF would
simply adding a reference to the point where the transcluded      solve all the URI-related issues. The problem is that the
content was supposed to be. There is no ‘intruder’ structure      XPointer full schema has never been confirmed by the W3C
in the XML tree but very rich information is available about      and its approval seems remote.
nested or empty transclusions.
                                                                  The second interesting aspect of RDF is the fact that all
On the other hand, such an approach opens very tricky             URIs are considered ‘opaque’ strings regardless of the type
issues of content merging and manipulation of references.         of resource they refer to. It is very difficult to differenti-
The main problem is related to the ‘bad-formedness’ of in-        ate an assertion about a text fragment from an assertion
cluded fragments. External references - and in particular         about an element, to differentiate classes of assertions and
XPointer expressions - allow users to also include any piece      relations among assertions. The solution we propose, EAR-
of an XML tree. Consider, for instance, a user selecting the      MARK, defines an ontologically sound model that formal-
last sentence of a paragraph and the first one of the follow-      izes the concepts of the XPointer schema, and a natural way
ing paragraph (a possible HTML source code: ‘concluding           to express externally both RDF assertions and embedded
paragraph

And starting a new one’). Several ques- markup constructs in the same framework. We also imple- tions arise from that simple selection: which is the best way mented a first prototype translating documents from and to to include that fragment into a new document? Is it a plain EARMARK format, RDF and embedded XML. Although string (without the p elements), or does it generate two para- the implementation of EARMARK is at a very early stage, graphs or is it a completely different structure? The adop- such a ‘semantic layer on top of transclusion’ is very flexible tion of an externalized approach require us to address these and promising. issues and to build a general and flexible document archi- tecture for manipulating fine-grained fragments. The con- sistence of external data structures is another very difficult 5. CONCLUSIONS Transclusions have contributed to shape the most successful issue to face. Consider as example the implementation of hypermedia projects, although they were never fully imple- an editor for such documents: it requires any edit operation mented. After several years from their invention - dated to be propagated to the external data structure in a consis- back to the early 60s - they still keep the original attractive- tent way. Even small changes require a complex network of ness and potentialities. The challenge for the community is statements and relations to be updated and manipulated. now to adapt the original Xanalogical design to the current technologies and systems, in particular to the World Wide 4.3 Step 3: Further generalization and exter- Web and XML. nalization via RDF and EARMARK The previous approach can be improved, although it is enough The contribution of this paper is manifold: (i) a preliminary to provide users with a fully-fledged Xanalogical environ- discussion of simplified forms of transclusions, viable for the ment. The idea is to exploit existing XML standards: in- world of XML, (ii) a roadmap to actually implement XML stead of using ad-hoc data structures and operations, XML transclusions and (iii) a brief presentation of early proto- transclusions could be described through RDF (and OWL) types we are developing in that direction. statements. RDF is a language for representing informa- tion about resources in the World Wide Web[9], that allows There are actually other crucial issues not discussed in this users to make any assertion on any identifiable resource: work: content merging, synchronization and access rights. statements on any fragment of text, multiple statements on They all require a much deeper analysis and experientation the same resource and overlapped statements are all possi- we haven’t done yet. Our impression, however, is that ex- ble in RDF. The additional benefit of RDF lies on its stan- ternalizing transclusions pave the way towards these goals. dardization: expressing transclusions in RDF would allow In fact, a flexible and fine-grained model makes it possible 27 to integrate multi-source and multi-author fragments. An [16] M. Tzagarakis, D. Avramidis, M. Kyriakopoulou, orthogonal step will be designing a distributed architecture m. c. schraefel, M. Vaitis, and D. Christodoulakis. that propagates changes - in both directions - and that han- Structuring primitives in the callimachus dles access permissions. component-based open hypermedia system. J. Netw. Comput. Appl., 26(1):139–162, 2003. In conclusion, a lot fascinating challenges await us on the [17] E. Wilde. XIPr: XInclude Processor. horizon. It is our intention to foster the discussion within http://dret.net/projects/xipr/, 2007. the community and to actually integrate Xanalogical func- tionalities in a renewed generation of Xanadu-like systems. 6. REFERENCES [1] K. M. Anderson, R. N. Taylor, and E. J. Whitehead, Jr. Chimera: hypermedia for heterogeneous software development enviroments. ACM Trans. Inf. Syst., 18(3):211–245, 2000. [2] L. Carr, D. De Roure, W. Hall, and G. Hill. The Distributed Link Service: A Tool for Publishers, Authors and Readers. The Web Journal, (1), 1995. [3] S. DeRose, E. Maler, and D. Orchard. XML Linking Language (XLink) Version 1.0. http://www.w3.org/TR/xlink/, 2001. W3C Recommendation. [4] S. J. DeRose, E. Maler, and R. Daniel. XPointer xpointer() Scheme. World Wide Web Consortium, Working Draft WD-xptr-xpointer-20021219, December 2002. [5] B. DuCharme. Transclusion with XSLT 2.0. http://www.xml.com/pub/a/2003/07/09/xslt.html, 2003. [6] W. Hall, H. Davis, and G. Hutchings. Rethinking Hypermedia: The Microcosm Approach. Kluwer Academic Publishers, Norwell, MA, USA, 1996. [7] A. D. Iorio and J. Lumley. From XML Inclusions to XML Transclusions. To appear in the Proceedings of ACM Hypertext 09. [8] J. Kolbitsch and H. Maurer. Transclusions in an HTML-based environment. Journal of Computing and Information Technology, 14(2):161–174, 2006. [9] F. Manola and E. Miller. RDF Primer. http://www.w3.org/TR/rdf-primer/, 2004. W3C Recommendation. [10] J. Marsh, D. Orchard, and D. Veillard. XML Inclusions (XInclude) Version 1.0. http://www.w3.org/TR/xinclude/, 2006. W3C Recommendation. [11] T. H. Nelson. Transliterature: A Humanist Format for Re-Usable Documents and Media. http://translit.org/. [12] T. H. Nelson. Embedded markup considered harmful. World Wide Web J., 2(4):129–134, 1997. [13] T. H. Nelson. Xanalogical structure, needed now more than ever: parallel documents, deep links to content, deep versioning, and deep re-use. ACM Comput. Surv., page 33, 1999. [14] S. Peroni and F. Vitali. EARMARKing documents for arbitrary, overlapping and out-of-order annotations. To appear in the Proceedings of ACM DocEng 09. [15] J. K. Truss. International Organization for Standardization. A.3 Architectural Form Definition Requirements (AFDR). In In ISO/IEC 10744:1997, Annex A, SGML Extended Facilities, pages 1601–1608, 1997. 28