Skip to content

as2network/libInterchange

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LibInterchange

@as2/libInterchange

Abstract

This Library Provides a Well Typed Strcuture for Electornic Data Interchange

Overview

Attribute minOccurs

The minimum number of times an undefined element may occur at the declared location in the EDI structure.

Attribute maxOccurs

The maximum number of times an undefined element may occur at the declared location in the EDI structure.

Attribute type

The name of the target type being referenced.

Attribute minLength

The minimum length allowed for an element value to be valid.

Attribute maxLength

The maximum length allowed for an element value to be valid.

Attribute minOccurs

The minimum number of times a type may occur at the declared location in the EDI structure.

Attribute maxOccurs

The maximum number of times a type may occur at the declared location in the EDI structure.

Attribute minVersion

The minimum transaction version this schema version applies to.

Attribute maxVersion

The maximum transaction version this schema version applies to.

Attribute minOccurs

The minimum number of times a type may occur at the declared location in the EDI structure.

Attribute maxOccurs

The maximum number of times a type may occur at the declared location in the EDI structure.

Element sequence

The ordered elements for a composite element implementation.

Element sequence

The ordered elements and components for a segment implementation.

Attribute type

The name of the standard segment used at this position in the implementation. Must be a valid segment name that occurs in the same standard loop.

Attribute code

Code used to identify a segment within a loop. May be useful when occurrences of a standard segment contain distinct information.

Attribute discriminator

The element position in the segment used to identify an occurrence of a standard segment from other implementation occurrences. The element identified by the position given in this attribute must also specify an enumeration of values used only by this implementation and not used by any other implementations of the standard segment in the same implementation loop.

Attribute minOccurs

The minimum number of times a loop may repeat. A value of 0 (zero) indicates that the loop is optional. When used in a loop defined within an implementation, the value may not be less than the value set on the standard loop referenced by the implementation loop's 'type' attribute.

Attribute maxOccurs

The maximum number of times a loop may repeat. When used in a loop defined within an implementation, the value may not be greater than the value set on the standard loop referenced by the implementation loop's 'type' attribute.

Element sequence

The ordered list of segments and sub-loops contained in this loop.

Attribute code

Code used to uniquely identify a loop within the transaction/message.

Element sequence

The ordered list of segments and sub-loops contained in this loop.

Attribute type

The identifier (code attribute) of the standard loop this loop implements.

Attribute code

Code used to uniquely identify a loop implementation within the transaction/message implementation.

Attribute discriminator

The element position in the loop's first segment used to identify an implementation of a standard loop from other implementations. The element identified by the position given in this attribute must also specify an enumeration of values used only by this implementation and not used by any other implementations of the standard loop at the same level of the transaction.

Element include

Optional reference to another schema file to include.

Element sequence

The ordered list of segments and sub-loops contained at the top-level of this transaction.

Element sequence

The ordered list of segments and sub-loops contained at the top-level of a transaction implementation.

Attribute name

Code used to uniquely identify an element definition to be referenced by compositeType and segmentType elements within this schema. This value will be returned by an EDIStreamReader's `getReferenceCode` method when no `code` attribute has been specified.

Attribute code

Code used to identify an element externally. This value will be returned by an EDIStreamReader's `getReferenceCode` method.

Attribute number

*DEPRECATED* Use the `code` attribute to provide an element reference number.

Attribute base

Identifies the element data type

Attribute scale

For numeric base types only, scale is the number of digits to the right of an implied decimal point. When not specified, the default value of zero is used (i.e. the data type is integer)

Element sequence

The ordered elements and syntax restrictions for a composite element.

Element any

May be used to declare that any component element may occur in this composite type up to the maximum number given by maxOccurs. The value of minOccurs defines the number of undefined component elements that MUST occur in the composite.

Attribute name

Code used to uniquely identify a composite element definition to be referenced by segmentType elements within this schema. This value will be returned by an EDIStreamReader's `getReferenceCode` method.

Element segmentType

Used to declare a segment

Element sequence

The ordered elements, components, and syntax restrictions for a segment.

Element element

Defines a reference to a standard element definition.

Element any

May be used to declare that any element or composite may occur in this segment type up to the maximum number given by maxOccurs. The value of minOccurs defines the number of undefined elements that MUST occur in the segment at this position. Elements that repeat may occur up to 99 times and are not affected by the value of the maxOccurs attribute.

Attribute name

Name of the segment. Also referred to as the segment's tag. This is the two or three character string used to identify a segment.

Close

EDI Schema Documentation

Schema Document Properties

Target Namespace http://freighttrust.io/EDISchema/v4
Element and Attribute Namespaces
  • Global element and attribute declarations belong to this schema's target namespace.
  • By default, local element declarations belong to this schema's target namespace.
  • By default, local attribute declarations have no namespace.

No documentation provided.

Prefix Namespace
Default namespace http://www.w3.org/2001/XMLSchema
xml http://www.w3.org/XML/1998/namespace
tns http://freighttrust.io/EDISchema/v4
<schema targetNamespace="http://freighttrust.io/EDISchema/v4" elementFormDefault="qualified">
...
</schema>


Global Declarations

Element: compositeType

Name compositeType
Type Locally-defined complex type
Nillable no
Abstract no

No documentation provided.

<tns:compositeType
 title="string" [0..1]
 name="tns:nameType" [1]Ă—Attribute name
                Code used to uniquely identify a composite element definition to be referenced by
                segmentType elements within this schema. This
                value will be returned by an EDIStreamReader's `getReferenceCode` method.
               Close
