posts - 1, comments - 0, trackbacks - 0, articles - 1
A Prototype Interpreter for an Extended XML MSc. Thesis Proposal Abstract XML-based languages, such as SMIL and SVG, are becoming standard authoring and presentation tools for multimedia and hypermedia on the web. However, those languages are still under development, and have some shortcomings. King et al. [21] have defined some extensions to overcome certain shortcomings, and to provide for more dynamic and reactive multimedia presentation. In this thesis, I investigate implementation strategies for and produce a working prototype implementation of the extended version of XML, and I will test and evaluate the XML language extensions for reactive multimedia. 1 Introduction Perhaps the most powerful aspect of today’s computing technology is the ability to combine text, graphics, sounds, video, and moving images in meaningful ways, that is, to create, manipulate, and use multimedia. With the development of Internet technology, various multimedia applications, such as distance learning, online digital libraries, and online video games, have been integrated into the World Wide Web. Like other web authors, multimedia authors are more and more conforming to the language standard defined by the World Wide web Consortium (W3C). XML [37], SMIL [41], and SVG [39] are such languages defined by the W3C. These languages are declarative, providing a domain-level description of both content and presentation. However, these languages still have some limitations. For example, calculation is not allowed within attribute values in XML, so authors are usually forced to use an imperative scripting or programming languages to perform such calculations. Since most content authors are not programmers, this use of script is often awkward. Peter King, Simon Thompson, and Patrick Schmitz [21, 34] have proposed a number of extensions to the XML language family. Their motivation is to enable authors to describe a wider class of multimedia artifacts in XML, especially artifacts involving animation. The project proposed in this document comprises two aspects. The first, and major aspect is to provide a prototype interpreter/player for this extended version of XML. In addition, this proposed project will include the creation of several multimedia artifacts in the extended XML language, which will be used both to test the interpreter and to illustrate the power of the language extensions, in order to provide feedback to the language designers. 2 Background While the extensions in [21, 34] are based on XML, they have particular applicability to SMIL. Therefore, in this section, I will briefly introduce some basic knowledge of the two languages, XML and SMIL. 2.1 Overview of XML XML [37] is a language defined by the World Wide Web Consortium (W3C), which was derived from Standard Generalized Mark-up Language (SGML) [40]. XML is somewhat similar to HTML or SGML. XML has tags, which identify elements. These tags also contain attributes defining these elements. However, there are some fundamental differences between XML and HTML. XML was designed to describe, store, and transfer data and to focus on what the data is, while HTML was designed to display data and to focus on how data looks. Also, unlike HTML, XML tags are not predefined. We can invent our own tags and define our own document structures. Therefore, XML is free and extensible. Current multimedia web standards SMIL and SVG are extended applications of XML. Many applications and tools are developed to support XML. Some of those applications and tools are quite relevant to my thesis. I this section below, I briefly introduce these tools: ² Similar to the functions of CSS (Cascading Style Sheets) in HTML, XSL (XML Style Sheets) [38] are used to describe how structured XML documents are displayed. XSL consists of three parts, XSLT, XPath, and XSL-FO. XSLT is a language for transforming XML documents. XPath is a language for navigating in XML documents. XSL-FO is a language for formatting XML documents. ² XQuery [43], which is build on XPath expressions, is designed to query XML data, and is similar to SQL for databases. ² XLink [37] is a language for creating hyperlinks in XML documents, and XPointer allows the hyperlinks to points to more specific pars of the XML document. ² A Document Type Definition (DTD) [37] defines the document structure with a list of legal elements. With a DTD, people can agree to use a common DTD for interchanging data, and can use a DTD to verify data. ² The Document Object Model (DOM) [37] is a programming interface for HTML and XML documents. DOM defines the way a document can be accessed and manipulated. Using a DOM, a programmer can create a document, navigate its structure, and add, modify, or delete its elements. As a W3C specification, one important objective for the DOM is to provide a standard programming interface that can be used in a wide variety of environments and applications. 2.2 Overview of SMIL and SVG The W3C has defined SMIL (Synchronized Multimedia Integration Language, pronounced “smile”) [41], as a standard for encoding multimedia presentations for delivery over the Web. The first version SMIL 1.0 was released in mid-1998. In August 2001, the W3C released a significant update with SMIL 2.0. In the remainder of this thesis proposal, I will use “SMIL” to refer to SMIL 2.0. Nowadays, SMIL has been installed on millions of computers around the world. Many IT giants, such as Microsoft, have begun to provide support for SMIL presentations. SMIL code can be played in most browsers, including Internet Explore and Netscape Navigator. Also, some media players, such as RealOne Player, Quick Time, GRiNS Player, and the open-source player AMBULANT, support SMIL format. SMIL is a collection of XML elements and attributes that we can use to describe the temporal and spatial coordination of one or more media objects (text, images, sound, and video). The temporal and spatial layouts in SMIL are specified by the descriptive tags called elements, as in any XML-based languages. Firstly, the author specifies the regions in which content will be displayed in the layout section of the SMIL source, for example: The spatial placement of media items are defined by using and elements. In this example, we define two regions, reg1 and reg2, as showed in Figure 1. Figure 1: SMIL Regions Then we specify the body, in which their temporal relationships are specified. The temporal display of media items is controlled by the time containers namely sequential , parallel , and exclusive . A SMIL presentation is a structured composition of autonomous media items. A container’s children are rendered so that a successor child can’t begin before its predecessor child completes. A container’s children are all rendered in parallel. Only one of the children of an container can be active at a time. Figure 2: SMIL Example Considering the simplified SMIL example in Figure 2, video and pictures are played at the same time in the different regions, namely reg1 and reg2. Also, in reg2, two pictures are played sequentially. SVG (Scalable Vector Graphics) [39] is the another XML-based language define by W3C. SVG is used to define vector-based graphics in XML format for theWeb. The most important advantage of SVG is SVG graphics do not lose any quality if they are zoomed or resized. Also, every element and every attribute in SVG files can be animated. The small SVG example in Figure 3 defines a circle: Figure 3: SVG Example 3 Literature Review In this section, I survey previous work related to my proposal. This work is classified into the following sections, Extensible Markup Language, Multimedia presentation system and SMIL, Functional Programming, Transformation Techniques and XSLT. 3.1 Extensible Markup Language The Extensible Markup Language (XML) was intended to be a meta-language, when it was initially approved as a Web Standard by the World Wide Web Consortium (W3C). XML is fast becoming the standard for data interchange over the web, and brings us a completely new way of communicating across the Internet. There is a good deal of current research in the area of XML, XML extensions, and applications. Das and Lawhead [11] evaluated the tradeoffs, advantages and issues involved in applying XML to the storage and management of data and/or documents in the implementation of a large Web-based application, such as an Online Delivery System for Courseware. Jamil and Modica [19] presented an object-oriented extension to the language of XML, namely XML++, to include dynamic inheritance and describe a middle layer that implements their system. Hosoya et al. [17] proposed regular expression types as a foundation for statically typed XML processing languages. Regular expression types introduce regular expression notations such as repetition (¤), alternation (j), etc., to describe XML documents. Harren et al. [16] have designed a new research language namely XJ, which gives novel mechanisms for integration of XML into a programming language, Java. XJ supports updates and its consistency with XML standards such as XQuery and XML Schema. They have built a prototype compiler for XJ, which can performs a source-to-source translator that uses DOM to access XML data in the compiled code. The above discussed works are all XML-based, either XML applications or XML extensions, which are similar to my proposed work. XML is still under development, new standards and extensions keep coming out. The goal of this work is to implement some XML extensions that will enhance these language standards. 3.2 Multimedia Presentation Systems and SMIL A multimedia document is a document that composes in time and space different types of elements such as video, sound, still image, text, synthesized image, etc. Compared to classical documents, multimedia documents are characterized by their temporal dimension. SMIL [1, 3, 33, 41] was defined by W3C as a standardized multimedia presentation format for authoring multimedia application on the web. Much of the current work in development of multimedia systems has aimed at the design, authoring and presentation of these documents. Madeus [20] is a simple but powerful authoring and presentation tool. Madeus offers the basic functions to maintain a structured multimedia document. Madeus covers a broad range of features such as structural composition, temporal and spatial specifications, integration of edition and presentation phases. Also, Madeus is based on constraint techniques [23], which include temporal constraint and spatial constraint. Those constraint techniques are useful for building authoring environments for multimedia documents. Celentano and Gaggi [5] presented the automatic generation of multimedia presentations. In this work, a multimedia report is responsible in rendering for the multimedia presentation from the data returned by one or more queries to multimedia repositories. They defined an XML language that integrates spatial layout and temporal constraints of the media objects for proper coordination and synchronization, so as to render multimedia presentations. Chen et al. [6] proposed a Multimedia Database Management System (MDBMS). MDBMS is a multimedia query and presentation management system for multimedia databases. The queried results are used to create multimedia presentations. Also, in [7], an affinity-based image retrieval system is developed. This system uses the Multimedia Augmented Transition Network (MATN) environment to perform multimedia authoring and presentation. The retrieved query results of the images are incorporated in this design using the “download ” function. The MATN model can be automatically translated to SMIL scripts. Currently, there are many SMIL players, such as GRiNS [32], RealOne Player [29], and AMBULANT [2], which support standard SMIL documents. Microsoft have defined their own SMIL standard so-called HTML+SMIL [42], which can be played in their browser Internet Explorer 6 and later releases. Similar to the above discussed work, my proposed work also deals with multimedia systems, and one of the targets of this work is to enable reactive and dynamic multimedia presentation using the more powerful extended version of XML, notable to SMIL and SVG. 3.3 Functional Programming Functional programming is a programming paradigm that treats computation as the evaluation of functions. A functional program consists entirely of function definitions and calls. Functional programming can be contrasted with imperative programming. Program lan- guages like C, Java, Pascal, etc. are all imperative languages. Imperative languages consist of a sequence of commands, which are executed one after the other. The first functional programming language was Information Processing Language (IPL) [30], developed in the mid 1950s. A much-improved functional programming language, LISP [25, 26], was developed at the Massachusetts Institute of Technology in the late 1950s. In the 1970s the language ML [27] was created at the University of Edinburgh, and David Turner developed the language Miranda [36] at the University of Kent. The language Haskell [35] was released in the late 1980s in an attempt to gather together many ideas in functional programming research. Functional programming language share some features with the XML language. In particular, functional languages are declarative and non-imperative. Therefore, the XML extensions [21] we work on are inspired from functional programming. Several functional languages provide support for temporal and reactive programming. The Fran system [12], and more recent Yampa system [10] are Haskell functional programming language extensions in which multimedia artifacts with animations can be created. In [4] the authors explored the idea of reactivity in multimedia authoring based on Fran system. Functional Reactive Programming (FRP) [31] is an extended version of functional programming with a notion of time flow. One of our proposed solution strategies in the thesis is to transform the extended XML into a functional programming language, namely Yampa. 3.4 Transformation Techniques and XSLT One of our proposed solutions to the implementation of the XML extensions is to transform our extended version of XML or SMIL into another target language (JavaScript or Yampa). In this section, I give a brief description of various related work which contributed to the development of transformation techniques. In [44] the authors have proposed a transformation language called XMLTrans, which performs transformations using rules stated as regular expression. XMLTrans uses a uniform interface to transform various dictionary lexical data represented in SGML format for HTML. This transformation tool was written in Java, with Java APIs, namely Simple Application Program Interface for XML (SAX) and Document Object Model (DOM). Guo et al. [15] propose a novel method, namely GML to SVG Transformation (G2ST), to transform a Geography Markup Language (GML) to SVG. Geography Markup Language (GML) [8] is an XML encoding standard developed by the OpenGIS Consortium (OGC) in order to transport and store geographic information. XSLT is commonly used to transform GML to SVG. However, designing XSLT rules is not easy and using XSLT cannot guarantee correctness of the generated SVG document. G2ST consists of a G2ST editor, a XSLT generator, a XSLT processor, a SVG merger, and a SVG browser. With this system, users can construct transformation rules from GML to SVG guided by the pre-specified SVG DTD or schema. Their method can guarantee that target SVG documents conforms to a certain DTD or schema pre-specified by the user. In [22, 24] the authors described a prototype for an implementation for syntax-directed transformation of XML documents from one structure to another. With a source and target DTDs as an input and a label association between the elemments of the both DTDs defined by user, this system can semi-automatically give the transformation specification. In addition, an XSLT script can be automatically generated by this system from the definition of transformation specification. Groppe and B¨ottcher [14] propose an Xpath query method with an XSLT stylesheet to transform only part of the XML document, which is sufficient to answer the given query. This approach reduce data transformation and its costs. Most of the works discussed above are based on using XSLT to transform from one XML document to another XML document or to other formats. My proposed work will be also based on XSLT. However, our source documents are not standard XML or SMIL, but extended version of them, which are different from those in the works discussed above. 4 Problem Description The problem I will address in my thesis consist of (a) the creation of an interpreter for the extended version of XML defined in [21], and (b) validity testing of both my interpreter and these language extensions. XML, defined and recommended by W3C, is becoming a web standard. Based on XML, SMIL and SVG are current multimedia standards. However, those language are still under development, and they still have many limitations. I will discuss some of those limitations in this section. XML extensions were defined by King et al. [21] in several ways to allow dynamism, behave reactivity, and overcome certain shortcomings in XML-based languages. ² Firstly, consider the following simple example, which is written in SMIL animation. In standard SMIL language, this example may generate a error message or an incorrect animation, because attribute value of to is a string "calc(main.width*0.8)", rather than a number. However, in the extended version of SMIL, calculation is allowed, and a picture zoom from the current size up to 80% of the main container width. ² Secondly, [21] discusses events and predicates in XML, notably in SMIL and SVG. Object models typically have a set of events to indicate a range of interaction conditions( e.g., mouseclick or mouseover), and document conditions (e.g., media download or mutation events). There is no means for the author to declare and name new events specific to the document content in standard XML. The second extension allows us to define an event as a condition (boolean expression), as shown in the following example. The event will be raised once the condition defined in predicate attribute is true. More detail of this example could be found in [21]. ² In addition, in order to define event-predicate, a simple type system for XML have to be defined, because everything in XML is a string and XML does not support different types, such as int, real, boolean etc. In this thesis, I will investigate implementation strategies of the above extended version of XML. Also, I will produce a working prototype implementation using the one of three strategies discussed in the Section 5. In addition, I will provide feedback on these extensions. 5 Proposed Solution Strategy The aim of this thesis is to investigate implementation strategies and produce an interpreter or player for this extended version of XML (SMIL, or SVG), which I have discussed in the above sections. In order to implement those XML extensions, I will consider three possible implementation approaches. ² Modify an existing open-source browser to enable it to support the extended version of XML. ² Modify and add functions to a current open-source SMIL player, such as the AMBULANT Player [2] ² Transform the extended version of XML into another language which already provides support for the extensions in some way Mozilla Firefox [28] is an open-source browser, which is becoming more and more popular in the browser market. Modifying the Mozilla Firefox browser is a possible method in my project. However, Firefox is a huge project with more than 2 million lines of code. Modifying and adding more functions to such a browser is not a easy task. There exists several SMIL player implementations, including the RealPlayer [29], Internet Explorer [9], GRiNS Player [32]. However, none of them provides a complete and correct SMIL 2.0 implementation, and none of them are open-source. Ambulant is an open source SMIL 2.0 player, which was initially developed by Bulterman et al. [2]. Currently, it is still under development and intended to used within the research community. The goal of Ambulant is to build a platform that will encourage the development of comparable multimedia research output. I will examine the possibilities to integrate our extensions to the Ambulant Player. The another possible and the most feasible solution is to transform our extended version of XML into another target language. Here, I examine two passible target languages: Yampa and JavaScript. Yampa has two basic concepts: signals and signal functions. A signal is a function from time to a value: Signal a = Time -> a A signal function is a function from Signal to Signal: SF a b = Signal a -> Signal a Time is an important concept in Yampa, which is similar in multimedia presentation and SMIL documents. Programming in Yampa consists of defining signal functions compositionally using Yampa’s library of primitive signal functions and a set of combinators. Using of combinators is another important concept in Yampa. Figure 4 shows some commonly used arrow combinators in Yampa. Those combinators are similar to the idea of sequential , parallel , and exclusive in SMIL documents. Then, we can map SMIL code into corresponding code in Yampa. More detailed issues of Yampa is given in the Yampa programming tutorial [18]. However, Yampa and other Functional Reactive Programming are quite theoretical and still under development. Implementing in Yampa is still not a easy task. Figure 4: Arrow Combinators in Yampa The another target language I will consider as a target for our extended version of XML (SMIL, SVG) transform into is JavaScript [13]. JavaScript is one of the most popular Internet scripting languages. It is used in millions of Web pages to improve the design, validate forms, detect the visitor’s browser, create/use cookies, and much more. It was developed by Netscape and is the most popular scripting language on the Internet nowadays. JavaScript can be easily embedded into HTML+TIME [9, 42], which is an extended version of SMIL for web browser. In summary, my solution strategy will consist of four facets: (a) Examining the feasibility of transforming the extended version XML into Yampa or JavaScript, (b) Creating a prototype interpreter for the extended version of XML, (c) Evaluating the prototype interpreter by creating several multimedia artifacts, and (d) Evaluating the extensions and providing feedback on the extensions. 6 Evaluation There are no formal methods to evaluate my proposed work. However, in order to illustrate my approach, I will render some case studies, either existing discussed in [21, 34], or creating new. Those examples will be written in XML, SMIL, or SVG languages, with our extensions. With the XSLT transformations, the source languages should be correctly converted into target languages (Yampa or JavaScript). Then, those target languages should be played in the existing external SMIL player (Internet Explorer, or RealOne Player), or in Yampa running environment to give correct multimedia presentations. In addition, these examples will enable me to evaluate the language extensions themselves. 7 Conclusion XML is fast becoming the standard for data interchange over the web, while XMIL and SVG are standardized multimedia presentation format for authoring multimedia applications. These XML-based languages still have limitations. For example, calculations are not allowed in attribute value, and no event predicates are allowed in XML. King et al. have defined some extensions to overcome those shortcomings. This thesis investigates three possible implementations strategies: modify an certain open-source browser, modify a current open-source SMIL player, and transform extended version of XML into another language supporting the extensions in some ways. Also, in this thesis, I will produce a working prototype implantation using one of the three strategies. Finally, some multimedia artifacts will be designed and created in the extended XML language to test the proposed implementation and to illustrate the power of the language extensions. References [1] D. C.A. Bulterman. Smil 2.0 part 1: overview, concepts, and structure. IEEE Multimedia, 8:82–88, Oct-Dec 2001. [2] D. C.A. Bulterman, J. Jansen, K. Kleanthous, K. Blom, and D. Benden. Ambulant: a fast, multi-platform open source smil player. In MULTIMEDIA ’04: Proceedings of the 12th annual ACM international conference on Multimedia, pages 492–495, New York, NY, USA, 2004. ACM Press. [3] D. C.A. Bulterman and L. Rutledge. SMIL 2.0 Interactive Multimedia for Web and Mobile Devices. X.media.publishing, Springer-Verlag, April 2004. [4] H. Cameron, P. King, and S. Thompson. Modeling reactive multimedia: Events and behaviors. Multimedia Tools Appl., 19(1):53–19, 2003. [5] A. Celentano and O. Gaggi. Schema modelling for automatic generation of multimedia presentations. In SEKE ’02: Proceedings of the 14th international conference on Software engineering and knowledge engineering, pages 593–600, New York, NY, USA, 2002. ACM Press. [6] S. Chen, M. Shyu, X. Jin, Q. Chen, C. Zhang, and J. Strickrott. A flexible image retrieval and multimedia presentation management system for multimedia databases. In MULTIMEDIA ’01: Proceedings of the ninth ACM international conference on Multimedia, pages 601–602, New York, NY, USA, 2001. ACM Press. [7] S. Chen, M. Shyu, N. Zhao, and C. Zhang. An affinity-based image retrieval system for multimedia authoring and presentation. In MULTIMEDIA ’03: Proceedings of the eleventh ACM international conference on Multimedia, pages 446–447, New York, NY, USA, 2003. ACM Press. [8] OpenGIS Consortium. Geography markup language (gml) v2.1.1, Sept 2002. http://www.opengis.net/gml/02-069/GML2-12.html. [9] Microsoft Corporation. Html+time in internet explorer 6. http://msdn.microsoft.com/workshop/author/behaviors/time.asp. [10] A. Courtney, H. Nilsson, and J. Peterson. The yampa arcade. In Haskell ’03: Proceedings of the ACM SIGPLAN workshop on Haskell, pages 7–18, New York, NY, USA, 2003. ACM Press. [11] M. Das and P. B. Lawhead. Information storage and management in large web-based applications using xml. J. Comput. Small Coll., 18(6):72–79, 2003. [12] C. Elliott and P. Hudak. Functional reactive animation. In ICFP ’97: Proceedings of the second ACM SIGPLAN international conference on Functional programming, pages 263–273, New York, NY, USA, 1997. ACM Press. [13] D. Goodman and B. Eich. JavaScript Bible. John Wiley & Sons, Inc., New York, NY, USA, 2000. [14] S. Groppe and S. B¨ottcher. Xpath query transformation based on xslt stylesheets. In WIDM ’03: Proceedings of the 5th ACM international workshop on Web information and data management, pages 106–110, New York, NY, USA, 2003. ACM Press. [15] Z. Guo, Sh. Zhou, Z. Xu, and A. Zhou. G2st: a novel method to transform gml to svg. In GIS ’03: Proceedings of the 11th ACM international symposium on Advances in geographic information systems, pages 161–168, New York, NY, USA, 2003. ACM Press. [16] M. Harren, M. Raghavachari, O. Shmueli, M. G. Burke, R. Bordawekar, I. Pechtchanski, and V. Sarkar. Xj: facilitating xml processing in java. In WWW ’05: Proceedings of the 14th international conference on World Wide Web, pages 278–287, New York, NY, USA, 2005. ACM Press. [17] H. Hosoya, J. Vouillon, and B. C. Pierce. Regular expression types for xml. ACM Trans. Program. Lang. Syst., 27(1):46–90, 2005. [18] P. Hudak, A. Courtney, H. Nilsson, and J. Peterson. Arrows, robots, and functional reactive programming. In Summer School on Advanced Functional Programming 2002,Oxford University, volume 2638 of Lecture Notes in Computer Science, pages 159–187. Springer-Verlag, 2003. [19] H. M. Jamil and G. A. Modica. An object-oriented extension of xml for autonomous web applications. In CIKM ’02: Proceedings of the eleventh international conference on Information and knowledge management, pages 161–168, New York, NY, USA, 2002. ACM Press. [20] M. Jourdan, N. Layada, C. Roisin, L. Sabry-Ismail, and L. Tardif. Madeus, and authoring environment for interactive multimedia documents. In MULTIMEDIA ’98: Proceedings of the sixth ACM international conference on Multimedia, pages 267–272, New York, NY, USA, 1998. ACM Press. [21] P. King, P. Schmitz, and S. Thompson. Behavioral reactivity and real time programming in xml: functional programming meets smil animation. In DocEng ’04: Proceedings of the 2004 ACM symposium on Document engineering, pages 57–66, New York, NY, USA, 2004. ACM Press. [22] E. Kuikka, P. Leinonen, and M. Penttonen. Towards automating of document structure transformations. In DocEng ’02: Proceedings of the 2002 ACM symposium on Document engineering, pages 103–110, New York, NY, USA, 2002. ACM Press. [23] N. Laya¨ıda and L. Sabry-Ismail. Maintaining temporal consistency of multimedia documents using constraint networks. In Proceedings of the 4th Conference on Multimedia Modelling, pages 124–135, San Jose, February 1996. [24] P. Leinonen. Automating xml document structure transformations. In DocEng ’03: Proceedings of the 2003 ACM symposium on Document engineering, pages 26–28, New York, NY, USA, 2003. ACM Press. [25] J. McCarthy, P. W. Abrahams, D. J. Edwards, T. P. Hart, and M. I. Levin. LISP 1.5 Programmer’s Manual. MIT Press, 1960. [26] J. McCarthy, R. Brayton, D. Edwards, P. Fox, L. Hodes, D. Luckham, K. Maling, D. Park, and S. Russell. LISP 1 Programmer’s Manual. MIT Press, March 1960. [27] J. C. Mitchell and R. Harper. The essence of ml. In POPL ’88: Proceedings of the 15th ACM SIGPLAN-SIGACT symposium on Principles of programming languages, pages 28–46, New York, NY, USA, 1988. ACM Press. [28] Mozilla. Mozilla firefox. http://www.mozilla.org/products/firefox/. [29] Real Networks. The realplayer 10. http://www.real.com/. [30] A. Newell and F. M. Tonge. An introduction to information processing language v. Commun. ACM, 3(4):205–211, 1960. [31] H. Nilsson, A. Courtney, and J. Peterson. Functional reactive programming, continued. In Haskell ’02: Proceedings of the ACM SIGPLAN workshop on Haskell, pages 51–64, New York, NY, USA, 2002. ACM Press. [32] Oratrix. The grins 2.0 smil player. http://www.oratrix.com/. [33] L. Rutledge. Smil 2.0: Xml for web multimedia. Internet Computing, IEEE, 5(5):78–84, September-October, 2001. [34] P. Schmitz, S. Thompson, and P. King. Presentation Dynamism in XML Functional Programming meets SMIL Animation. In Twelfth International World Wide Web Conference, pages 20–24, May 2003. [35] S. Thompson. Haskell, The Craft of Functional Programming, Second Edition. Addison- Wesley, 1999. [36] D. Turner. An overview of miranda. SIGPLAN Not., 21(12):158–166, 1986. [37] World Wide Web Consortium (W3C). Extensible markup language. http://www.w3.org/XML/. [38] World Wide Web Consortium (W3C). The extensible stylesheet language family (xsl). http://www.w3.org/Style/XSL/. [39] World Wide Web Consortium (W3C). Scalable vector graphics (svg) 1.1 specification. http://www.w3.org/TR/SVG/. [40] World Wide Web Consortium (W3C). Standard generalized mark-up language. http://www.w3.org/TR/WD-html40-970708/intro/sgmltut.html. [41] World Wide Web Consortium (W3C). Synchronized multimedia integration language (smil 2.0) specification. http://www.w3.org/AudioVideo/. [42] World WideWeb Consortium (W3C). Timed interactive multimedia extensions for html (html+time) specification. http://www.w3.org/TR/NOTE-HTMLplusTIME. [43] World Wide Web Consortium (W3C). Xquery 1.0: An xml query language. http://www.w3.org/TR/xquery/. [44] D. Walker, D. Petitpierre, and S. Armstrong. Xmltrans: a java-based xml transformation language for structured data. In Proceedings of the 18th conference on Computational linguistics, pages 1136–1140, Morristown, NJ, USA, 2000. Association for Computational Linguistics.

只有注册用户登录后才能发表评论。


网站导航: