SXBL

Last updated

Scalable Vector Graphics

sXBL (SVG's XML Binding Language) is a mechanism for defining the presentation and interactive behavior of elements described in a namespace other than SVG's (an XML language supporting vector graphics, user events and scripted behavior). sXBL is very similar to XBL, as it does for SVG documents what XBL does for XUL documents. For example, it is possible to define a generic scrollArea in sXBL and use it in SVG documents.

Contents

History, objectives, and future

sXBL specification derived from a specification called RCC (Rendering Custom Content) that was embedded in a 2003 working draft [1] of the SVG 1.2 specification. The RCC part of the specification has since been removed in favor of the sXBL more modular approach.

As stated in the sXBL working draft:

sXBL is intended to be an SVG-specific first version of a more general-purpose XBL specification (e.g., "XBL 2.0"). The intent is that, in the future, a general-purpose and modularly-defined XBL specification will be developed which will replace this specification and will define additional features that are necessary to support scenarios beyond SVG, such as integration into web browsers that support CSS. Once a general-purpose XBL is defined, sXBL would just become an SVG-specific subset (i.e., a profile) of the larger XBL specification.

Even if sXBL has borrowed a lot from XBL, there are some differences between these two standards (for example, the name of some of the elements are different). However, there are also some subtle differences between the current state of the Mozilla XBL 2.0 working draft [2] and the current state of the sXBL working draft.

As the sXBL specification has not evolved since the last working draft in August 2005, and since the September 2006 release of the XBL 2.0 last call working draft, it seems that sXBL will be dropped in favour of the more general XBL 2.0 approach. [3]

Implementations

sXBL is a W3C working draft, and has not yet reached the status of a recommendation. However, the Batik SVG Toolkit, a Java library that can be used to render, generate, and manipulate SVG graphics, has a preliminary "almost full" implementation of the current state of the sXBL specification in its code base.

See also

Related Research Articles

Dia (software) Diagramming software

Dia is free and open source general-purpose diagramming software, developed originally by Alexander Larsson. Dia uses a controlled single document interface (SDI) similar to GIMP and Inkscape.

Scalable Vector Graphics Open standard for two-dimensional vector graphics

Scalable Vector Graphics (SVG) is an Extensible Markup Language (XML)-based vector image format for two-dimensional graphics with support for interactivity and animation. The SVG specification is an open standard developed by the World Wide Web Consortium (W3C) since 1999.

Synchronized Multimedia Integration Language XML-based markup language for multimedia presentations

Synchronized Multimedia Integration Language ) is a World Wide Web Consortium recommended Extensible Markup Language (XML) markup language to describe multimedia presentations. It defines markup for timing, layout, animations, visual transitions, and media embedding, among other things. SMIL allows presenting media items such as text, images, video, audio, links to other SMIL presentations, and files from multiple web servers. SMIL markup is written in XML, and has similarities to HTML.

Vector Markup Language (VML) is an obsolete XML-based file format for two-dimensional vector graphics. It was specified in Part 4 of the Office Open XML standards ISO/IEC 29500 and ECMA-376. According to the specification, VML is a deprecated format included in Office Open XML for legacy reasons only.

XML Linking Language, or XLink, is an XML markup language and W3C specification that provides methods for creating internal and external links within XML documents, and associating metadata with those links.

XBL is an XML-based markup language for altering the behavior of XUL widgets. It was devised at Netscape in the late 1990s as an extension of XUL and existed in Firefox web browser codebase. Firefox deprecated XBL in 2017 and completed the process of removing it in 2019. However, the UXP fork of the codebase intends to continue supporting XBL indefinitely.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

A number of vector graphics editors exist for various platforms. Potential users of these editors will make a comparison of vector graphics editors based on factors such as the availability for the user's platform, the software license, the feature set, the merits of the user interface (UI) and the focus of the program. Some programs are more suitable for artistic work while others are better for technical drawings. Another important factor is the application's support of various vector and bitmap image formats for import and export.

The canvas element is part of HTML5 and allows for dynamic, scriptable rendering of 2D shapes and bitmap images. It is a low level, procedural model that updates a bitmap and does not have a built-in scene graph, but through WebGL it allows 3D shapes and images to be displayed. HTML5 Canvas also helps in making 2D games.

The SVG Working Group is a working group created by the World Wide Web Consortium (W3C) to address the need for an alternative to the PostScript document format. The PostScript format was unable to create scalable fonts and objects without creating files which were inordinately larger than a file which used unscalable fonts and objects.

ARINC 661 is a standard which aims to normalize the definition of a Cockpit Display System (CDS), and the communication between the CDS and User Applications (UA) which manage aircraft avionics functions. The GUI definition is completely defined in binary Definition Files (DF).

Apache Batik

Batik is a pure-Java library that can be used to render, generate, and manipulate SVG graphics. IBM supported the project and then donated the code to the Apache Software Foundation, where other companies and teams decided to join efforts. Batik provides a set of core modules that provide functionality to:

HTML5 Fifth and current version of hypertext markup language

HTML5 is a markup language used for structuring and presenting content on the World Wide Web. It is the fifth and last major HTML version that is a World Wide Web Consortium (W3C) recommendation. The current specification is known as the HTML Living Standard. It is maintained by a consortium of the major browser vendors, the Web Hypertext Application Technology Working Group (WHATWG).

Extensible HyperText Markup Language (XHTML) is part of the family of XML markup languages. It mirrors or extends versions of the widely used HyperText Markup Language (HTML), the language in which Web pages are formulated.

SVG filter effects

SVG filter effects are effects applied to Scalable Vector Graphics (SVG) files. SVG is an open-standard XML format for two-dimensional vector graphics as defined by the World Wide Web Consortium (W3C). A filter effect consists of a series of graphics operations that are applied to a given source vector graphic to produce a modified bitmapped result.

Animation of Scalable Vector Graphics, an open XML-based standard vector graphics format, is possible through various means:

EPUB E-book file format

EPUB is an e-book file format that uses the ".epub" file extension. The term is short for electronic publication and is sometimes styled ePub. EPUB is supported by many e-readers, and compatible software is available for most smartphones, tablets, and computers. EPUB is a technical standard published by the International Digital Publishing Forum (IDPF). It became an official standard of the IDPF in September 2007, superseding the older Open eBook standard.

Boxy SVG Vector graphics editor

Boxy SVG is a vector graphics editor for creating illustrations, as well as logos, icons, and other elements of graphic design. It is primarily focused on editing drawings in the SVG file format. The program is available as both a web app and a desktop application for Windows, macOS, Chrome OS, and Linux-based operating systems.

References