>
   <tns:description> ... </tns:description> [0..1]
   <tns:sequence   > [1]
      Start Choice [1..*]
         <tns:element> tns:elementStandard </tns:element> [1..*]
         <tns:any> tns:anyElementType </tns:any> [1]
      End Choice
   </tns:sequence>
   <tns:syntax> ... </tns:syntax> [0..*]
</tns:compositeType>
<element name="compositeType">
   <complexType>
      <complexContent>
         <extension base="tns:baseType">
            <sequence>
               <element name="sequence">
                  <complexType>
                     <choice minOccurs="1" maxOccurs="unbounded">
                        <element name="element" type="tns:elementStandard" minOccurs="1" maxOccurs="unbounded"/>
                        <element name="any" type="tns:anyElementType"/>
                     </choice>
                  </complexType>
               </element>
               <element ref="tns:syntax" minOccurs="0" maxOccurs="unbounded"/>
            </sequence>
            <attribute name="name" type="tns:nameType" use="required"/>
         </extension>
      </complexContent>
   </complexType>
</element>


Element: description

Name description
Type string
Nillable no
Abstract no

No documentation provided.

<tns:description> string </tns:description>
<element name="description" type="string"/>


Element: elementType

Name elementType
Type Locally-defined complex type
Nillable no
Abstract no

No documentation provided.

<tns:elementType
 title="string" [0..1]
 name="tns:nameType" [1]Ă—Attribute name
                Code used to uniquely identify an element definition to be referenced by
                compositeType and segmentType elements within this schema.
                This value will be returned by an EDIStreamReader's `getReferenceCode` method
                when no `code` attribute has been specified.
               Close
 code="NMTOKEN" [0..1]Ă—Attribute code
                Code used to identify an element externally. This value will
                be returned by an EDIStreamReader's `getReferenceCode` method.
               Close
 number="nonNegativeInteger (1 <= value <= 9999)" [0..1]Ă—Attribute number*DEPRECATED* Use the `code` attribute to provide an element reference number. Close
 base="tns:elementBaseType" [0..1]Ă—Attribute base
                Identifies the element data type
               Close
 scale="nonNegativeInteger" [0..1]Ă—Attribute scale
                For numeric base types only, scale is the number of digits to the right of an implied decimal point. When not specified, the
                default value of zero is used (i.e. the data type is integer)
               Close
 minLength="nonNegativeInteger" [0..1]Ă—Attribute minLength
          The minimum length allowed for an element value to be valid.
         Close
 maxLength="nonNegativeInteger" [0..1]Ă—Attribute maxLength
          The maximum length allowed for an element value to be valid.
         Close
>
   <tns:description> ... </tns:description> [0..1]
   <tns:enumeration> ... </tns:enumeration> [0..1]
   <tns:version
    minVersion="token" [0..1]Ă—Attribute minVersion
          The minimum transaction version this schema version applies to.
         Close
    maxVersion="token" [0..1]Ă—Attribute maxVersion
          The maximum transaction version this schema version applies to.
         Close
    minLength="nonNegativeInteger" [0..1]Ă—Attribute minLength
          The minimum length allowed for an element value to be valid.
         Close
    maxLength="nonNegativeInteger" [0..1]Ă—Attribute maxLength
          The maximum length allowed for an element value to be valid.
         Close
   > [0..*]
      <tns:enumeration> ... </tns:enumeration> [0..1]
   </tns:version>
</tns:elementType>
<element name="elementType">
   <complexType>
      <complexContent>
         <extension base="tns:baseType">
            <sequence>
               <element ref="tns:enumeration" minOccurs="0"/>
               <element name="version" minOccurs="0" maxOccurs="unbounded">
                  <complexType>
                     <sequence>
                        <element ref="tns:enumeration" minOccurs="0"/>
                     </sequence>
                     <attributeGroup ref="tns:versionAttributeGroup"/>
                     <attributeGroup ref="tns:lengthAttributeGroup"/>
                  </complexType>
               </element>
            </sequence>
            <attribute name="name" type="tns:nameType" use="required"/>
            <attribute name="code" type="NMTOKEN" use="optional"/>
            <attribute name="number">
               <simpleType>
                  <restriction base="nonNegativeInteger">
                     <minInclusive value="1"/>
                     <maxInclusive value="9999"/>
                  </restriction>
               </simpleType>
            </attribute>
            <attribute name="base" type="tns:elementBaseType" use="optional" default="string"/>
            <attribute name="scale" type="nonNegativeInteger" use="optional" default="0"/>
            <attributeGroup ref="tns:lengthAttributeGroup"/>
         </extension>
      </complexContent>
   </complexType>
</element>


Element: enumeration

Name enumeration
Type Locally-defined complex type
Nillable no
Abstract no

No documentation provided.

<tns:enumeration>
   <tns:value
    title="string" [0..1]
   > [1..*]
       token
   </tns:value>
</tns:enumeration>
<element name="enumeration">
   <complexType>
      <sequence>
         <element name="value" maxOccurs="unbounded">
            <complexType>
               <simpleContent>
                  <extension base="token">
                     <attribute name="title" type="string"/>
                  </extension>
               </simpleContent>
            </complexType>
         </element>
      </sequence>
   </complexType>
</element>


Element: implementation

Name implementation
Type Locally-defined complex type
Nillable no
Abstract no

No documentation provided.

<tns:implementation
 title="string" [0..1]
