## qiml QJML Schema

SCHEMA TREE | INDEX

### text: ID

attribute of: childElement childSelection childSequence elementDefinition
The ID is used to name an XML element, and is required when defining an XML element. So long as the tagName is unique, the tagName can also be used as the ID value. (XML attribute definitions do not require an ID.)

### interface: access

child of: childElement childSelection childSequence
targetClass: `com.jxml.quick.model.qiml.Access`

### Is extended/implemented by

- accessClass
- accessField
- accessListField
- accessListProperty
- accessProperty

### text: accessClass

implements access
targetClass: `com.jxml.quick.model.qiml.AccessClass`
The accessClass element identifies a class which extends com.jxml.quick.access.QAccess. Instances of the named class are used to define the relationship between the object being defined and the objects in its content model.

### text: accessField

implements access
targetClass: `com.jxml.quick.model.qiml.AccessField`
The accessField element names a field in the object being defined which references an object in its content model.

### text: accessListField

implements access
targetClass: `com.jxml.quick.model.qiml.AccessListField`
The accessField element names a field in the object being defined which holds a list of objects in its content model.

### text: accessListProperty

implements access
targetClass: `com.jxml.quick.model.qiml.AccessListProperty`
The accessField element names a JavaBean property in the object being defined which holds a list of objects in its content model.

### text: accessProperty

implements access
targetClass: `com.jxml.quick.model.qiml.AccessProperty`
The accessField element names a JavaBean property in the object being defined which references an object in its content model.

### text: bimodal

attribute of: elementDefinition
content: `boolean`
The bimodal attribute indicates that the element is bimodal.

### text: cdata

attribute of: elementDefinition
content: `boolean`
The cdata indicates that the element content should be expressed as CDATA.

### bean: childElement

implements contentModel
targetClass: `com.jxml.quick.model.qiml.ChildElement`
The childElement or link element is used to establish the presence of an element withing the content model of another element.

### Attributes (the attributes are not inherited)

- ID ( optional )
  property: `ID_20` , data is defined by: `ID`
- default ( optional )
  property: `default_23` , data is defined by: `default`
- fixed ( optional )
  default value: `False`
  property: `fixed_24` , data is defined by: `fixed`
- optional ( optional )
  default value: `False`
  property: `optional_21` , data is defined by: `optional`
- repeating ( optional )
  default value: `False`
  property: `repeating_22` , data is defined by: `repeating`

### Children

full tree

- access ( optional )
  property: `access_25` , data is defined by: `access`
- selection ( required ) property: `elementDefinition_26` , data is defined by: `elementDefinition`
  - elementDefinition ( required )
  - link ( required )

### bean: childSelection

implements contentModel
targetClass: `com.jxml.quick.model.qiml.ChildSelection`
The childSelection element defines a set of alternative sub-models within the content model of the element being defined.

### Attributes (the attributes are not inherited)

- ID ( optional )
  property: `ID_27` , data is defined by: `ID`
- optional ( optional )
  property: `optional_28` , data is defined by: `optional`
- repeating ( optional )
  property: `repeating_29` , data is defined by: `repeating`

### Children

full tree

- access ( optional )
  property: `access_30` , data is defined by: `access`
- contentModel ( required , repeating )
  property: `contentModel_31` , data is defined by: `contentModel`

### bean: childSequence

implements contentModel
targetClass: `com.jxml.quick.model.qiml.ChildSequence`
The childSequence element defines a series of sub-models within the content model of the element being defined.

### Attributes (the attributes are not inherited)

- ID ( optional )
  property: `ID_32` , data is defined by: `ID`
- optional ( optional )
  property: `optional_33` , data is defined by: `optional`
- repeating ( optional )
  property: `repeating_34` , data is defined by: `repeating`

### Children

full tree

- access ( optional )
  property: `access_35` , data is defined by: `access`
- contentModel ( required , repeating )
  property: `contentModel_36` , data is defined by: `contentModel`

### bean: clink

