## qdml QJML Schema

SCHEMA TREE | INDEX

### text: ID

attribute of: abstract attributes bean coin contentModel elements enum excludes extends id implements interface item link qdml range rem selection sequence text
Identifies the element.

### text: PUBLIC

attribute of: qdml
The PUBLIC identifier. (A URI naming the type of document.)

### text: SYSTEM

attribute of: qdml
The SYSTEM identifier. (The URL of the DTD.)

### bean: abstract

extends coin
implements element
implements data
targetClass: `com.jxml.quick.model.qdml.QDMAbstract`
Abstract elements are used to define attributes for more than one type of coin. Abstract elements can implement any number of interface elements. An abstract coin can extend one other abstract coin.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- generate ( optional )
  default value: `True`
  field: `generate` , data is defined by: `generate`
- label ( required )
  field: `label` , data is defined by: `label`
- validInherited ( optional )
  default value: `True`
  field: `validInherited` , data is defined by: `validInherited`

### Children

full tree

- rem ( optional , repeating )
  field: `remList` (kind: `list`)
- extends ( optional )
  field: `extendor` , data is defined by: `extends`
- implements ( optional , repeating )
  field: `implementsList` (kind: `list`)
- attributes ( optional )
  field: `attributes` , data is defined by: `attributes`
- valid ( optional , repeating )
  field: `validList` (kind: `list`)

### bean: attributes

child of: abstract bean
targetClass: `com.jxml.quick.model.qdml.QDMAttributes`
Holds the pieces which define the attributes of the element.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- inherited ( optional )
  default value: `True`
  field: `inherited` , data is defined by: `inherited`

### Children

full tree

- item ( optional , repeating )
  field: `itemList` (kind: `list`)

### abstract: base.type

targetClass: `java.lang.Object`
Specifies the base data types common to text elements and attribute elements.
will not be generated with QJML2Java
valid values:

- `PCDATA`
  The attribute or element holds text. The element holds no subordinate elements or attributes.
- `int`
  The attribute or element holds text in the form of a Java int. The element holds no subordinate elements.
- `short`
  The attribute or element holds text in the form of a Java short. The element holds no subordinate elements.
- `long`
  The attribute or element holds text in the form of a Java long. The element holds no subordinate elements.
- `byte`
  The attribute or element holds text in the form of a Java byte. The element holds no subordinate elements.
- `boolean`
  The attribute or element holds text in the form of a Java boolean. The element holds no subordinate elements.
- `float`
  The attribute or element holds text in the form of a Java float. The element holds no subordinate elements.
- `double`
  The attribute or element holds text in the form of a Java double. The element holds no subordinate elements.
- `base64`
  The attribute or element holds text in base 64 encoding. The element holds no subordinate elements.
- `url`
  The attribute or element holds text in the form of a URL. The element holds no subordinate elements.
- `char`
  The attribute or element holds text in the form of a Java char. The element holds no subordinate elements.
- `BigDecimal`
  The attribute or element holds text in the form of a Java BigDecimal. The element holds no subordinate elements.

### Is extended/implemented by

- text.type

### bean: bean

extends coin
implements element
targetClass: `com.jxml.quick.model.qdml.QDMBean`
bean elements are used to define complex elements with nested element content.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- generate ( optional )
  default value: `True`
  field: `generate` , data is defined by: `generate`
- inline ( optional )
  default value: `False`
  field: `inline` , data is defined by: `inline`
- label ( optional )
  field: `label` , data is defined by: `label`
- tag ( optional )
  field: `tag` , data is defined by: `tag`
- bean.type ( optional )
  field: `type` , data is defined by: `bean.type`
- wild ( optional )
  default value: `False`
  field: `wild` , data is defined by: `wild`

### Children

full tree

- rem ( optional , repeating )
  field: `remList` (kind: `list`)
- extends ( optional )
  field: `extendor` , data is defined by: `extends`
- implements ( optional , repeating )
  field: `implementsList` (kind: `list`)
- attributes ( optional )
  field: `attributes` , data is defined by: `attributes`
- elements ( optional )
  field: `elements` , data is defined by: `elements`

### text: bean.type (tag=type)

attribute of: bean
Specifies the pre-defined data types for bean elements.
valid values:

- `MIXED`
  The element holds subordinate elements intermixed with text.
- `BIMODAL`
  The element may hold either text or subordinate elements.

### abstract: coin