>
   <tns:description> ... </tns:description> [0..1]
   <tns:sequence   > [1]
      Start Choice [1..*]
         <tns:segment> tns:segmentImpl </tns:segment> [1]
         <tns:loop> tns:loopImpl </tns:loop> [0..1]
      End Choice
   </tns:sequence>
</tns:implementation>
<element name="implementation">
   <complexType>
      <complexContent>
         <extension base="tns:baseType">
            <sequence>
               <element name="sequence">
                  <complexType>
                     <choice maxOccurs="unbounded">
                        <element name="segment" type="tns:segmentImpl"/>
                        <element name="loop" type="tns:loopImpl" minOccurs="0"/>
                     </choice>
                  </complexType>
               </element>
            </sequence>
         </extension>
      </complexContent>
   </complexType>
</element>


Element: include

Name include
Type Locally-defined complex type
Nillable no
Abstract no

No documentation provided.

<tns:include
 schemaLocation="anyURI" [1]
/>
<element name="include">
   <complexType>
      <attribute name="schemaLocation" type="anyURI" use="required"/>
   </complexType>
</element>


Element: interchange

Name interchange
Type Locally-defined complex type
Nillable no
Abstract no

No documentation provided.

<tns:interchange
 title="string" [0..1]
 header="NCName" [1]
 trailer="NCName" [1]
>
   <tns:description> ... </tns:description> [0..1]
   <tns:sequence   > [1]
      <tns:segment> tns:segmentStandard </tns:segment> [0..*]
      <tns:group> tns:groupControlType </tns:group> [0..1]
      <tns:transaction> tns:transactionControlType </tns:transaction> [0..1]
   </tns:sequence>
   <tns:syntax> ... </tns:syntax> [0..*]
</tns:interchange>
<element name="interchange">
   <complexType>
      <complexContent>
         <extension base="tns:controlType">
            <sequence>
               <element name="sequence">
                  <complexType>
                     <sequence>
                        <element name="segment" type="tns:segmentStandard" minOccurs="0" maxOccurs="unbounded"/>
                        <element name="group" type="tns:groupControlType" minOccurs="0"/>
                        <element name="transaction" type="tns:transactionControlType" minOccurs="0"/>
                     </sequence>
                  </complexType>
               </element>
               <element ref="tns:syntax" minOccurs="0" maxOccurs="unbounded"/>
            </sequence>
         </extension>
      </complexContent>
   </complexType>
</element>


Element: schema

Name schema
Type Locally-defined complex type
Nillable no
Abstract no

No documentation provided.

<tns:schema>
Ă—Element includeOptional reference to another schema file to include. Close   <tns:include> ... </tns:include> [0..*]
   Start Choice [0..1]
      <tns:interchange> ... </tns:interchange> [1]
      <tns:transaction> ... </tns:transaction> [1]
      <tns:implementation> ... </tns:implementation> [0..1]
      <tns:implementation> ... </tns:implementation> [1]
   End Choice
   Start Choice [1..*]
      <tns:elementType> ... </tns:elementType> [1..*]
      <tns:compositeType> ... </tns:compositeType> [0..*]
      <tns:segmentType> ... </tns:segmentType> [1..*]
   End Choice
</tns:schema>
<element name="schema">
   <complexType>
      <sequence>
         <element ref="tns:include" minOccurs="0" maxOccurs="unbounded"/>
         <choice minOccurs="0">
            <element ref="tns:interchange"/>
            <sequence>
               <element ref="tns:transaction"/>
               <element ref="tns:implementation" minOccurs="0"/>
            </sequence>
            <sequence>
               <element ref="tns:implementation"/>
            </sequence>
         </choice>
         <choice id="typeChoice" maxOccurs="unbounded">
            <element ref="tns:elementType" maxOccurs="unbounded"/>
            <element ref="tns:compositeType" minOccurs="0" maxOccurs="unbounded"/>
            <element ref="tns:segmentType" maxOccurs="unbounded"/>
         </choice>
      </sequence>
   </complexType>
</element>


Element: segmentType

Name segmentType
Type Locally-defined complex type
Nillable no
Abstract no

Used to declare a segment

<tns:segmentType
 title="string" [0..1]
 name="tns:nameType (length <= 3)" [1]Ă—Attribute name
                Name of the segment. Also referred to as the segment's tag. This is the two or three
                character string used to identify a segment.
               Close
>
   <tns:description> ... </tns:description> [0..1]
   <tns:sequence   > [0..1]
      Start Choice [0..*]
         <tns:element> tns:elementStandard </tns:element> [1]
         <tns:composite> tns:compositeStandard </tns:composite> [1]
         <tns:any> tns:anyElementType </tns:any> [1]
      End Choice
   </tns:sequence>
   <tns:syntax> ... </tns:syntax> [0..*]
</tns:segmentType>
<element name="segmentType">
   <complexType>
      <complexContent>
         <extension base="tns:baseType">
            <sequence>
               <element name="sequence" minOccurs="0">
                  <complexType>
                     <choice minOccurs="0" maxOccurs="unbounded">
                        <element name="element" type="tns:elementStandard"/>
                        <element name="composite" type="tns:compositeStandard"/>
                        <element name="any" type="tns:anyElementType"/>
                     </choice>
                  </complexType>
               </element>
               <element ref="tns:syntax" minOccurs="0" maxOccurs="unbounded"/>
            </sequence>
            <attribute name="name" use="required">
               <simpleType>
                  <restriction base="tns:nameType">
                     <maxLength value="3"/>
                  </restriction>
               </simpleType>
            </attribute>
         </extension>
      </complexContent>
   </complexType>
