7 XML Format Specification

NOTES AND TODO

  1. Most of this section is industry standard and does not need to be repeated. There are some pieces of content that can be rewritten and moved.  Below is the surviving content.

7.6 Attributes

Attributes are ONLY allowed in the ACORD Specification for the use of locating or cross-referencing information within an XML document.

7.6.1 ID and IDREF Attribute Types

ID and IDREF attribute types provide a standard method for referencing information within a single XML stream. These attribute datatypes are checked and validated by the XML parser when a DTD is available.
An XML parser will validate that
• All values assigned to an attribute of type ID are unique within that document.
• Any reference to an ID in an IDREF attribute type exists in the document.

7.6.2 Attributes on Entities

Several entities are defined in this document as having one or more attributes. In fact, entities do not actually have attributes, as this is not permitted in W3C XML. Rather, this is a documentation technique, which has the following meaning. Any attributes that appear to be defined on an entity are actually attached to each parent aggregate tag that uses the entity. If an entity is defined as having one or more attributes, and the entity's parent is another entity, then the attributes are actually connected to the aggregate tag that is the parent of the parent entity.

7.7 Entities vs. Base Types

Entities use a simple addition model when used or combined; while a base type implements an inheritance model that builds upon the previous base type to construct a new base type.
The classification change from an entity to a base type does not affect a data stream that is based upon this standard. What it did change was how these entities, now classified as base types, could be used in the definition of new elements and aggregates. Here are the entities that were defined in v1.1 and how they were reclassified:
(content elided - see Help File)

Move to Section 4.7.6

  • Within the tables that describe the aggregates are three important columns; Tag, Type, and Usage. In XML, the value in the Tag column will appear in the Schema as an element declaration.
  •  Depending upon the Type column this element will contain:
    •   An attribute on the aggregate element if the value starts with an ‘@'. If the type is ‘Identifier’ the attribute will have a type of ID and IDREF if defined as "Identifier Reference".
    •   An entity reference if the value is "Entity"
    •   Based upon a base type the value is "Base Type"
    •   Other elements if the value is "Aggregate"
    •   Code lists of type OpenEnum that have values in this specification are mapped to an enumerated type with the name of the list and this type is used as the type of the element used to reference the code list.

      If the code list has no values in this specification (i.e. it references an external code list) the element referencing the code list will be of type OpenEnum. This list is extensible because it is open.
    • Code lists of type ClosedEnum that have values in this specification are mapped to an enumerated type with the name of the list and this type is used as the type of the element used to reference the code list.

      If the code list has no values in this specification (i.e. it references an external code list) the element referencing the code list will be of type ClosedEnum. This list is not-extensible because it is closed.
    • For every type that appears in the Type column there is a corresponding definition in the Schema that is then used as the data type of the element or attribute.
  • Depending upon the Usage column this element will have the following minOccurs and maxOccurs values applied in the content model of the aggregate:
    •   Optional is minOccurs=0 maxOccurs=1
    •   Required is minOccurs=1 maxOccurs=1
    •   Optional Repeating is minOccurs=0 maxOccurs=unbounded
    •   Required Repeating is minOccurs=1 maxOccurs=unbounded
    •   A list of elements in content with no additional usage (OR, XOR) information = sequence
    •   XOR =choice
      An exclusive OR creates a choice among the lines noted with an XOR
    • OR =choice

      An inclusive OR creates a choice among the lines noted with an OR. An inclusive OR requires at least one item of the list to be included. There is no direct mapping from the specification to a schema as there is no inclusive OR in a schema. When an inclusive OR is encountered, the schema is generated as follows:
  1.        Given the following content description:

Tag

Type

Usage

Description

Start Group: OR Required

Aaaa

Aggregate

Required Repeating OR

 

Bbbb

Aggregate

Required Repeating OR

 

Cccc

Aggregate

Required Repeating OR

 

Dddd

Aggregate

Required Repeating OR

 

End Group: OR

 

Last edited Mar 11, 2016 at 9:33 AM by natewaite, version 3