child of: qdml
targetClass: `com.jxml.quick.model.qdml.QDMCoin`
In QDML, a Coin can define an XML element, or an XML attribute. More generally, a Coin defines a type of data element which may take one or more forms, including a Java class or scalar.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- generate ( optional )
  default value: `True`
  field: `generate` , data is defined by: `generate`
- label ( required )
  field: `label` , data is defined by: `label`

### Other fields/properties

- field: `remList` (kind: `list`)

### Is extended/implemented by

- abstract
- bean
- interface
- link
- text

### text: coinName (tag=coin)

attribute of: item link
A reference to the Coin which defines the data item held by this Coin.

### abstract: contentModel

child of: elements selection sequence
targetClass: `com.jxml.quick.model.qdml.QDMContentModel`
A template for elements which define the content model of an element.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- cref ( optional )
  field: `cref` , data is defined by: `cref`
- label ( optional )
  field: `label` , data is defined by: `label`
- optional ( optional )
  default value: `False`
  field: `optional` , data is defined by: `optional`
- repeating ( optional )
  default value: `False`
  field: `repeating` , data is defined by: `repeating`

### Other fields/properties

- field: `remList` (kind: `list`)

### Is extended/implemented by

- item
- sequence

### text: cref

attribute of: contentModel item selection sequence
A reference to another content model element.

### interface: data

targetClass: `com.jxml.quick.model.qdml.QDMData`

### Is extended/implemented by

- abstract
- text

### interface: element

targetClass: `com.jxml.quick.model.qdml.QDMElement`

### Is extended/implemented by

- abstract
- bean
- interface
- link
- text

### bean: elements

child of: bean
targetClass: `com.jxml.quick.model.qdml.QDMElements`
Holds the content model of the a bean coin.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID

### Children

full tree

- contentModel ( optional , repeating )
  field: `contentList` (kind: `list`)

### bean: enum

implements valid
targetClass: `com.jxml.quick.model.qdml.QDMEnum`
Specifies an acceptable value for an attribute or text coin.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- value ( required )
  field: `value` , data is defined by: `value`

### Children

full tree

- rem ( optional , repeating )
  field: `remList` (kind: `list`)

### bean: excludes

child of: qdml
content: `BIMODAL`
targetClass: `com.jxml.quick.model.qdml.QDMExcludes`
A coin that is not to be included.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID

### bean: extends

child of: abstract bean interface text
content: `BIMODAL`
targetClass: `com.jxml.quick.model.qdml.QDMExtends`
Identifies the coin being extended.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID

### text: fixed

attribute of: item
content: `boolean`
The attribute or element will have a fixed text value. When not set to true, the value given will be the default value.

### text: generate

attribute of: abstract bean coin interface text
content: `boolean`
The Java class is to be generated.

### bean: id

child of: item
targetClass: `com.jxml.quick.model.qdml.QDMId`
The data item is an identifier maintained by QDoc.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID

### text: imax

attribute of: range
The largest allowed value (inclusive) of a range

### text: imin

attribute of: range
The smallest allowed value (inclusive) of a range.

### bean: implements

child of: abstract bean text
content: `BIMODAL`
targetClass: `com.jxml.quick.model.qdml.QDMImplements`
Identifies the interface coin being implemented

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID

### link: include

schema: `classpath:///com/jxml/quick/model/qdmlModel.qiml`
child of: qdml
A reference to another QDML document whose elements are to be included.

### text: inherited

attribute of: attributes
content: `boolean`
The attributes inherited from the Coin(s) that this Coin extends or implements.

### text: inline

attribute of: bean link text
content: `boolean`
When false, force the display to a new line. Defaults to true for attributes and false for elements.

### bean: interface

extends coin
implements element
targetClass: `com.jxml.quick.model.qdml.QDMInterface`
Interface elements are used to represent more than one type of coin. An interface coin can extend any number of other interfaces.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- generate ( optional )
  default value: `True`
  field: `generate` , data is defined by: `generate`
- label ( required )
  field: `label` , data is defined by: `label`

### Children

full tree

- rem ( optional , repeating )
  field: `remList` (kind: `list`)
- extends ( optional , repeating )
  field: `extendsList` (kind: `list`)

### bean: item

extends contentModel
child of: attributes
targetClass: `com.jxml.quick.model.qdml.QDMItem`
An item is used to specify a data item held by a Coin.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- coinName ( optional )
  field: `coinName` , data is defined by: `coinName`