</element>


Element: syntax

Name syntax
Type Locally-defined complex type
Nillable no
Abstract no

No documentation provided.

<tns:syntax
 type="tns:syntaxType" [0..1]
>
   <tns:position> tns:positionType </tns:position> [1..*]
</tns:syntax>
<element name="syntax">
   <complexType>
      <sequence>
         <element name="position" type="tns:positionType" maxOccurs="unbounded"/>
      </sequence>
      <attribute name="type" type="tns:syntaxType"/>
   </complexType>
</element>


Element: transaction

Name transaction
Type Locally-defined complex type
Nillable no
Abstract no

No documentation provided.

<tns:transaction
 title="string" [0..1]
>
   <tns:description> ... </tns:description> [0..1]
   <tns:sequence   > [1]
      Start Choice [1..*]
         <tns:segment> tns:segmentStandard </tns:segment> [1]
         <tns:loop> tns:loopStandard </tns:loop> [0..1]
      End Choice
   </tns:sequence>
   <tns:syntax> ... </tns:syntax> [0..*]
</tns:transaction>
<element name="transaction">
   <complexType>
      <complexContent>
         <extension base="tns:baseType">
            <sequence>
               <element name="sequence">
                  <complexType>
                     <choice maxOccurs="unbounded">
                        <element name="segment" type="tns:segmentStandard"/>
                        <element name="loop" type="tns:loopStandard" minOccurs="0"/>
                     </choice>
                  </complexType>
               </element>
               <element ref="tns:syntax" minOccurs="0" maxOccurs="unbounded"/>
            </sequence>
         </extension>
      </complexContent>
   </complexType>
</element>


Global Definitions

Attribute Group: implementationAttributeGroup

Name implementationAttributeGroup

No documentation provided.

minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccurs
          The minimum number of times a type may occur at the declared location
          in the EDI structure.
         Close
maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccurs
          The maximum number of times a type may occur at the declared location
          in the EDI structure.
         Close
<attributeGroup name="implementationAttributeGroup">
   <attribute name="minOccurs" type="nonNegativeInteger"/>
   <attribute name="maxOccurs" type="nonNegativeInteger"/>
</attributeGroup>


Attribute Group: lengthAttributeGroup

Name lengthAttributeGroup

No documentation provided.

minLength="nonNegativeInteger" [0..1]Ă—Attribute minLength
          The minimum length allowed for an element value to be valid.
         Close
maxLength="nonNegativeInteger" [0..1]Ă—Attribute maxLength
          The maximum length allowed for an element value to be valid.
         Close
<attributeGroup name="lengthAttributeGroup">
   <attribute name="minLength" type="nonNegativeInteger" default="1"/>
   <attribute name="maxLength" type="nonNegativeInteger" default="1"/>
</attributeGroup>


Attribute Group: occursAttributeGroup

Name occursAttributeGroup

No documentation provided.

minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccurs
          The minimum number of times a type may occur at the declared location
          in the EDI structure.
         Close
maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccurs
          The maximum number of times a type may occur at the declared location
          in the EDI structure.
         Close
<attributeGroup name="occursAttributeGroup">
   <attribute name="minOccurs" type="nonNegativeInteger" default="0"/>
   <attribute name="maxOccurs" type="nonNegativeInteger" default="1"/>
</attributeGroup>


Attribute Group: referenceAttributeGroup

Name referenceAttributeGroup

No documentation provided.

type="NCName" [0..1]Ă—Attribute type
          The name of the target type being referenced.
         Close
minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccurs
          The minimum number of times a type may occur at the declared location
          in the EDI structure.
         Close
maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccurs
          The maximum number of times a type may occur at the declared location
          in the EDI structure.
         Close
<attributeGroup name="referenceAttributeGroup">
   <attribute name="type" type="NCName"/>
   <attributeGroup ref="tns:occursAttributeGroup"/>
</attributeGroup>


Attribute Group: versionAttributeGroup

Name versionAttributeGroup

No documentation provided.

minVersion="token" [0..1]Ă—Attribute minVersion
          The minimum transaction version this schema version applies to.
         Close
maxVersion="token" [0..1]Ă—Attribute maxVersion
          The maximum transaction version this schema version applies to.
         Close
<attributeGroup name="versionAttributeGroup">
   <attribute name="minVersion" type="token"/>
   <attribute name="maxVersion" type="token"/>
</attributeGroup>


Complex Type: anyElementType

Super-types: baseType < anyElementType (by extension)
Sub-types: None
Name anyElementType
Abstract no

No documentation provided.

<...
 title="string" [0..1]
 minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccursThe minimum number of times an undefined element may occur at the declared location in the EDI structure. Close
 maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccursThe maximum number of times an undefined element may occur at the declared location in the EDI structure. Close
>
   <tns:description> ... </tns:description> [0..1]
</...>
<complexType name="anyElementType">
   <complexContent>
      <extension base="tns:baseType">
         <attribute name="minOccurs" type="nonNegativeInteger" default="0"/>
         <attribute name="maxOccurs" type="nonNegativeInteger" default="1"/>
      </extension>
   </complexContent>
</complexType>


Complex Type: baseType

Super-types: None
Sub-types:
Name baseType
Abstract yes

No documentation provided.

<...
 title="string" [0..1]
>
   <tns:description> ... </tns:description> [0..1]
