## qdml QJML Schema

SCHEMA TREE | INDEX

### text: ID

attribute of: abstract access accessClass attributes bean coin contentModel elements enum excludes extends field id identity ignore implements interface item link property 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.qjml.QMAbstract`
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 )
  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`)

### abstract: access

child of: item selection sequence
targetClass: `com.jxml.quick.model.qjml.QMAccess`
Defines the means by which a data item is accessed.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- coinName ( optional )
  field: `coin` , data is defined by: `coinName`
- key ( optional )
  field: `key` , data is defined by: `key`
- kind ( optional )
  field: `kind` , data is defined by: `kind`
- size ( optional )
  default value: `-1`
  field: `size` , data is defined by: `size`

### Other fields/properties

- field: `name` , data is defined by: `name`

### Is extended/implemented by

- accessClass
- field
- id
- identity
- ignore
- property

### bean: accessClass

extends access
targetClass: `com.jxml.quick.model.qjml.QMAccessClass`
The full name of the class used to access the data item.

### Attributes (the attributes are not inherited)

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

### text: accessor

attribute of: accessClass
Full name of a class which implements com.jxml.quick.access.QAccess.

### bean: attributes

child of: abstract bean
targetClass: `com.jxml.quick.model.qjml.QMAttributes`
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.qjml.QMBean`
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.qjml.QMCoin`
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: access field identity item link property
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.qjml.QMContentModel`
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.qjml.QMData`

### Is extended/implemented by

- abstract
- text

### interface: element

targetClass: `com.jxml.quick.model.qjml.QMElement`

### Is extended/implemented by

- abstract
- bean
- interface
- link
- text

### bean: elements

child of: bean
targetClass: `com.jxml.quick.model.qjml.QMElements`
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.qjml.QMEnum`
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.qjml.QMExcludes`
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.qjml.QMExtends`
Identifies the coin being extended.

### Attributes (the attributes are not inherited)

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

### bean: field

extends access
targetClass: `com.jxml.quick.model.qjml.QMField`
The data item is a Java variable.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- coinName ( optional )
  field: `coin` , data is defined by: `coinName`
- inherited ( optional )
  The data item is ignored
- initializer ( optional )
  field: `initializer` , data is defined by: `initializer`
- key ( optional )
  field: `key` , data is defined by: `key`
- kind ( optional )
  field: `kind` , data is defined by: `kind`
- name ( optional )
  field: `name` , data is defined by: `name`
- size ( optional )
  default value: `-1`
  field: `size` , data is defined by: `size`

### 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

implements access
targetClass: `com.jxml.quick.model.qjml.QMId`
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

### bean: identity

extends access
targetClass: `com.jxml.quick.model.qjml.QMIdentity`
The data item is the entire coin.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- coinName ( optional )
  field: `coin` , data is defined by: `coinName`
- key ( optional )
  field: `key` , data is defined by: `key`
- kind ( optional )
  field: `kind` , data is defined by: `kind`
- size ( optional )
  default value: `-1`
  field: `size` , data is defined by: `size`

### bean: ignore

extends access
targetClass: `com.jxml.quick.model.qjml.QMIgnore`
The data item is ignored.

### 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.qjml.QMImplements`
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/qdmlOverQjml.qiml`
child of: qdml
A reference to another QDML document whose elements are to be included.

### text: inherited

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

### text: initializer

attribute of: field property
Used to generate the code to initialize a field or property. E.G. new ArrayList()

### 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.qjml.QMInterface`
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.qjml.QMItem`
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`)
  - access ( optional )
    field: `access` , data is defined by: `access`

### text: key

attribute of: access field identity property
References an accessor of the content held by this piece. Required for maps. Optional for arrays, indexed properties, and lists

### text: kind

attribute of: access field identity property
Identifies the kind of container being used, if other than a scalar.
valid values:

- `array`
- `list`
- `map`
- `indexed`
  applies only to properties

### 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.qjml.QMLink`
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: name

attribute of: field property
The name of a public variable or bean property. Also serves as a default label for the field or property.

### 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: property

extends access
targetClass: `com.jxml.quick.model.qjml.QMProperty`
The data item is a Java variable.

### Attributes (the attributes are not inherited)

- ID ( optional )
  The data item is an identifier maintained by QDoc
  ID
- property.abstract ( optional )
  default value: `False`
  field: `abst` , data is defined by: `property.abstract`
- coinName ( optional )
  field: `coin` , data is defined by: `coinName`
- property.inherited ( optional )
  The data item is ignored
- initializer ( optional )
  field: `initializer` , data is defined by: `initializer`
- key ( optional )
  field: `key` , data is defined by: `key`
- kind ( optional )
  field: `kind` , data is defined by: `kind`
- name ( optional )
  field: `name` , data is defined by: `name`
- read ( optional )
  default value: `True`
  field: `read` , data is defined by: `read`
- size ( optional )
  default value: `-1`
  field: `size` , data is defined by: `size`
- write ( optional )
  default value: `True`
  field: `write` , data is defined by: `write`

### text: property.abstract (tag=abstract)

attribute of: property
content: `boolean`
Declares a property as abstract. Valid only in an abstract coin.

### text: property.inherited (tag=inherited)

attribute of: property
Identifies which property methods are inherited. The value of this attribute is generated by the QJML Model.
valid values:

- `get`
  The get method is inherited
- `set`
  The set method is inherited
- `both`
  Both the get and set methods are inherited

### bean: qdml

targetClass: `com.jxml.quick.model.qjml.QMQJML`
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 ( required )
  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.qjml.QMRange`
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`)

### text: read

attribute of: property
content: `boolean`
There is a get method for the property.

### bean: rem

child of: abstract bean enum interface item link range selection sequence text
content: `BIMODAL`
targetClass: `com.jxml.quick.model.qjml.QMRem`
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.qjml.QMSelection`
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`)
    - access ( optional )
      field: `access` , data is defined by: `access`
  - contentModel ( optional , repeating )
    field: `contentList` (kind: `list`)

### bean: sequence

extends contentModel
targetClass: `com.jxml.quick.model.qjml.QMSequence`
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`)
    - access ( optional )
      field: `access` , data is defined by: `access`
  - contentModel ( optional , repeating )
    field: `contentList` (kind: `list`)

### Is extended/implemented by

- selection

### text: size

attribute of: access field identity property
content: `int`
The size of an array or indexed property.

### 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.qjml.QMText`
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 )
  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.qjml.QMValid`
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: write

attribute of: property
content: `boolean`
There is a set method for the property.

### 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
access
accessClass
accessor
attributes
base.type
bean
bean.type (tag=type)
coin
coinName (tag=coin)
contentModel
cref
data
element
elements
enum
excludes
extends
field
fixed
generate
id
ID
identity
ignore
imax
imin
implements
include
inherited
initializer
inline
interface
item
key
kind
label
link
name
optional
property
property.abstract (tag=abstract)
property.inherited (tag=inherited)
PUBLIC
qdml
range
read
rem
repeating
root
schema
selection
sequence
size
SYSTEM
tag
text
text.type (tag=type)
trim
valid
validInherited
value
wild
write
xmax
xmin