ISO/IEC 23001-1:2006/Amd 2:2008
(Amendment)Information technology — MPEG systems technologies — Part 1: Binary MPEG format for XML — Amendment 2: Conservation of prefixes and extensions on encoding of wild cards
Information technology — MPEG systems technologies — Part 1: Binary MPEG format for XML — Amendment 2: Conservation of prefixes and extensions on encoding of wild cards
Technologies de l'information — Technologies des systèmes MPEG — Partie 1: Format binaire de MPEG pour XML — Amendement 2: Conservation des préfixes et des extensions pour l'encodage des caractères de remplacement
General Information
- Status
- Published
- Publication Date
- 26-Feb-2008
- Current Stage
- 6060 - International Standard published
- Start Date
- 27-Feb-2008
- Due Date
- 01-Jan-2010
- Completion Date
- 01-Jan-2010
Relations
- Effective Date
- 06-Jun-2022
- Effective Date
- 15-Apr-2008
Overview
ISO/IEC 23001-1:2006/Amd 2:2008 is an international amendment published by ISO and IEC, extending the MPEG systems technologies covered in the core standard (ISO/IEC 23001-1). This amendment specifically addresses the Conservation of prefixes and extensions on encoding of wild cards in the Binary MPEG Format for XML (BiM).
The BiM standard enables efficient binary encoding and interchange of XML documents, essential for applications where bandwidth, processing efficiency, and compatibility are critical. With this amendment, the specification now ensures better handling of XML namespaces, wild card elements, and attribute mapping, supporting more robust multimedia data interchange.
Key Topics
- Conservation of Prefixes: Maintains XML prefix associations throughout encoding and decoding, ensuring correctness of namespace handling in parsed content.
- Wild Card Encoding Extensions: Expands how wild cards are processed in XML to include additional context and namespace information, preserving structure and validity.
- Advanced Decoder Features: Introduces optimized decoding procedures for QName expressions and enhanced event-based SAX decoding, resulting in improved XML document processing.
- Dynamic Dictionaries: Supports dynamic growth of namespaces, elements, and attributes during encoding, allowing adaptation to diverse XML content.
- Compression Techniques: Includes contextual advanced optimized decoders (e.g., Zlib, uniform and non-uniform quantization) to enhance compression and decompression of strings and data.
- Lax Decoding Procedures: Defines efficient handling of wild card elements and attributes using "lax" decoding, beneficial for loosely structured XML data.
- Symbol Table and Event Encoding: Efficient event sequence encoding using a rolling symbol table, enabling compact representation of common XML parsing actions.
- Interoperability Improvements: Revised semantics and index tables align with standards relevant to broadcasting and IPTV requirements.
Applications
The enhancements provided by this amendment have practical value in various domains where efficient XML processing and interoperability are crucial:
- Multimedia Content Delivery: Content providers and platform developers benefit from robust support for XML metadata in audio, video, and interactive services, especially over constrained networks.
- Broadcast and IPTV Systems: The improved namespace and wild card management support advanced electronic program guides, service discovery, and interactive television applications.
- Enterprise Data Interchange: Organizations that rely on structured XML data for business processes (e.g., supply chains, e-commerce) gain from efficient and portable serialization.
- Mobile and Embedded Devices: Compact binary XML encoding reduces resource requirements, making this approach suitable for low-power or bandwidth-limited environments.
- Digital Archives and Libraries: The amendment ensures that structured XML-based metadata can be efficiently stored, indexed, and retrieved across evolving technological platforms.
Related Standards
For implementers and stakeholders, the following related standards provide additional context and extension for the features introduced in this amendment:
- ISO/IEC 23001-1:2006 - Information technology - MPEG systems technologies - Part 1: Binary MPEG format for XML (BiM) [Original Base Standard].
- ISO/IEC 23002-3 - MPEG video technologies supporting advanced coding techniques.
- ETSI TS 102 323/102 529 - Digital Video Broadcasting (DVB) standards for broadcast service guides.
- ETSI TS 102 034, ETSI TS 102 471 - DVB standards supporting IPTV and ESG implementations.
- W3C XML and Namespaces Specifications - Underpinning XML namespace and qualified name conventions referenced in BiM encoding and decoding.
- MPEG-7 and MPEG-21 - Other ISO/IEC standards leveraging XML serialization for multimedia description and management.
By adopting the guidelines of ISO/IEC 23001-1:2006/Amd 2:2008, organizations and developers ensure compatibility, efficiency, and longevity within multimedia systems where effective XML processing and namespace conservation are critical.
Buy Documents
ISO/IEC 23001-1:2006/Amd 2:2008 - Information technology — MPEG systems technologies — Part 1: Binary MPEG format for XML — Amendment 2: Conservation of prefixes and extensions on encoding of wild cards Released:2/27/2008
Get Certified
Connect with accredited certification bodies for this standard