</...>
<complexType name="baseType" abstract="true">
   <sequence>
      <element ref="tns:description" minOccurs="0" maxOccurs="1"/>
   </sequence>
   <attribute name="title" type="string" use="optional"/>
</complexType>


Complex Type: compositeImpl

Super-types: baseType < compositeImpl (by extension)
Sub-types: None
Name compositeImpl
Abstract no

No documentation provided.

<...
 title="string" [0..1]
 position="tns:positionType" [1]
 minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccurs
          The minimum number of times a type may occur at the declared location
          in the EDI structure.
         Close
 maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccurs
          The maximum number of times a type may occur at the declared location
          in the EDI structure.
         Close
>
   <tns:description> ... </tns:description> [0..1]
   <tns:sequence   > [0..1]
      <tns:element> tns:elementImpl </tns:element> [1..*]
   </tns:sequence>
</...>
<complexType name="compositeImpl">
   <complexContent>
      <extension base="tns:baseType">
         <sequence>
            <element name="sequence" minOccurs="0">
               <complexType>
                  <sequence>
                     <element name="element" type="tns:elementImpl" minOccurs="1" maxOccurs="unbounded"/>
                  </sequence>
               </complexType>
            </element>
         </sequence>
         <attribute name="position" type="tns:positionType" use="required"/>
         <attributeGroup ref="tns:implementationAttributeGroup"/>
      </extension>
   </complexContent>
</complexType>


Complex Type: compositeStandard

Super-types: baseType < compositeStandard (by extension)
Sub-types: None
Name compositeStandard
Abstract no

No documentation provided.

<...
 title="string" [0..1]
 type="NCName" [0..1]Ă—Attribute type
          The name of the target type being referenced.
         Close
 minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccurs
          The minimum number of times a type may occur at the declared location
          in the EDI structure.
         Close
 maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccurs
          The maximum number of times a type may occur at the declared location
          in the EDI structure.
         Close
>
   <tns:description> ... </tns:description> [0..1]
   <tns:version
    minVersion="token" [0..1]Ă—Attribute minVersion
          The minimum transaction version this schema version applies to.
         Close
    maxVersion="token" [0..1]Ă—Attribute maxVersion
          The maximum transaction version this schema version applies to.
         Close
    minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccurs
          The minimum number of times a type may occur at the declared location
          in the EDI structure.
         Close
    maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccurs
          The maximum number of times a type may occur at the declared location
          in the EDI structure.
         Close
/>  [0..*]

</...>
<complexType name="compositeStandard">
   <complexContent>
      <extension base="tns:baseType">
         <sequence>
            <element name="version" minOccurs="0" maxOccurs="unbounded">
               <complexType>
                  <attributeGroup ref="tns:versionAttributeGroup"/>
                  <attributeGroup ref="tns:occursAttributeGroup"/>
               </complexType>
            </element>
         </sequence>
         <attributeGroup ref="tns:referenceAttributeGroup"/>
      </extension>
   </complexContent>
</complexType>


Complex Type: controlType

Super-types: baseType < controlType (by extension)
Sub-types:
Name controlType
Abstract yes

No documentation provided.

<...
 title="string" [0..1]
 header="NCName" [1]
 trailer="NCName" [1]
>
   <tns:description> ... </tns:description> [0..1]
</...>
<complexType name="controlType" abstract="true">
   <complexContent>
      <extension base="tns:baseType">
         <attribute name="header" type="NCName" use="required"/>
         <attribute name="trailer" type="NCName" use="required"/>
      </extension>
   </complexContent>
</complexType>


Complex Type: elementImpl

Super-types: baseType < elementImpl (by extension)
Sub-types: None
Name elementImpl
Abstract no

No documentation provided.

<...
 title="string" [0..1]
 position="tns:positionType" [1]
 minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccurs
          The minimum number of times a type may occur at the declared location
          in the EDI structure.
         Close
 maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccurs
          The maximum number of times a type may occur at the declared location
          in the EDI structure.
         Close
>
   <tns:description> ... </tns:description> [0..1]
   <tns:enumeration> ... </tns:enumeration> [0..1]
</...>
<complexType name="elementImpl">
   <complexContent>
      <extension base="tns:baseType">
         <sequence>
            <element ref="tns:enumeration" minOccurs="0"/>
         </sequence>
         <attribute name="position" type="tns:positionType" use="required"/>
         <attributeGroup ref="tns:implementationAttributeGroup"/>
      </extension>
   </complexContent>
</complexType>


Complex Type: elementStandard

Super-types: baseType < elementStandard (by extension)
Sub-types: None
Name elementStandard
Abstract no

No documentation provided.

<...
 title="string" [0..1]
 type="NCName" [0..1]Ă—Attribute type
          The name of the target type being referenced.
         Close
 minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccurs
          The minimum number of times a type may occur at the declared location
          in the EDI structure.
         Close
 maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccurs
          The maximum number of times a type may occur at the declared location
          in the EDI structure.
         Close
>
   <tns:description> ... </tns:description> [0..1]
   <tns:version
    minVersion="token" [0..1]Ă—Attribute minVersion
          The minimum transaction version this schema version applies to.
         Close
    maxVersion="token" [0..1]Ă—Attribute maxVersion
          The maximum transaction version this schema version applies to.
         Close
    minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccurs
          The minimum number of times a type may occur at the declared location
          in the EDI structure.
         Close
    maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccurs
          The maximum number of times a type may occur at the declared location
          in the EDI structure.
         Close
