1.5 Applicability Statement

The .NET Binary Format: XML Data Structure is a general-purpose way to represent an XML document that offers many benefits in terms of reduced size and processing costs, but at the expense of human readability. However, the .NET Binary Format: XML Data Structure is capable of representing only a subset of information described by an XML information set (infoset), as described in [XML-INFOSET]. It does not represent all syntactic aspects of an XML document encoded textually.

Some constructs have more than one form, of which the .NET Binary Format for XML Data Structure supports one form. For example, the standard (short) form of an empty element is not supported, but the more general form (with open and close tags) is supported.

 <element/>                                    <!-- Not supported -->
 <element></element>                           <!-- Supported -->

Other constructs are not supported, although a functionally equivalent construct is supported by the .NET Binary Format for XML Data Structure. For example, a CDATA section cannot be encoded; however, a semantically equivalent construct can be encoded.

  
 <element><![CDATA[hello world]]></element>    <!-- Not supported -->
 <element>hello world</element>                <!-- Supported -->

Character references are necessary in textual XML in order to disambiguate document structure from document content. The .NET Binary Format: XML Data Structure uses records to distinguish between structure and content, making character references unnecessary.

Insignificant spaces in an element or end element are not supported.

  
 <element   a  =  "value"  ></element  >       <!-- Not supported -->

Processing instructions, data type definitions (DTDs), and declarations are not supported and cannot be represented by this format.

The following table identifies the items that are not available in the .NET Binary Format for XML Data Structure.

Unsupported construct

Example

 Xml Declaration

<?xml version="1.0">

 Processing Instruction

<?pi?>

 DTD

<!DOCTYPE ...

Character Reference

<element>&amp;</element>

Empty Element (short form)

<element/>

CDATA Section

<element><![CDATA[hello world]]></element>

 Insignificant White Space (in or around an element)

< element a = "value" ></element >