- cref ( optional )
  field: `cref` , data is defined by: `cref`
- fixed ( optional )
  default value: `False`
  field: `fixed` , data is defined by: `fixed`
- label ( optional )
  field: `label` , data is defined by: `label`
- optional ( optional )
  default value: `False`
  field: `optional` , data is defined by: `optional`
- repeating ( optional )
  default value: `False`
  field: `repeating` , data is defined by: `repeating`
- schema ( optional )
  field: `schema` , data is defined by: `schema`
- value ( optional )
  field: `value` , data is defined by: `value`

### Children

full tree

- sequence ( required )
  - rem ( optional , repeating )
    field: `remList` (kind: `list`)
- id ( optional )
  field: `id` , data is defined by: `id`

### text: label

attribute of: abstract bean coin contentModel interface item link selection sequence text
Specifies a unique identifier.

### bean: link

extends coin
implements element
targetClass: `com.jxml.quick.model.qdml.QDMLink`
Link elements are used to define hyperlinks.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- coinName ( required )
  field: `coin` , data is defined by: `coinName`
- inline ( optional )
  default value: `False`
  field: `inline` , data is defined by: `inline`
- label ( optional )
  field: `label` , data is defined by: `label`
- schema ( required )
  field: `schema` , data is defined by: `schema`
- tag ( optional )
  field: `tag` , data is defined by: `tag`
- wild ( optional )
  default value: `False`
  field: `wild` , data is defined by: `wild`

### Children

full tree

- rem ( optional , repeating )
  field: `remList` (kind: `list`)

### text: optional

attribute of: contentModel item selection sequence
content: `boolean`
The data item defined by this content model element is optional when set true.

### bean: qdml

targetClass: `com.jxml.quick.model.qdml.QDMQDML`
The qdml element is the root element of the QDML.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- PUBLIC ( optional )
  field: `PUBLIC` , data is defined by: `PUBLIC`
- SYSTEM ( optional )
  field: `SYSTEM` , data is defined by: `SYSTEM`
- root ( optional )
  field: `root` , data is defined by: `root`

### Children

full tree

- sequence ( required )
  - include ( optional , repeating )
    field: `includes` (kind: `list`)
  - excludes ( optional , repeating )
    field: `excludeses` (kind: `list`)
  - coin ( optional , repeating )
    field: `coins` (kind: `list`) , data is defined by: `coin`

### bean: range

implements valid
targetClass: `com.jxml.quick.model.qdml.QDMRange`
Specifies a range of legal values for an attribute or text coin. Comparison depends on the type of the coin (PCDATA, int, float, etc).

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- imax ( optional )
  field: `imax` , data is defined by: `imax`
- imin ( optional )
  field: `imin` , data is defined by: `imin`
- xmax ( optional )
  field: `xmax` , data is defined by: `xmax`
- xmin ( optional )
  field: `xmin` , data is defined by: `xmin`

### Children

full tree

- rem ( optional , repeating )
  field: `remList` (kind: `list`)

### bean: rem

child of: abstract bean enum interface item link range selection sequence text
content: `BIMODAL`
targetClass: `com.jxml.quick.model.qdml.QDMRem`
A comment.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID

### text: repeating

attribute of: contentModel item selection sequence
content: `boolean`
The data item defined by this content model element can occur more than once when set true.

### text: root

attribute of: qdml
The identifies the root coin.

### text: schema

attribute of: item link
Schema for the referenced document.

### bean: selection

extends sequence
targetClass: `com.jxml.quick.model.qdml.QDMSelection`
Defines a list of alternative elements.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- cref ( optional )
  field: `cref` , data is defined by: `cref`
- label ( optional )
  field: `label` , data is defined by: `label`
- optional ( optional )
  default value: `False`
  field: `optional` , data is defined by: `optional`
- repeating ( optional )
  default value: `False`
  field: `repeating` , data is defined by: `repeating`

### Children

full tree

- sequence ( required )
  - sequence ( required )
    - rem ( optional , repeating )
      field: `remList` (kind: `list`)
  - contentModel ( optional , repeating )
    field: `contentList` (kind: `list`)

### bean: sequence

extends contentModel
targetClass: `com.jxml.quick.model.qdml.QDMSequence`
Defines a fixed sequence of elements.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- cref ( optional )
  field: `cref` , data is defined by: `cref`
- label ( optional )
  field: `label` , data is defined by: `label`
- optional ( optional )
  default value: `False`
  field: `optional` , data is defined by: `optional`