/>  [0..*]

</...>
<complexType name="elementStandard">
   <complexContent>
      <extension base="tns:baseType">
         <sequence>
            <element name="version" minOccurs="0" maxOccurs="unbounded">
               <complexType>
                  <attributeGroup ref="tns:versionAttributeGroup"/>
                  <attributeGroup ref="tns:occursAttributeGroup"/>
               </complexType>
            </element>
         </sequence>
         <attributeGroup ref="tns:referenceAttributeGroup"/>
      </extension>
   </complexContent>
</complexType>


Complex Type: groupControlType

Super-types: baseType < controlType (by extension) < groupControlType (by extension)
Sub-types: None
Name groupControlType
Abstract no

No documentation provided.

<...
 title="string" [0..1]
 header="NCName" [1]
 trailer="NCName" [1]
 use="tns:useType" [0..1]
>
   <tns:description> ... </tns:description> [0..1]
   <tns:transaction> tns:transactionControlType </tns:transaction> [0..1]
</...>
<complexType name="groupControlType">
   <complexContent>
      <extension base="tns:controlType">
         <sequence>
            <element name="transaction" type="tns:transactionControlType" minOccurs="0"/>
         </sequence>
         <attribute name="use" type="tns:useType" default="optional"/>
      </extension>
   </complexContent>
</complexType>


Complex Type: loopBase

Super-types: baseType < loopBase (by extension)
Sub-types:
Name loopBase
Abstract yes

No documentation provided.

<...
 title="string" [0..1]
 minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccurs
              The minimum number of times a loop may repeat. A value of 0 (zero)
              indicates that the loop is optional.

              When used in a loop defined
              within an implementation,
              the value may not be less than the value set on the standard loop referenced
              by the implementation loop's 'type'
              attribute.
             Close
 maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccurs
              The maximum number of times a loop may repeat.
              When used in a loop defined within an implementation, the value
              may not be greater than
              the value set on the standard loop referenced
              by the implementation loop's 'type' attribute.
             Close
>
   <tns:description> ... </tns:description> [0..1]
</...>
<complexType name="loopBase" abstract="true">
   <complexContent>
      <extension base="tns:baseType">
         <attribute name="minOccurs" type="nonNegativeInteger" default="0"/>
         <attribute name="maxOccurs" type="nonNegativeInteger" default="1"/>
      </extension>
   </complexContent>
</complexType>


Complex Type: loopImpl

Super-types: baseType < loopBase (by extension) < loopImpl (by extension)
Sub-types: None
Name loopImpl
Abstract no

No documentation provided.

<...
 title="string" [0..1]
 minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccurs
              The minimum number of times a loop may repeat. A value of 0 (zero)
              indicates that the loop is optional.

              When used in a loop defined
              within an implementation,
              the value may not be less than the value set on the standard loop referenced
              by the implementation loop's 'type'
              attribute.
             Close
 maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccurs
              The maximum number of times a loop may repeat.
              When used in a loop defined within an implementation, the value
              may not be greater than
              the value set on the standard loop referenced
              by the implementation loop's 'type' attribute.
             Close
 type="NMTOKEN" [1]Ă—Attribute type
              The identifier (code attribute) of the standard loop this loop
              implements.
             Close
 code="NMTOKEN" [1]Ă—Attribute code
              Code used to uniquely identify a loop implementation within the
              transaction/message implementation.
             Close
 discriminator="tns:discriminatorType" [0..1]Ă—Attribute discriminator
              The element position in the loop's first segment used to identify an
              implementation of a standard loop from other implementations. The
              element identified by the position given in this attribute must also specify an
              enumeration of values used only by this implementation and not used
              by any other implementations of the standard loop at the same level of the
              transaction.
             Close
>
   <tns:description> ... </tns:description> [0..1]
   <tns:sequence   > [1]
      Start Choice [1..*]
         <tns:segment> tns:segmentImpl </tns:segment> [1]
         <tns:loop> tns:loopImpl </tns:loop> [0..1]
      End Choice
   </tns:sequence>
</...>
<complexType name="loopImpl">
   <complexContent>
      <extension base="tns:loopBase">
         <sequence>
            <element name="sequence">
               <complexType>
                  <choice maxOccurs="unbounded">
                     <element name="segment" type="tns:segmentImpl"/>
                     <element name="loop" type="tns:loopImpl" minOccurs="0"/>
                  </choice>
               </complexType>
            </element>
         </sequence>
         <attribute name="type" type="NMTOKEN" use="required"/>
         <attribute name="code" type="NMTOKEN" use="required"/>
         <attribute name="discriminator" type="tns:discriminatorType"/>
      </extension>
   </complexContent>
</complexType>


Complex Type: loopStandard

Super-types: baseType < loopBase (by extension) < loopStandard (by extension)
Sub-types: None
Name loopStandard
Abstract no

No documentation provided.

<...
 title="string" [0..1]
 minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccurs
              The minimum number of times a loop may repeat. A value of 0 (zero)
              indicates that the loop is optional.

              When used in a loop defined
              within an implementation,
              the value may not be less than the value set on the standard loop referenced
              by the implementation loop's 'type'
              attribute.
             Close
 maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccurs
              The maximum number of times a loop may repeat.
              When used in a loop defined within an implementation, the value
              may not be greater than
              the value set on the standard loop referenced
              by the implementation loop's 'type' attribute.
             Close
 code="NMTOKEN" [1]Ă—Attribute code
              Code used to uniquely identify a loop within the transaction/message.
             Close
