XML
Extensible Markup Language (XML) is a markup language and file format created by W3C in 1998 for storing, transmitting, and rebuilding arbitrary data.
XML is a markup language similar to HTML. HTML was intended for displaying data, emphasizing its appearance. On the other hand, XML was created to transport data, focusing on its content.
Optionally, files and assets for a BD-J application can be bound together using an XML file via parsing. Parsing is a process of transforming data from one format to another. This process can be accomplished by the parser. The parser is a component of the translator that helps to organize linear text structure following the set of defined rules which is known as grammar.
XML is often used in BD-J applications for displaying menu UIs and animated frames. They're also used as configurations files. BD-J developers often use SAX (Simple API for XML) and Java API for XML Processing (JAXP) for parsing XML files with Java code. XML is popular with BD-J developers because it's similar to HTML, easier to read, and easy to edit using a simple text editor.
Here's an example:
These are five PNG images from Paramount's loading screen that acts as "frames".
Here's the XML code that is used to display and animate the five PNG image images.
<?xml version="1.0" encoding="utf-8"?> <LoadingAnimation> <image name="load" location="vfs://BDMV/JAR/88888/LoadingComposite1.png" /> <rectangleGlyph x="0" y="0" width="1920" height="1080" colorR="0" colorG="0" colorB="0" colorA="153" alpha="100" /> <imageGlyph x="613" y="473" width="694" height="132" alpha="100"> <region name="loadPlate" image="load" x="0" y="0" width="694" height="132" /> </imageGlyph> <sequenceGlyph divideFrame="5"> <frame x="628" y="491" alpha="100"> <region name="loading_progress01" image="load" x="694" y="0" width="124" height="96" /> </frame> <frame x="763" y="491" alpha="100"> <region name="loading_progress02" image="load" x="818" y="0" width="124" height="96" /> </frame> <frame x="899" y="491" alpha="100"> <region name="loading_progress03" image="load" x="942" y="0" width="124" height="96" /> </frame> <frame x="1034" y="491" alpha="100"> <region name="loading_progress04" image="load" x="1066" y="0" width="124" height="96" /> </frame> <frame x="1169" y="491" alpha="100"> <region name="loading_progress05" image="load" x="1190" y="0" width="124" height="96" /> </frame> </sequenceGlyph> </LoadingAnimation>
This Java code below, reads the XML and finally puts the image together via parsing.
import java.awt.Image; import java.io.File; public class a { private static Image g; public static ce a; public static ce b; public static ce c; public static ce d; public static ce e; public static ce f; private static final File h = new File(System.getProperty("bluray.vfs.root") + File.separator + "BDMV" + File.separator + "JAR" + File.separator + "88888"); public static void a() { c(); d(); e(); } public static void b() { if (g != null) g.flush(); } private static void c() { cl.a(h); g = cl.c("LoadingComposite1.png"); } private static void d() { a = new ce(g, "image_loadPlate", 0, 0, 694, 132); b = new ce(g, "image_filmframe01", 694, 0, 124, 96); c = new ce(g, "image_filmframe02", 818, 0, 124, 96); d = new ce(g, "image_filmframe03", 942, 0, 124, 96); e = new ce(g, "image_filmframe04", 1066, 0, 124, 96); f = new ce(g, "image_filmframe05", 1190, 0, 124, 96); } private static void e() {} }
And the result.
Other XML-like languages
Some studio labels use they're own XML-like markup languages for parsing, like BDXML (Sony) and SoML (Shout! Factory).
Specifications
Software
- LT-XML 2 XML toolkit
- BaseX XML database engine
- SAX (Simple API for XML) - an event-driven online algorithm for lexing and parsing XML documents
- JAXP Reference Implementation Project Home Page
External links
- W3C XML Homepage
- W3C XML Core Working Group Public Page
- Wikipedia article
- On XML and data formats
- GCC-XML: convert C++ code to XML
- XML Format Preservation Assessment
Author(s) : Γ Firestone
Popular Pages
-
Type Programming /scripting language Paradigm Multi-paradigm: event-driven, functional, imperative, procedural, object-orie...
-
HDMV (High Definition Movie) mode is an interactive framework with the well-known features of DVD, but it's more advanced than DVD m...
-
MPEG-2 Transport Stream Type of format Container format for video, audio, data First released August 2004 Latest relea...