Liquid XML Data Binder 2020
Liquid XML Data Binder (C++, Java, VB6) / Reference / Specification / Supported XSD Features
In This Topic
    Supported XSD Features
    In This Topic
    Supported XSD Features

    Feature

    Support provided in C++, C#, Java & VB 6

    Sequence

    A Complex Type containing the sub item <sequence>

    Fully Supported - validates order of sub elements

    0-1

    The sequence is optional within the containing Complex Type
    Fully Supported

    1

    The sequence is mandatory within the containing Complex Type

    Fully Supported

    0-n

    There may be 0 or multiple instance of the sequence within the containing Complex Type

    Fully Supported - creates a strongly typed collection

    Choice

    A Complex Type containing the sub item <choice>

    Fully Supported

    0-1

    The choice is optional within the containing Complex Type

    Fully Supported

    1

    The choice is mandatory within the containing Complex Type

    Fully Supported

    0-n

    There may be 0 or multiple instance of the choice within the containing Complex Type

    Fully Supported - creates a strongly typed collection

    All

    A Complex Type containing the sub item <all>

    Fully Supported

    0-1

    The sequence is optional within the containing Complex Type

    Fully Supported

    1

    The sequence is mandatory within the containing Complex Type

    Fully Supported

    0-n

    There may be 0 or multiple instance of the sequence within the containing Complex Type

    Fully Supported - creates a strongly typed collection

    A choice that contains a sequence

    Fully Supported - Ensures that the rules for each contained type are obeyed. See all/choice/sequences

    any

    Enables any element from the specified namespace(s) to appear in the containing <sequence> or <choice> element

    Fully Supported - Allows runtime elements to be added, including namespace, and namespace validation

    unions

    An attribute type can contain either a number or the sting 'xxx'

    Represented as a string, no validation performed

    anyAttribute

    Enables any attribute from the specified namespace(s) to appear in the containing <complexType> element or in the containing <attributeGroup> element

    Fully Supported - Allows runtime elements to be added, including namespace, and namespace validation

    default values

    Gives the default value to a attribute or element

    Fully Supported

    Pad chars (&<>" etc)

    Escape invalid XML characters

    Fully Supported

    Strongly Typed Output

    Provide classes that are strongly typed, i.e. all the schema attributes and elements are represented by appropriate primitive types for the given language

    Fully Supported - all types are strongly typed (extended types may be treated as objects in VB6 due to its lack of proper inheritance).

    Enumerated Attributes

    A limited list of values is allowed for a given attribute

    Fully Supported

    Enumerated Elements

    A limited list of values is allowed for a given element

    Fully Supported

    0-n Enumerated Elements

    A collection of a limited list of values is allowed for a given element

    Fully Supported - creates a strongly typed collection

    Documentation Generation

    Is Documentation for the library is generated

    Fully Supported - creates html & compiled html files (.chm) using MS Help workshop 1.3

    Schema comments

    The comments from the schema get incorporated into the documentation

    Coming Soon

    extension

    An existing Complex Type may be extended, adding new elements & attributes to its existing ones. The extended versions may be used in place of the base type

    Fully Supported

    restriction

    An existing Complex Type may be restricted to create a new one that has a subset of the properties of the original. The extended versions may be used in place of the base type

    Partial Support - Generates working code, but it will validate XML documents containing restricted elements, and allow the construction of XML documents with restricted elements in them

    Different base model types

    i.e. a element containing a choice is extended with an element containing a sequence

    Fully Supported

    Namespace

    The schema contains elements and attributes from a number of different namespace

    Fully Supported - each element is aware of the namespace it is contained within. This is also true of runtime elements (see All, and anyAttribute)

    Import

    Existing schemas may be imported into the current schema file

    Fully Supported

    Include

    Existing schemas may be included into the current schema file

    Fully Supported

    groups

    Groups a set of element declarations so that they can be incorporated as a group into complex type definitions

    Fully Supported

    Recursive elements

    I.e. an element is defined in terms of itself

    Fully Supported

    substitutionGroups

    Indicates the name of an element for which this element can be substituted. This element must have the same type or a type derived from the type of the specified element.
    This attribute can be used on any element if the referring element is declared at the global level (parent is <schema> element)

    Fully Supported - these resemble a choice in the generated code

    Invalid names

    Element & Attribute names in the schema that are invalid in the target language

    Fully Supported - all invalid names are re-mapped, a mapping file is written out, allowing the default mappings to be changed. This includes making duplicate, long names, and reserved words safe