>
   <tns:description> ... </tns:description> [0..1]
   <tns:sequence   > [1]
      Start Choice [1..*]
         <tns:segment> tns:segmentStandard </tns:segment> [1]
         <tns:loop> tns:loopStandard </tns:loop> [0..1]
      End Choice
   </tns:sequence>
   <tns:syntax> ... </tns:syntax> [0..*]
</...>
<complexType name="loopStandard">
   <complexContent>
      <extension base="tns:loopBase">
         <sequence>
            <element name="sequence">
               <complexType>
                  <choice maxOccurs="unbounded">
                     <element name="segment" type="tns:segmentStandard"/>
                     <element name="loop" type="tns:loopStandard" minOccurs="0"/>
                  </choice>
               </complexType>
            </element>
            <element ref="tns:syntax" minOccurs="0" maxOccurs="unbounded"/>
         </sequence>
         <attribute name="code" type="NMTOKEN" use="required"/>
      </extension>
   </complexContent>
</complexType>


Complex Type: segmentImpl

Super-types: baseType < segmentImpl (by extension)
Sub-types: None
Name segmentImpl
Abstract no

No documentation provided.

<...
 title="string" [0..1]
 type="NCName" [1]Ă—Attribute type
              The name of the standard segment used at this position in the implementation.
              Must be a valid segment name that occurs in the same
              standard loop.
             Close
 code="NMTOKEN" [0..1]Ă—Attribute code
              Code used to identify a segment within a loop. May be useful when occurrences of a
              standard segment contain distinct information.
             Close
 minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccurs
          The minimum number of times a type may occur at the declared location
          in the EDI structure.
         Close
 maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccurs
          The maximum number of times a type may occur at the declared location
          in the EDI structure.
         Close
 discriminator="tns:discriminatorType" [0..1]Ă—Attribute discriminator
              The element position in the segment used to identify an occurrence
              of a standard segment from other implementation occurrences. The
              element identified by the position given in this attribute must also specify an
              enumeration of values used only by this implementation and not used
              by any other implementations of the standard segment in the same implementation loop.
             Close
>
   <tns:description> ... </tns:description> [0..1]
   <tns:sequence   > [0..1]
      Start Choice [0..*]
         <tns:element> tns:elementImpl </tns:element> [1]
         <tns:composite> tns:compositeImpl </tns:composite> [1]
      End Choice
   </tns:sequence>
</...>
<complexType name="segmentImpl">
   <complexContent>
      <extension base="tns:baseType">
         <sequence>
            <element name="sequence" minOccurs="0">
               <complexType>
                  <sequence>
                     <choice minOccurs="0" maxOccurs="unbounded">
                        <element name="element" type="tns:elementImpl"/>
                        <element name="composite" type="tns:compositeImpl"/>
                     </choice>
                  </sequence>
               </complexType>
            </element>
         </sequence>
         <attribute name="type" type="NCName" use="required"/>
         <attribute name="code" type="NMTOKEN" use="optional"/>
         <attributeGroup ref="tns:implementationAttributeGroup"/>
         <attribute name="discriminator" type="tns:discriminatorType" use="optional"/>
      </extension>
   </complexContent>
</complexType>


Complex Type: segmentStandard

Super-types: baseType < segmentStandard (by extension)
Sub-types: None
Name segmentStandard
Abstract no

No documentation provided.

<...
 title="string" [0..1]
 type="NCName" [0..1]Ă—Attribute type
          The name of the target type being referenced.
         Close
 minOccurs="nonNegativeInteger" [0..1]Ă—Attribute minOccurs
          The minimum number of times a type may occur at the declared location
          in the EDI structure.
         Close
 maxOccurs="nonNegativeInteger" [0..1]Ă—Attribute maxOccurs
          The maximum number of times a type may occur at the declared location
          in the EDI structure.
         Close
>
   <tns:description> ... </tns:description> [0..1]
</...>
<complexType name="segmentStandard">
   <complexContent>
      <extension base="tns:baseType">
         <attributeGroup ref="tns:referenceAttributeGroup"/>
      </extension>
   </complexContent>
</complexType>


Complex Type: transactionControlType

Super-types: baseType < controlType (by extension) < transactionControlType (by extension)
Sub-types: None
Name transactionControlType
Abstract no

No documentation provided.

<...
 title="string" [0..1]
 header="NCName" [1]
 trailer="NCName" [1]
 use="tns:useType" [0..1]
>
   <tns:description> ... </tns:description> [0..1]
</...>
<complexType name="transactionControlType">
   <complexContent>
      <extension base="tns:controlType">
         <attribute name="use" type="tns:useType" default="optional"/>
      </extension>
   </complexContent>
</complexType>


Simple Type: discriminatorType

Super-types: decimal < discriminatorType (by restriction)
Sub-types: None
Name discriminatorType
Content
  • Base XSD Type: decimal
  • pattern = [0-9]+(\.[0-9]{1,2}){0,1}
  • 1 <= value <= 99.99

No documentation provided.

<simpleType name="discriminatorType">
   <restriction base="decimal">
      <minInclusive value="1"/>
      <maxInclusive value="99.99"/>
      <pattern value="[0-9]+(\.[0-9]{1,2}){0,1}"/>
   </restriction>
</simpleType>


Simple Type: elementBaseType