BSI Group
BSI (British Standards Institution) is the business standards company that helps organizations make excellence a habit.

NYCE
Mexican standards and certification body.
Sponsored listings
Frequently Asked Questions
ISO/IEC 23001-1:2006/Amd 2:2008 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology — MPEG systems technologies — Part 1: Binary MPEG format for XML — Amendment 2: Conservation of prefixes and extensions on encoding of wild cards". This standard covers: Information technology — MPEG systems technologies — Part 1: Binary MPEG format for XML — Amendment 2: Conservation of prefixes and extensions on encoding of wild cards
Information technology — MPEG systems technologies — Part 1: Binary MPEG format for XML — Amendment 2: Conservation of prefixes and extensions on encoding of wild cards
ISO/IEC 23001-1:2006/Amd 2:2008 is classified under the following ICS (International Classification for Standards) categories: 35.040 - Information coding; 35.040.40 - Coding of audio, video, multimedia and hypermedia information. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO/IEC 23001-1:2006/Amd 2:2008 has the following relationships with other standards: It is inter standard links to ISO/IEC 23001-1:2006; is excused to ISO/IEC 23001-1:2006. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
ISO/IEC 23001-1:2006/Amd 2:2008 is available in PDF format for immediate download after purchase. The document can be added to your cart and obtained through the secure checkout process. Digital delivery ensures instant access to the complete standard document.
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 23001-1
First edition
2006-04-01
AMENDMENT 2
2008-02-15
Information technology — MPEG systems
technologies —
Part 1:
Binary MPEG format for XML
AMENDMENT 2: Conservation of prefixes
and extensions on encoding of wild cards
Technologies de l'information — Technologies des systèmes MPEG —
Partie 1: Format binaire de MPEG pour XML
AMENDEMENT 2: Conservation des préfixes et des extensions pour
l'encodage des caractères de remplacement
Reference number
ISO/IEC 23001-1:2006/Amd.2:2008(E)
©
ISO/IEC 2008
ISO/IEC 23001-1:2006/Amd.2:2008(E)
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
© ISO/IEC 2008
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2008 – All rights reserved
ISO/IEC 23001-1:2006/Amd.2:2008(E)
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
Amendment 2 to ISO/IEC 23001-1:2006 was prepared by Joint Technical Committee ISO/IEC JTC 1,
Information technology, Subcommittee SC 29, Coding of audio, picture, multimedia and hypermedia
information.
© ISO/IEC 2008 – All rights reserved iii
ISO/IEC 23001-1:2006/Amd.2:2008(E)
Information technology — MPEG systems technologies —
Part 1:
Binary MPEG format for XML
AMENDMENT 2: Conservation of prefixes and extensions on
encoding of wild cards
In 6.2.2, replace:
Number of Mnemonic
DecoderInit () {
bits
8+ vluimsbf8
SystemsProfileLevelIndication
…
with:
Number of bits Mnemonic
DecoderInit () {
8+ vluimsbf8
SystemsProfileLevelIndication
3 bslbf
UnitSizeCode
1 bslbf
NoAdvancedFeatures
4 bslbf
ReservedBits
If (! NoAdvancedFeatures) {
8+ vluimsbf8
AdvancedFeatureFlags_Length
/** FeatureFlags **/
1 bslbf
InsertFlag
1 bslbf
AdvancedOptimisedDecodersFlag
1 bslbf
AdditionalSchemaFlag
1 bslbf
AdditionalSchemaUpdatesOnlyFlag
1 bslbf
FragmentReferenceFlag
1 bslbf
MPCOnlyFlag
1 bslbf
HierarchyBasedSubstitutionCodingFlag
1 bslbf
ContextPathTableFlag
1 bslbf
PrefixTableFlag
24 bslbf
ReservedBitsZero /**for additional Flags **/
If (PrefixTableFlag) {
PrefixTable ()
}
AdvancedFeatureFlags_Lent
ReservedBitsZero
© ISO/IEC 2008 – All rights reserved 1
ISO/IEC 23001-1:2006/Amd.2:2008(E)
h*8-33-PrefixTable_length*8
}/** FeatureFlags end **/
/** Start FUUConfig **/
If (! AdditionalSchemaUpdatesOnlyFlag) {
8+ vluimsbf8
NumberOfSchemas
for (k=0; k< NumberOfSchemas; k++) {
8+ vluimsbf8
SchemaURI_Length[k]
8* SchemaURI_Length[k] bslbf
SchemaURI[k]
8+ vluimsbf8
LocationHint_Length[k]
8* LocationHint_Length[k] bslbf
LocationHint[k]
8+ vluimsbf8
NumberOfTypeCodecs[k]
for (i=0; i< NumberOfTypeCodecs[k]; i++) {
8+ vluimsbf8
TypeCodecURI_Length[k][i]
8* bslbf
TypeCodecURI[k][i]
TypeCodecURI _Length[k][i]
8+ vluimsbf8
NumberOfTypes[k][i]
for (j=0; j< NumberOfTypes[k][i]; j++) {
8+ vluimsbf8
TypeIdentificationCode[k][i][j]
}
}
}
If (ContextPathTableFlag) {
ContextPathTable()
}
/** FUUConfig - Advanced optimised decoder
framework **/
If (AdvancedOptimisedDecodersFlag) {
8+ vluimsbf8
NumOfAdvancedOptimisedDecoderTypes
for (i=0; i<
NumOfAdvancedOptimisedDecoderTypes; i++) {
8+ vluimsbf8
AdvancedOptimisedDecoderTypeURI_Length[i]
8* bslbf
AdvancedOptimisedDecoderTypeURI[i]
AdvancedOptimisedDecoder
TypeURI_Length[i]
}
AdvancedOptimisedDecodersConfig ()
}
/** FUUConfig - Fragment reference framework **/
If (FragmentReferenceFlag) {
8 uimsbf
NumOfSupportedFragmentReferenceFormat
for (i=0;i<
NumOfSupportedFragmentReferenceFormat;i++) {
8 blsbf
SupportedFragmentReferenceFormat[i]
}
2 © ISO/IEC 2008 – All rights reserved
ISO/IEC 23001-1:2006/Amd.2:2008(E)
}
}
/** end FUUConfig **/
If (AdditionalSchemaFlag) {
AdditionalSchemaConfig ()
}
/** Initial document **/
If (!AdditionalSchemaUpdateOnlyFlag) {
8+ vluimsbf8
InitialDocument_Length
InitialDocument()
}
}
Add the following paragraph:
PrefixTable {
8+ vluimsbf8
NumberofPrefixes
for (k=0; k< NumberOfPrefixes; k++) {
8+ vluimsbf8
SchemaURI_Length[k]
8* bslbf
SchemaURI[k]
SchemaURI_Lengt
h[k]
8+ vluimsbf8
Prefix_Length[k]
8* bslbf
Prefix[k]
[Prefix_Length[k]]
}
}
Add the following paragraph:
Semantics
Name Definition
PrefixTable_length Indicates length in Bytes of PrefixTable.
PrefixTableFlag Indicates whether a prefix table is given in the decoderInit.
NumberofPrefixes Specifies the number of prefixes defined in the PrefixTable.
Prefix_Length[k] Indicates the size in bytes of the Prefix[k]. A value of zero is forbidden.
Prefix[k] This is the UTF-8 representation of the prefix associated to SchemaURI[k]
in the PrefixTable. The decoder SHOULD bind the namespace names
in the current document to the prefixes given in the PrefixTable if
present. The default namespace, used to construct unprefixed elements,
will be declared as a null string “”.
If different prefixes are associated to a same namespace name in the
© ISO/IEC 2008 – All rights reserved 3
ISO/IEC 23001-1:2006/Amd.2:2008(E)
PrefixTable, or a given namespace name is associated to different
prefixes, the decoder should only use the first defined prefix/namespace
binding in the output document.
NOTE A document author wishing to use prefix conservation in order to
maintain, after decoding, the validity of QNames/XPath expressions in the content
of an element should only use one global prefix/namespace name mapping for
those prefix and namespace names that are used in the QNames/XPath
expressions. However, in order to ensure in all cases the validity of those
expressions after decoding, the optimized decoder for QName expressions
specified in subclause 8.8 should be used.
In 6.2.2, replace:
Table 1 — Index Table for SystemsProfileLevelIndication
Index Systems Profile and Level
0 no profile specified
1 – 127 Reserved for ISO Use
with:
Table 1 — Index Table for SystemsProfileLevelIndication
Index Systems Profile and Level
0 no profile specified
1 – 124 Reserved for ISO Use
125 ETSI TS 102 323/102 529
(DVB GBS TV-A and DVB IPTV
BCG)
126 ETSI TS 102 034
(DVB IPTV SD&S)
127 ETSI TS 102 471
(DVB IPDC ESG)
128- User specific
In 7.5.2.4.5.2 (AnyElementDecoding Syntax), replace:
Number of bits Mnemonic
AnyElementDecoding() {
GlobalElementSchemaID ceil( log2( NumberOfSchemas + uimsbf
NumberOfAdditionalSchemas) )
AnyElement_Length 5+ vluimsbf
Any_SBC_Operand_Selector 5+ vluimsbf
If (inPayloadDecoding()) {
Element(ChildrenSchemaMode, theAnyType)
}
}
with:
4 © ISO/IEC 2008 – All rights reserved
ISO/IEC 23001-1:2006/Amd.2:2008(E)
Number of bits Mnemonic
AnyElementDecoding() {
GlobalElementSchemaID ceil( log2( uimsbf
NumberOfSchemas +
NumberOfAdditionalSch
emas) )
AnyElement_Length 5+ vluimsbf
if (GlobalElementSchemaID == LAXSchemaID) {
//lax encoding
AnyElementLaxDecoding();
} else {
Any_SBC_Operand_Selector 5+ vluimsbf
If (inPayloadDecoding()) {
Element(ChildrenSchemaMode,
theAnyType)
}
}
}
In 7.5.2.4.5.3 (AnyElementDecoding Semantics), replace:
Name Definition
GlobalElementSchemaID The schema in which the global element is defined. Its value is the index of
the URI in the SchemaURI array defined in 6.2 (optionally extended with the
list of additional schemas).
AnyElement_Length
Indicates the length in bits of the remainder of this AnyElementDecoding.
Any_SBC_Operand_Selector Selects one global element of the schema referenced by
GlobalElementSchemaID using the OperandTBC table for
Extended_SBC_Operand_Selector as specified in 6.6.5.2.3. Therefore,
Any_SBC_Operand_Selector is equivalent to the
Extended_SBC_Operand_Selector but with a bit representation in vluimsbf5.
inPayloadDecoding() Returns true if the AnyElementDecoding procedure has been triggered from
a payload decoding procedure.
Element() See 7.4.1.
theAnyType The type of the element identified by the
SBC_GlobalElement_SelectorCode as defined in the schema identified
by the GlobalElementSchemaID.
with:
© ISO/IEC 2008 – All rights reserved 5
ISO/IEC 23001-1:2006/Amd.2:2008(E)
Name Definition
GlobalElementSchemaID The schema in which the global element is defined. Its value is the index of
the URI in the SchemaURI array defined in 6.2 (optionally extended with the
list of additional schemas).
If GlobalElementSchemaID is equal to the ID of the virtual lax schema
urn:mpeg:mpegb:bim:laxencoding:2007 specified in the decoderInit
(i.e., GlobalElementSchemaID == LAXSchemaID), the lax decoding
procedure AnyElementLaxDecoding() is called.
AnyElement_Length Indicates the length in bits of the remainder of this AnyElementDecoding.
Any_SBC_Operand_Selector Selects one global element of the schema referenced by
GlobalElementSchemaID using the OperandTBC table for
Extended_SBC_Operand_Selector as specified in 6.6.5.2.3. Therefore,
Any_SBC_Operand_Selector is equivalent to the
Extended_SBC_Operand_Selector but with a bit representation in vluimsbf5.
inPayloadDecoding() Returns true if the AnyElementDecoding procedure has been triggered from
a payload decoding procedure.
Element() See 7.4.1.
theAnyType The type of the element identified by the
SBC_GlobalElement_SelectorCode as defined in the schema identified
by the GlobalElementSchemaID.
AnyElementLaxDecoding() See 7.5.2.4.5.4.
In 7.5.2.4.5 (Wildcard transition behavior), add:
7.5.2.4.5.4 AnyElementLaxDecoding procedure
7.5.2.4.5.4.1 AnyElementLaxDecoding
Number of bits Mnemonic
AnyElementLaxDecoding() {
ReservedBits 4 bmsbf
AnyElementLaxCompressionScheme 4 bmsbf
AnyElementLaxDecodingContent()
}
Name Definition
ReservedBits Reserved bits for future use.
AnyElementLaxCompressionScheme Indicates the compression scheme used in the
AnyElementLaxDecoding() procedure. Table AMD2.1 gives
the possible values.
AnyElementLaxDecodingContent See 7.5.2.4.5.4.2.
Table AMD2.1 — Compression methods
6 © ISO/IEC 2008 – All rights reserved
ISO/IEC 23001-1:2006/Amd.2:2008(E)
AnyElementLaxCom Definition
pressionScheme
0 No compression
1 Compression method
described in 7.5.2.4.5.4.2
2-10 ISO reserved
11-16 Private use
7.5.2.4.5.4.2 AnyElementLaxDecodingContent
7.5.2.4.5.4.2.1 Overview
The AnyElementLaxDecodingContent function contains the decoding of lax format syntax. This is a byte-
aligned SAX tokenized events stream, which is decoded by a large switch statement.
Three dynamic dictionaries are used to store the XML structural items names: namespaces, elements names
and attributes names. These strings dictionaries are dynamic and can grow during the encoding process, with
the help of the ADD_NS, ADD_ENAME and ADD_ANAME special events, discussed below. By default, these
dictionaries are initialized as empty ones.
Currently understood events are described in Table AMD2.2. All SAX events are defined by a corresponding
SAX event callback and three special events are used to dynamically add a namespace, an element name or
an attribute name in the corresponding dictionary. The first event with zero UID triggers decoding according to
the general BiM syntax.
The UID is a fixed numerical ID able to unambiguously define an event, but this is not the value used to
encode an event, as explained in 7.5.2.4.5.4.3. An event can carry zero, one or several parameters, which
can be strings or numerical IDs, which point to the corresponding dynamic strings dictionary. Strings are
encoded in UTF-8 format, with a terminating zero.
© ISO/IEC 2008 – All rights reserved 7
ISO/IEC 23001-1:2006/Amd.2:2008(E)
Table AMD2.2 — Event table
Event name UID Parameters Semantics
BiM Encoding 0 Ø Fragment update payload syntax
defined in subclause 7.3.
ADD_NS 1 ns Adds a new namespace in the
namespace table.
ADD_ENAME 2 nsid, elt Adds a new element in the
element table.
ADD_ANAME 3 nsid, att Adds a new attribute in the
attribute table.
END_ELEMENT 4 Ø SAX — ContentHandler callback
START_PFX_MAPPING 5 nsid, pfx SAX — ContentHandler callback
CHARACTERS 6 value SAX — ContentHandler callback
END_DOCUMENT 7 Ø SAX — ContentHandler callback
PI 8 target, data SAX — ContentHandler callback
SKIPPED_ENTITY 9 name SAX — ContentHandler callback
NOTATION_DECL 10 name, pid, sid SAX — DTDHandler callback
UNPARSED_ENTITY_DECL 11 name, pid, sid, not SAX — DTDHandler callback
ATTRIBUTE_DECL 12 el, at, type, mode, SAX — DeclHandler callback
value
ELEMENT_DECL 13 name, model SAX — DeclHandler callback
EXT_ENTITY_DECL 14 name, pid, sid SAX — DeclHandler callback
INT_ENTITY_DECL 15 name, value SAX — DeclHandler callback
COMMENT 16 value SAX — LexicalHandler callback
START_CDATA 17 Ø SAX — LexicalHandler callback
END_CDATA 18 Ø SAX — LexicalHandler callback
START_DTD 19 name, pid, sid SAX — LexicalHandler callback
END_DTD 20 Ø SAX — LexicalHandler callback
START_ENTITY 21 name SAX — LexicalHandler callback
END_ENTITY 22 name SAX — LexicalHandler callback
Reserved 23-24 — Reserved
START_ELEMENT_eltid 23+2*eltid Ø SAX — ContentHandler callback
ATTRIBUTE_attid 24+2*attid value SAX — ContentHandler callback
8 © ISO/IEC 2008 – All rights reserved
ISO/IEC 23001-1:2006/Amd.2:2008(E)
Note that there is no START_ELEMENT generic event. Instead, the SAX START_ELEMENT event is split into
specific ATTRIBUTE_#att events and a specific START_ELEMENT_#elt event. Therefore, an infinite number
of ATTRIBUTE_#att events and START_ELEMENT_#elt virtually belongs to the table of events.
7.5.2.4.5.4.2.2 Syntax
AnyElementLaxDecodingContent() { Number of bits Mnemonic
ReservedBits 6 bmsbf
Agglutinated 1 bmsbf
zlib 1 bmsbf
do {
event = readEvent();
switch (event) {
case ADD_NS:
NamespaceName 8+ string
addNamespace(NamespaceName);
break;
case ADD_ENAME:
NSID 8 uimsbf8
ElementName 8+ string
addElement(NSID,ElementName);
break;
case ADD_ANAME:
NSID 8 uimsbf8
AttributeName 8+ string
addAttribute(NSID, AttributeName);
break;
case END_ELEMENT:
sax_endElement();
break;
case START_PFX_MAPPING:
NSID 8 uimsbf8
...




Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...