ebml/index.html
2015-04-19 14:57:49 +02:00

77 lines
3.8 KiB
HTML
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html>
<head>
<meta charset='utf-8'>
<meta http-equiv="X-UA-Compatible" content="chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link href='https://fonts.googleapis.com/css?family=Architects+Daughter' rel='stylesheet' type='text/css'>
<link rel="stylesheet" type="text/css" href="stylesheets/stylesheet.css" media="screen">
<link rel="stylesheet" type="text/css" href="stylesheets/pygment_trac.css" media="screen">
<link rel="stylesheet" type="text/css" href="stylesheets/print.css" media="print">
<!--[if lt IE 9]>
<script src="//html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<title>libEBML by the Matroska team</title>
</head>
<body>
<header>
<div class="inner">
<h1>libEBML</h1>
<h2>a C++ libary to parse EBML files</h2>
<a href="https://github.com/Matroska-Org/libebml" class="button"><small>View project on</small> GitHub</a>
</div>
</header>
<div id="content-wrapper">
<div class="inner clearfix">
<section id="main-content">
<h3>
<a id="ebml--extensible-binary-markup-language" class="anchor" href="#ebml--extensible-binary-markup-language" aria-hidden="true"><span class="octicon octicon-link"></span></a>EBML Extensible Binary Markup Language</h3>
<p>EBML was designed to be a simplified binary extension of XML for the purpose of storing and manipulating data in a hierarchical form with variable field lengths.</p>
<p>It uses the same paradigms as XML files, meaning that syntax and semantics are separated. So a generic EBML library could read any format based on it. The interpretation of data is up to a specific application that knows how each elements (equivalent of XML tag) has to be handled.</p>
<p>Among all the advantages of XML, there are a few limitations compared to what XML can achieve:</p>
<ul>
<li>There is currently no equivalent to a DTD or Schema to define known elements for a document. But we plan on adding such a level.</li>
<li>No entity can be defined, ie an element that would be replaced by another content. We don't plan to add something like this so far.</li>
<li>No external include of other files (like CSS, images, etc). It could be easily added as a "proprietary" element (not defined in the basic EBML format).</li>
</ul>
<p>For the rest, you have all advantages like:</p>
<ul>
<li>Upward compatibility when the format is updated. Something rare in binary formats, unless you have some unused space in the original format.</li>
<li>Unlimited size of binary data.</li>
<li>Very size efficient: only space required for a data is written (unless you specifically require more space for better updating later).</li>
</ul>
<p>There is also one disadvantage commonly said about XML: it's very verbose. That's why you should have default/assumed values in you EBML-based format as much as possible. So you just describe what is really necessary.</p>
<p>EBML was originally created for the <a href="http://www.matroska.org">Matroska</a> project. So this is naturally the first format based on EBML to exist. You are therefore encouraged to check the specs to know how to design a format based on EBML.</p>
<h3>Contact</h3>
<p>All people that are working on EBML are related to Matroska. So you'd better contact the <a href="http://www.matroska.org/contact/index.html">Matroska team</a>.</p>
</section>
<aside id="sidebar">
<p><a href="index.html" class="page-link">Home page</a></p>
<p><a href="specs.html" class="page-link">Specifications</a></p>
<p class="repo-owner"><a href="https://github.com/Matroska-Org/libebml">libEBML</a> is maintained by the <a href="http://www.matroska.org/contact/index.html">Matroska team</a>.</p>
</aside>
</div>
</div>
</body>
</html>