Super-types: string < elementBaseType (by restriction)
Sub-types: None
Name elementBaseType
Content
  • Base XSD Type: string
  • value comes from list: { 'binary'| 'date'| 'decimal'| 'identifier'| 'numeric'| 'string'| 'time'}

No documentation provided.

<simpleType name="elementBaseType">
   <restriction base="string">
      <enumeration value="binary"/>
      <enumeration value="date"/>
      <enumeration value="decimal"/>
      <enumeration value="identifier"/>
      <enumeration value="numeric"/>
      <enumeration value="string"/>
      <enumeration value="time"/>
   </restriction>
</simpleType>


Simple Type: nameType

Super-types: ID < nameType (by restriction)
Sub-types: None
Name nameType
Content
  • Base XSD Type: ID
  • pattern = [A-Z][A-Z0-9]+

No documentation provided.

<simpleType name="nameType">
   <restriction base="ID">
      <pattern value="[A-Z][A-Z0-9]+"/>
   </restriction>
</simpleType>


Simple Type: positionType

Super-types: nonNegativeInteger < positionType (by restriction)
Sub-types: None
Name positionType
Content
  • Base XSD Type: nonNegativeInteger
  • value >= 1

No documentation provided.

<simpleType name="positionType">
   <restriction base="nonNegativeInteger">
      <minInclusive value="1"/>
   </restriction>
</simpleType>


Simple Type: syntaxType

Super-types: string < syntaxType (by restriction)
Sub-types: None
Name syntaxType
Content
  • Base XSD Type: string
  • value comes from list: { 'single'| 'paired'| 'required'| 'exclusion'| 'conditional'| 'list'| 'firstonly'}

No documentation provided.

<simpleType name="syntaxType">
   <restriction base="string">
      <enumeration value="single"/>
      <enumeration value="paired"/>
      <enumeration value="required"/>
      <enumeration value="exclusion"/>
      <enumeration value="conditional"/>
      <enumeration value="list"/>
      <enumeration value="firstonly"/>
   </restriction>
</simpleType>


Simple Type: useType

Super-types: string < useType (by restriction)
Sub-types: None
Name useType
Content
  • Base XSD Type: string
  • value comes from list: {'required'|'optional'|'prohibited'}

No documentation provided.

<simpleType name="useType">
   <restriction base="string">
      <enumeration value="required"/>
      <enumeration value="optional"/>
      <enumeration value="prohibited"/>
   </restriction>
</simpleType>


Glossary

Abstract (Applies to complex type definitions and element declarations). An abstract element or complex type cannot used to validate an element instance. If there is a reference to an abstract element, only element declarations that can substitute the abstract element can be used to validate the instance. For references to abstract type definitions, only derived types can be used.

All Model Group Child elements can be provided in any order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-all.

Choice Model Group Only one from the list of child elements and model groups can be provided in instances. See: http://www.w3.org/TR/xmlschema-1/#element-choice.

Collapse Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32). Then, collapse contiguous sequences of space characters into single space character, and remove leading and trailing space characters.

Disallowed Substitutions (Applies to element declarations). If substitution is specified, then substitution group members cannot be used in place of the given element declaration to validate element instances. If derivation methods, e.g. extension, restriction, are specified, then the given element declaration will not validate element instances that have types derived from the element declaration's type using the specified derivation methods. Normally, element instances can override their declaration's type by specifying an xsi:type attribute.

Key Constraint Like Uniqueness Constraint, but additionally requires that the specified value(s) must be provided. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Key Reference Constraint Ensures that the specified value(s) must match value(s) from a Key Constraint or Uniqueness Constraint. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.

Model Group Groups together element content, specifying the order in which the element content can occur and the number of times the group of element content may be repeated. See: http://www.w3.org/TR/xmlschema-1/#Model_Groups.

Nillable (Applies to element declarations). If an element declaration is nillable, instances can use the xsi:nil attribute. The xsi:nil attribute is the boolean attribute, nil, from the http://www.w3.org/2001/XMLSchema-instance namespace. If an element instance has an xsi:nil attribute set to true, it can be left empty, even though its element declaration may have required content.

Notation A notation is used to identify the format of a piece of data. Values of elements and attributes that are of type, NOTATION, must come from the names of declared notations. See: http://www.w3.org/TR/xmlschema-1/#cNotation_Declarations.

Preserve Whitespace Policy Preserve whitespaces exactly as they appear in instances.

Prohibited Derivations (Applies to type definitions). Derivation methods that cannot be used to create sub-types from a given type definition.

Prohibited Substitutions (Applies to complex type definitions). Prevents sub-types that have been derived using the specified derivation methods from validating element instances in place of the given type definition.

Replace Whitespace Policy Replace tab, line feed, and carriage return characters with space character (Unicode character 32).

Sequence Model Group Child elements and model groups must be provided in the specified order in instances. See: http://www.w3.org/TR/xmlschema-1/#element-sequence.

Substitution Group Elements that are members of a substitution group can be used wherever the head element of the substitution group is referenced.

Substitution Group Exclusions (Applies to element declarations). Prohibits element declarations from nominating themselves as being able to substitute a given element declaration, if they have types that are derived from the original element's type using the specified derivation methods.

Target Namespace The target namespace identifies the namespace that components in this schema belongs to. If no target namespace is provided, then the schema components do not belong to any namespace.

Uniqueness Constraint Ensures uniqueness of an element/attribute value, or a combination of values, within a specified scope. See: http://www.w3.org/TR/xmlschema-1/#cIdentity-constraint_Definitions.


License

Mozzilla Public License 2.0