SXML: Streaming XML. Boris Rogge 1, Dimitri Van De Ville 1, Rik Van de Walle 1, Wilfried Philips 2 and Ignace Lemahieu 1

Similar documents
A Scalable Presentation Format for Multichannel Publishing Based on MPEG-21 Digital Items

XML: Introduction. !important Declaration... 9:11 #FIXED... 7:5 #IMPLIED... 7:5 #REQUIRED... Directive... 9:11

Chapter 10: Understanding the Standards

A DIGITAL TELETEXT SERVICE

Introduction to XML. XML: basic elements

Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 7 XML

MRK260. Week Two. Graphic and Web Design

Structured documents

The XML Metalanguage

7.1 Introduction. extensible Markup Language Developed from SGML A meta-markup language Deficiencies of HTML and SGML

Part III: Survey of Internet technologies

Delivery Options: Attend face-to-face in the classroom or via remote-live attendance.

Interchange formats. Introduction Application areas Requirements Track and object model Real-time transfer Different interchange formats Comparison

Create web pages in HTML with a text editor, following the rules of XHTML syntax and using appropriate HTML tags Create a web page that includes

Delivery Options: Attend face-to-face in the classroom or remote-live attendance.

XML. extensible Markup Language. Overview. Overview. Overview XML Components Document Type Definition (DTD) Attributes and Tags An XML schema

COMP9321 Web Application Engineering


A SMIL Editor and Rendering Tool for Multimedia Synchronization and Integration

HTML is a mark-up language, in that it specifies the roles the different parts of the document are to play.

Solutions. a. Yes b. No c. Cannot be determined without the DTD. d. Schema. 9. Explain the term extensible. 10. What is an attribute?

A tutorial report for SENG Agent Based Software Engineering. Course Instructor: Dr. Behrouz H. Far. XML Tutorial.

Tutorial 1 Getting Started with HTML5. HTML, CSS, and Dynamic HTML 5 TH EDITION

extensible Markup Language

MARKUP LANGUAGES. A brief history of Markup languages

XML. Objectives. Duration. Audience. Pre-Requisites

SEARCH SEMI-STRUCTURED DATA ON WEB

CTI Short Learning Programme in Internet Development Specialist

CTI Higher Certificate in Information Systems (Internet Development)

Chapter 1: Getting Started. You will learn:

Overview. Introduction. Introduction XML XML. Lecture 16 Introduction to XML. Boriana Koleva Room: C54

A network is a group of two or more computers that are connected to share resources and information.

User Interaction: XML and JSON

XML Metadata Standards and Topic Maps

Background of HTML and the Internet

Inf 202 Introduction to Data and Databases (Spring 2010)

Understanding the Web Design Environment. Principles of Web Design, Third Edition

Java Applets, etc. Instructor: Dmitri A. Gusev. Fall Lecture 25, December 5, CS 502: Computers and Communications Technology

Blackboard staff how to guide Accessible Course Design

Enhancing RSS Feeds: Eliminating Overhead through Binary Encoding

Mobile MOUSe WEB SITE DESIGN ONLINE COURSE OUTLINE

Question No: 2 Which part of the structured FrameMaker application controls how long SGML and FrameMaker element names can be by default?

Text Properties and Languages

AIM. 10 September

From SGML to HTML and back. From SGML to HTML

CSI 3140 WWW Structures, Techniques and Standards. Representing Web Data: XML

Preferential Resource Delivery Via Web Proxy or Web Browser

UNIVERSITY OF NORTH CAROLINA WILMINGTON

Alpha College of Engineering and Technology. Question Bank

Publishing Technology 101 A Journal Publishing Primer. Mike Hepp Director, Technology Strategy Dartmouth Journal Services

CIS 408 Internet Computing. Dr. Sunnie Chung Dept. of Electrical Engineering and Computer Science Cleveland State University

XML. extensible Markup Language. ... and its usefulness for linguists

CSS, Cascading Style Sheets

COMSC-030 Web Site Development- Part 1. Part-Time Instructor: Joenil Mistal