implements contentModel
targetClass: `com.jxml.quick.model.qiml.Clink`
The clink element is used to reference previously defined content models.

### Attributes (the attributes are not inherited)

- href ( required )
  property: `href_19` , data is defined by: `href`

### text: conditional

attribute of: elementDefinition
content: `boolean`
The conditional attribute controls the expression of an XML element (or an XML idref attribute). Use conditional only when dealing with recursive data structures (like QIML). When true, an element is not expressed if it has already been expressed within a document, (and an idref attribute will only be expressed if the referenced element has already been expressed).

### interface: contentModel

child of: childSelection childSequence elementDefinition
targetClass: `com.jxml.quick.model.qiml.ContentModel`

### Is extended/implemented by

- childElement
- childSelection
- childSequence
- clink

### text: default

attribute of: childElement
The default attribute defines the default value of an attribute.

### text: editorClass (tag=class)

attribute of: targetEditor
The targetEditor piece attributes the property editor class. When not present, targetClass will be used to determine the editor class.

### text: editorTargetClass (tag=targetClass)

attribute of: targetEditor
The object constructed from an element (or attribute) will be an instance of the class named by targetClass. The element being defined must have neither attributes nor element content.

### bean: elementDefinition

child of: childElement elementDefinition qiml
targetClass: `com.jxml.quick.model.qiml.ElementDefinition`
elementDefinition: Defines an XML element (or an XML attribute, or an attribute list), and a mapping to an instance of a Java class. The target held by elementDefinition defines both the processing of the XML element's text content (or the XML attribute's value) and how the object is constructed. The elementDefinition's held by elementDefinition (or referenced via a link) are the subclasses. Subclass elements can occur within an XML document anywhere the parent element can occur. And when an element can be used as a root, so too can its subclasses. The children (childSelection, childSequence, childElement) held by elementDefinition define the element content of the element. The first child of an element is always the list of attributes. (Attributes have no element content.) (The children of an attribute list are the attributes.)

### Attributes (the attributes are not inherited)

- ID ( optional )
  property: `ID_7` , data is defined by: `ID`
- bimodal ( optional )
  default value: `False`
  property: `bimodal_6` , data is defined by: `bimodal`
- cdata ( optional )
  default value: `False`
  property: `cdata_10` , data is defined by: `cdata`
- conditional ( optional )
  default value: `False`
  property: `conditional_9` , data is defined by: `conditional`
- isIdRef ( optional )
  default value: `False`
  property: `isIdRef_8` , data is defined by: `isIdRef`
- tagName ( optional )
  property: `tagName_4` , data is defined by: `tagName`
- wild ( optional )
  default value: `False`
  property: `wild_5` , data is defined by: `wild`

### Children

full tree

- rem ( optional , repeating )
  property: `rem_11` , data is defined by: `rem`
- target ( required )
  property: `target_12` , data is defined by: `target`
- selection ( optional , repeating ) property: `derivedCoins_13` (kind: `list`) , data is defined by: `elementDefinition`
  - elementDefinition ( required )
  - link ( required )
- contentModel ( optional , repeating )
  property: `contentModel_14` , data is defined by: `contentModel`

### text: fixed

attribute of: childElement
content: `boolean`
The fixed attribute specified that the attribute value must not differ from the value given by the default attribute.

### text: href

attribute of: clink link
The href attribute itentifies the element being referenced.

### text: isIdRef

attribute of: elementDefinition
content: `boolean`
The isIdRef indicates that the attribute is an idref.

### bean: link

child of: childElement elementDefinition
targetClass: `com.jxml.quick.model.qiml.Link`
The link element is used to reference previously defined elementDefinition's.

### Attributes (the attributes are not inherited)

- href ( required )
  property: `href_18` , data is defined by: `href`

### text: optional

attribute of: childElement childSelection childSequence
content: `boolean`

### bean: qiml

targetClass: `com.jxml.quick.model.qiml.Qiml`
qiml: The root element of a QIML binding schema. The elementDefinition held by qiml defines the root element(s).