- repeating ( optional )
  default value: `False`
  field: `repeating` , data is defined by: `repeating`

### Children

full tree

- sequence ( required )
  - sequence ( required )
    - rem ( optional , repeating )
      field: `remList` (kind: `list`)
  - contentModel ( optional , repeating )
    field: `contentList` (kind: `list`)

### Is extended/implemented by

- selection

### text: tag

attribute of: bean link text
An XML attribute or element tag name.

### bean: text

extends coin
implements element
implements data
targetClass: `com.jxml.quick.model.qdml.QDMText`
Text elements are used to define attributes and simple elements with text content.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- generate ( optional )
  default value: `True`
  field: `generate` , data is defined by: `generate`
- inline ( optional )
  default value: `False`
  field: `inline` , data is defined by: `inline`
- label ( optional )
  field: `label` , data is defined by: `label`
- tag ( optional )
  field: `tag` , data is defined by: `tag`
- trim ( optional )
  default value: `True`
  field: `trim` , data is defined by: `trim`
- text.type ( optional )
  default value: `PCDATA`
  field: `type` , data is defined by: `text.type`
- validInherited ( optional )
  default value: `True`
  field: `validInherited` , data is defined by: `validInherited`
- wild ( optional )
  default value: `False`
  field: `wild` , data is defined by: `wild`

### Children

full tree

- rem ( optional , repeating )
  field: `remList` (kind: `list`)
- extends ( optional )
  field: `extendor` , data is defined by: `extends`
- implements ( optional , repeating )
  field: `implementsList` (kind: `list`)
- valid ( optional , repeating )
  field: `validList` (kind: `list`)

### text: text.type (tag=type)

extends base.type
attribute of: text
Specifies the pre-defined data types for text elements.
valid values:

- `idref`
  The data item holds the identifier of another element within the same document.
- `CDATA`
  The attribute or element holds text, usually wrapped in a CDATA section. The element holds no subordinate elements or attributes.
- `PCDATA`
  The attribute or element holds text. The element holds no subordinate elements or attributes.
- `int`
  The attribute or element holds text in the form of a Java int. The element holds no subordinate elements.
- `short`
  The attribute or element holds text in the form of a Java short. The element holds no subordinate elements.
- `long`
  The attribute or element holds text in the form of a Java long. The element holds no subordinate elements.
- `byte`
  The attribute or element holds text in the form of a Java byte. The element holds no subordinate elements.
- `boolean`
  The attribute or element holds text in the form of a Java boolean. The element holds no subordinate elements.
- `float`
  The attribute or element holds text in the form of a Java float. The element holds no subordinate elements.
- `double`
  The attribute or element holds text in the form of a Java double. The element holds no subordinate elements.
- `base64`
  The attribute or element holds text in base 64 encoding. The element holds no subordinate elements.
- `url`
  The attribute or element holds text in the form of a URL. The element holds no subordinate elements.
- `char`
  The attribute or element holds text in the form of a Java char. The element holds no subordinate elements.
- `BigDecimal`
  The attribute or element holds text in the form of a Java BigDecimal. The element holds no subordinate elements.

### text: trim

attribute of: text
content: `boolean`
Remove leading/trailing whitespace.

### interface: valid

child of: abstract text
targetClass: `com.jxml.quick.model.qdml.QDMValid`
Specifies the legal values of an attribute or text coin.

### Is extended/implemented by

- enum
- range

### text: validInherited

attribute of: abstract text
content: `boolean`
Indicates that enums and ranges are inherited.

### text: value

attribute of: enum item
An attribute or text value.

### text: wild

attribute of: bean link text
content: `boolean`
Defines a "wild card" Coin which can be used with any XML attribute or element. When true, label must be set, but not tag.

### text: xmax

attribute of: range
The largest allowed value (exclusive) of a range

### text: xmin

attribute of: range
The smallest allowed value (exclusive) of a range.

### SCHEMA TREE

    qdml
    |---include

### INDEX

abstract
attributes
base.type
bean
bean.type (tag=type)
coin
coinName (tag=coin)
contentModel
cref
data
element
elements
enum
excludes
extends
fixed
generate
id
ID
imax
imin
implements
include
inherited
inline
interface
item
label
link
optional
PUBLIC
qdml
range
rem
repeating
root
schema
selection
sequence
SYSTEM
tag
text
text.type (tag=type)
trim
valid
validInherited
value
wild
xmax
xmin