Chapter 13: Introduction to XML. Informatics Practices Class XII. By- Deepak Bhinde

1D CIW: Web Design Specialist. Course Outline. CIW: Web Design Specialist Apr 2018

.. Cal Poly CPE/CSC 366: Database Modeling, Design and Implementation Alexander Dekhtyar..

CIW: Web Design Specialist. Course Outline. CIW: Web Design Specialist. ( Add-On ) 16 Sep 2018

('cre Learning that works for Utah STRANDS AND STANDARDS WEB DEVELOPMENT 1

UNIT -II. Language-History and Versions Introduction JavaScript in Perspective-

Delivery Context in MPEG-21

T Research Seminar on Digital Media Digital TV Services in Handheld Devices DVB-HTML

INTRODUCTION TO HTML5! CSS Styles!

Evaluation of Models for Parsing Binary Encoded XML-based Metadata

Dreamweaver Domain 5: Organizing Content by Using Dreamweaver CS5

XML Update. Royal Society of the Arts London, December 8, Jon Bosak Sun Microsystems

JavaScript Context. INFO/CSE 100, Spring 2005 Fluency in Information Technology.

Vovici Enterprise Web Accessibility Guidelines

MPEG-21 SESSION MOBILITY FOR HETEROGENEOUS DEVICES

Text Languages and Properties

DDC Learning Web Design with Adobe CS5 Georgia Edition 2011

Implementing Web Content

Web Standards Mastering HTML5, CSS3, and XML

Languages in WEB. E-Business Technologies. Summer Semester Submitted to. Prof. Dr. Eduard Heindl. Prepared by

Semantic Web Lecture Part 1. Prof. Do van Thanh

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward

Comp 336/436 - Markup Languages. Fall Semester Week 4. Dr Nick Hayward

Reading How the Web Works

Ministry of Higher Education and Scientific Research

Introduction to the Internet and World Wide Web p. 1 The Evolution of the Internet p. 2 The Internet, Intranets, and Extranets p. 3 The Evolution of

HTML. Mohammed Alhessi M.Sc. Geomatics Engineering. Internet GIS Technologies كلية اآلداب - قسم الجغرافيا نظم المعلومات الجغرافية

Tennessee. Trade & Industrial Course Web Page Design II - Site Designer Standards. A Guide to Web Development Using Adobe Dreamweaver CS3 2009

All Adobe Digital Design Vocabulary Absolute Div Tag Allows you to place any page element exactly where you want it Absolute Link Includes the

Introduction Syntax and Usage XML Databases Java Tutorial XML. November 5, 2008 XML

ibreathesports Inc. Apurva Alok Bernardo Silva

Introduction to XML Zdeněk Žabokrtský, Rudolf Rosa

Web Programming Paper Solution (Chapter wise)

Style Sheet Languages for Hypertext

IT6503 WEB PROGRAMMING. Unit-I

BRA BIHAR UNIVERSITY, MUZAFFARPUR DIRECTORATE OF DISTANCE EDUCATION

Methodology and Technology Services

CS WEB TECHNOLOGY

COMP9321 Web Application Engineering. Extensible Markup Language (XML)

ECPR Methods Summer School: Automated Collection of Web and Social Data. github.com/pablobarbera/ecpr-sc103

PASS4TEST. IT Certification Guaranteed, The Easy Way! We offer free update service for one year

W3C XML XML Overview

CS7026: Authoring for Digital Media. Introduction Markup Languages

Japanese Datacasting Coding Scheme BML

Advanced Web Programming (17MCA42)

User Interaction: XML and JSON

Transcription:

SXML: Streaming XML Boris Rogge 1, Dimitri Van De Ville 1, Rik Van de Walle 1, Wilfried Philips 2 and Ignace Lemahieu 1 1 University of Ghent 2 University of Ghent Elis - Medisip - Ibitech Telin Sint-Pietersnieuwstraat 41 Sint-Pietersnieuwstraat 41 B-9000 Ghent, Belgium B-9000 Ghent, Belgium Tel: 1 +32 9/264.89.11 Fax: 1 +32 9/264.35.94 E-mail: Boris.Rogge@rug.ac.be Abstract When broadband networks will be implemented in the near future, a huge amount of bandwidth will be available and hence, a number of new applications will emerge. Application developers will need a framework that enables them to utilize the possibilities of these types of new networks. In this article we present a document type that will allow the addition of (meta-)information to data streams and the synchronization of different data streams. It is called SXML (Streaming XML) and is based on the extensible Markup Language (XML). The SXML grammar is defined in a document type definition (SXML-DTD). The content of an SXML document can be processed real time or can be retrieved from disk. XML is being used in a complete new manner and in a totally different environment in order to easily describe the structure of the stream. Finally, a preliminary implementation has been developed and is being tested. Keywords XML, Internet, JAVA, Broadband Networks I. Introduction The next big thing in the digital revolution might be the general use of broadband networks and digital television. The Internet has shown us the possibilities of global networks and has given birth to a huge number of new applications. Broadband networks will provide these applications with the bandwidth they need and thus become real multimedia transport channels [1,2]. Broadband networks are currently being deployed at a high pace. The amount of downstream bandwidth that these networks will provide us with will be huge compared to the downstream bandwidth currently available. The availability of huge amounts of bandwidth will Dimitri Van De Ville is a Research Assistant with the FWO Flanders, Belgium. Rik Van de Walle is a Post-Doctoral Fellow of the Fund for Scientific Research - Flanders (FWO, Brussels, Belgium) undoubtely stimulate the development of a number of new multimedia applications. Some of these applications will be inherited from the Internet and adapted to broadband networks, while others will be new and are still to be created. Some applications that are currently available are WebTV, tele-education [3] and online interactive games [4]. We strongly believe that one of the driving forces behind these new applications will be digital television and its derivatives. In order to easily create and deploy such multimedia applications, developers will need a generic framework that can be used as a toolbox when creating applications that are to be used on broadband networks. Some of the services the framework will provide could be: easy distribution of data (advanced push technology) and synchronization of different data streams and media types. We will introduce a first building block for such a framework. Today, a number of standards for multimedia content is widely used in the digital world. On the Internet, textbased documents are mainly marked up in HTML or XML while multimedia content is stored in a large number of different formats (Quicktime, MPEG, RealVideo and RealAudio, Flash, etc.). A standard that synchronizes multimedia content within a web-based environment is the W3C consortiums Synchronized Multimedia (SMIL). In this paper we present a new document type that is based on the extensible Markup Language (XML). The new document type is used for adding information and references to existing data streams and for synchronizing different data streams. This article is structured as follows: in Sect. II a brief introduction to the XML standard is given. Section III provides a detailed overview of the Streaming XML protocol (SXML). Finally, Sect. IV summarizes the conclusions from this paper and Sect. V gives some directions for future work. ISBN: 90-73461-18-9 389 c STW, 1999 10 19-01:060

390 Boris Rogge et al. II. Extensible Markup Language The extensible Markup Language (XML) is a direct descendant of the Standard Generalized Markup Language (SGML) [5]. Hundreds of optional features added to SGML over the course of years have been removed to produce XML 1 [6]. In order to introduce XML, we wil compare it to HTML (Hypertext Markup Language). Although they are both derivatives from SGML and hence being markup languages, HTML and XML are very different. HTMLs primary goal is to create a layout for a certain document whereas the primary goal of XML is giving structure to the content of documents in a formal manner. The XML-standard defines how to create an XML document by defining the tags your application needs. Thus, all tags that are used within an XML document are to be defined by the author of the document. When writing a page in HTML, one knows that the document is formatted correctly if all tags are correct and it is correctly visualized. With XML there are two levels of correctness: a document can be valid or well-formed. A valid XML document is completely self-describing. It exists out of a base document and some optional auxiliary files. Everything the parser needs to know to process the documents structure and content is embedded in the document or in the auxiliary files that are refered to from the base document. A well-formed XML document contains the absolute minimum needed by the parser to process the documents structure and content. This means that the syntax has to be compliant with the XML standard. A valid XML document is always well-formed. Chief among the differences between valid and well-formed XML is that valid XML includes a document type definition (DTD). The DTD is the name given to the grammar that appears in the Document Type Declaration [7] once it is processed by the XML parser. The fact that both terms have the same acronym is regularly a source of confusion. A DTD includes [8], among other things: definitions of the tags used to mark up the document, description of the allowed structural relationship, specification of the sequence in which the tags can appear within the XML document, list of properties allowed or required for certain tags. A valid XML document includes a DTD within the document or makes a reference to a DTD. In both cases, the parser starts by processing the DTD before 1 These are features from the SGML standard. An XML document can be as complex as the author is willing to make it. processing the content of the XML document. A wellformed XML document does not include or does not make any reference to a DTD. In the latter case, only the correctness of the XML syntax is checked by the parser. To visualize the content of an XML document, style sheets are used. Currently there are two types of style sheets that can be applied to an XML document: Cascading Style Sheets (CSS) and extensible Style Sheets (XSL). Figure 1 shows the document structure necessary to display an XML document in a standard 2 Internet browser. The DTD can be included in the XML document (internal DTD) or can be referenced by the XML document (external DTD). An XSL style sheet is always referenced from the XML document. XML document DTD document Validation Presentation XSL document Fig. 1. Auxiliary documents linked to an XML document. III. Streaming XML Streaming XML (SXML) is an XML-based document type for adding (meta-)information to existing data streams and for synchronizing different kinds of media. An SXML document can be created and distributed on the fly or can be stored for retrieval at a later moment in time. An SXML document consists out of an undefined number of SXML frames (see figure 2 and table I). An SXML frame is a description of a moment or period in time. The properties that have to be assigned to this frame are included as attributes of the frame. Each frame also holds a data section and a reference section. Although the data section can include an unlimited amount of data, an SXML stream is not intended to carry large amounts of data. Instead, it is intended to carry control information and references to other objects or streams. The reference section holds references to other streams, Internet addresses or any type of reference that the client application can handle. The actual data streams are to be transported using standard network techniques. 2 Currently only Microsoft Internet Explorer includes a nonvalidating XML parser. STW/SAFE99

SXML: Streaming XML 391 TABLE I An SXML stream <?xml version="1.0"?> <sxml> <frame id="2543" duration="15s" store="false" type="visible"> <![CDATA[Place actual data in here.]]> <frame id="2544" duration="12s" store="false" type="visible"> <![CDATA[FF=+15.1;RW=+41.3]]>... <frame id="2611" duration="0s" store="false" type="hidden" title="frame n"> <![CDATA[Reference to the RUG webserver]]> <reference protocol="http://"> <![CDATA[www.rug.ac.be/]]> </reference> </sxml> The SXML Document Type Definition (SXML- DTD) defines the grammar of an SXML document. A validating XML parser will check all SXML streams for their correctness using this SXML-DTD. A valid SXML document should start with an <sxml> tag and end with its closing equivalent </sxml>. Within these two tags an undefined number of frames can be defined by including the following two tags: <frame> and. Every frame holds a data section ( and ), and a reference section (<reference> and </reference>). Table II depicts the document type definition (DTD) for an SXML document. Each frame tag can include a number of attributes. These attrubites are summarized and described in table III. The attributes for the reference section of a frame are described in table IV. A. Generic framework In this paragraph we describe the final configuration in which SXML will be used. Although this paper only focuses on the document definition, a brief description of the framework we have in mind is given. Figure 3 shows the framework in which SXML is to <frame id="n" type="hidden" timestamp="8457" <frame duration="2"> id="1" <frame type="show" id="0" timestamp="1601" type="visible" duration="0"> timestamp="1583" duration="4.58"> t2 t 1 t 0 Fig. 2. An SXML stream consisting out of an undefined number of consecutive frames. be used. This will be a generic framework consisting of services for application developers. The final goal is to create an SXML-decoder that can be used in consumer devices such as set-top boxes or intelligent TVs. These devices will use SXML to combine different data streams into one interactive whole that is presented to the viewer or end user. The content tn T IEEE/ProRISC99

392 Boris Rogge et al. Audio Video } MPEG Encoder DVB MPEG Decoder } Audio Video Data SXML Encoder SXML Decoder Data control control Fig. 3. Overview of the framework in which SXML will be used. TABLE II The SXML Document Type Definition (DTD) <!ELEMENT sxml (frame)*> <!ELEMENT frame (data? reference?)> <!ELEMENT data (#PCDATA)> <!ELEMENT reference (#PCDATA)> <!ATTLIST frame id CDATA #REQUIRED timestamp CDATA duration CDATA store (true false) false type (hidden visible) visible layer (true false) false title CDATA min CDATA > <!ATTLIST reference protocol CDATA #REQUIRED > providers will use an SXML-encoder to add references to existing streams of data. Some functionality this framework will provide is listed below: adding (meta-)information to data streams, synchronization of different data streams (including audio and video), layering of different kinds of media, intelligent distribution of data over broadband networks. B. Current implementation Currently, a preliminary version of an SXML-parser has been implemeted in JAVA. This parser is based on the XP parser [9] written by James Clarck. A JAVA applet uses the SXML parser and processes the basic features from an SXML document. The applet processes all frames and shows all frame information, attributes and attribute values on screen. It also presents time information to the user (How TABLE III Attributes Associated With An SXML Frame Tag Attribute Explanation ID A unique identifier is assigned to the frame at creation time Timestamp A timestamp is added to the frame at creation time Duration The amount of time a certain frame has to be shown at the client side Type Thetypeoftheframe. Thiscanbe one of the following types: visible, hidden Store True when the content of the frame has to be stored; false when the data is not to be stored Description A brief description of the frame TABLE IV Attributes Associated With an SXML Reference Tag Attribute Protocol Explanation Identification of the protocol that the reference uses much longer is a frame to be shown? What is the timestamp of a particular frame?). When a reference is made in the reference section and the browser supports the referred data type, this information is shown in the browser. Controlling instructions are currently discarded since no application is implemented yet. IV. Conclusion In this paper we presented a method for adding (meta-) information to data streams and for synchronizing several types of data using a new document type: SXML. This SXML stream is based on the XML standard and can be generated in real time or can be created in advance. A document type definition for SXML was introduced and a preliminary STW/SAFE99

SXML: Streaming XML 393 implementation of an SXML parser based on the XP XML parser was presented. This parser has been integrated into a JAVA applet that interprets the SXML stream and shows the frame information on screen. Only well-known Internet protocols can be processed at this moment in time. V. Future Work Currently, an SXML document can only hold one information stream. This implies that all frames belong to the same stream. As a consequence, all frames are to be processed consecutively and no simultaneous tasks can be performed. The SXML document should be extended to hold several streams with each frame belonging to one of these streams. Therefore, the parser will have to manage all these streams and their relationships. Synchronization between different streams within an SXML document is a future research topic as well. Finally, the generic framework will be developed and tested in the near future. References [1] A. Dutta-Roy, Bringing home the Internet, IEEE Spectrum, pp. 3338, march 1999. [2] A. Dutta-Roy, Cable, its not just for TV, IEEE Spectrum, pp. 5359, may 1999. [3] D. A. Harris, Online distance education in the United States, IEEE Communications magazine, pp. 8791, March 1999. [4] C. Flerackers, F. Alsema, F. Van Reeth, and K. Coninx, Typotoons: An interactive TV-application through a networked virtual environment, in Proceedings of SCI 99, pp. 349356, 1999. [5] ISO 8879 SGML, tech. rep., International Standards Organisation, 1988. [6] J. E. Simpson, Just XML. Prentice Hall, 1999. [7] S. McGrath, XML by example. The definitive XML series, Prentice Hall, 1998. [8] C. F. Goldfarb and P. Prescod, The XML handbook. The definitive XML series, Prentice Hall, 1998. [9] J. Clarck, XP parser. Internet. ftp://ftp.jclark.com/pub/xml/xp.zip. IEEE/ProRISC99

This page was intentionally left blank