### Attributes (the attributes are not inherited)

- qiml.PUBLIC ( optional )
  property: `qiml_PUBLIC_1` , data is defined by: `qiml.PUBLIC`
- qiml.SYSTEM ( optional )
  property: `qiml_SYSTEM_2` , data is defined by: `qiml.SYSTEM`

### Children

full tree

- elementDefinition ( required )
  property: `elementDefinition_3` , data is defined by: `elementDefinition`

### text: qiml.PUBLIC (tag=PUBLIC)

attribute of: qiml

### text: qiml.SYSTEM (tag=SYSTEM)

attribute of: qiml

### text: rem

child of: elementDefinition
targetClass: `com.jxml.quick.model.qiml.Rem`
The rem element is used to comment the element (or attribute) being defined.

### text: repeating

attribute of: childElement childSelection childSequence
content: `boolean`

### text: tagName

attribute of: elementDefinition
The tagName gives the name of an XML element (or attribute). There is no requirement that the tagName be unique. (This allows each XML element to effectively define its own namespace.)

### interface: target

child of: elementDefinition
targetClass: `com.jxml.quick.model.qiml.Target`

### Is extended/implemented by

- targetClass
- targetClass1
- targetEditor
- targetFactory

### text: targetClass

implements target
targetClass: `com.jxml.quick.model.qiml.TargetClass`
The targetClass element itentifies a class used to instantiate objects. The named class must have a public constructor which takes no parameters. Text content is ignored unless the named class implements com.jxml.quick.QBiModal. (If used to define an attribute, the named class must implement QBiModal.)

### text: targetClass1

implements target
targetClass: `com.jxml.quick.model.qiml.TargetClass1`
The targetClass1 element itentifies a class used to instantiate objects. The named class must have a public constructor which takes a String parameters. Further, the class must have a toString method which returns the value passed to the constructor. The element being defined must have neither attributes nor element content.

### bean: targetEditor

implements target
targetClass: `com.jxml.quick.model.qiml.TargetEditor`
The targetEditor element specifies a JavaBean property editor to be used in constructing an object and in expressing that object. The text content is passed to the property editor when creating the object. The element being defined must have neither attributes nor element content.

### Attributes (the attributes are not inherited)

- editorClass ( optional )
  property: `editorClass_16` , data is defined by: `editorClass`
- editorTargetClass ( required )
  property: `editorTargetClass_15` , data is defined by: `editorTargetClass`

### Children

full tree

- value ( optional , repeating )
  property: `value_17` , data is defined by: `value`

### text: targetFactory

implements target
targetClass: `com.jxml.quick.model.qiml.TargetFactory`
The targetFactory element identifies a class which implements com.jxml.quick.tf.QTargetFactory. Instances of the named class are used to create objects and to identify objects which may have been created by it.

### text: value

child of: targetEditor
targetClass: `com.jxml.quick.model.qiml.Value`
The value element provides a legal value for the text content of the element (or attribute) being defined.

### text: wild

attribute of: elementDefinition
content: `boolean`
The wild attribute indicates that the tagName of the XML element (or attribute) is not fixed, and that the object itself holds the tagName.

### SCHEMA TREE

    qiml
     ---elementDefinition
        |---rem
        |---target
        |   |---targetClass
        |   |---targetClass1
        |   |---targetEditor
        |   |    ---value
        |    ---targetFactory
        |---elementDefinition

### INDEX

access
accessClass
accessField
accessListField
accessListProperty
accessProperty
bimodal
cdata
childElement
childSelection
childSequence
clink
conditional
contentModel
default
editorClass (tag=class)
editorTargetClass (tag=targetClass)
elementDefinition
fixed
href
ID
isIdRef
link
optional
qiml
qiml.PUBLIC (tag=PUBLIC)
qiml.SYSTEM (tag=SYSTEM)
rem
repeating
tagName
target
targetClass
targetClass1
targetEditor
targetFactory
value
wild