packageDec
<xs:element name="package">
<xs:complexType>
<xs:choice maxOccurs="unbounded">
<xs:element name="classDef" type="classDefType"/>
<xs:element name="importList">
<xs:complexType>
<xs:sequence>
<xs:element name="import" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:attribute name="name" type="xs:string" form="unqualified"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
type |
name |
type |
attribute |
name |
string |
element |
text |
classDec |
attribute |
meta |
string |
classDec
<xs:complexType name="classDefType">
<xs:sequence>
<xs:element name="method" type="methodType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="classDef" type="classDefType" minOccurs="0" maxOccurs="unbounded"/>
<xs:element name="variable" type="variableType"/>
<xs:element name="tags" type="tagList"/>
<xs:element name="meta" type="xs:string"/>
<xs:element name="comment" type="commentType"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="implements" type="xs:string"/>
<xs:attribute name="extends" type="xs:string"/>
<xs:attribute name="public" type="xs:boolean"/>
<xs:attribute name="private" type="xs:boolean"/>
<xs:attribute name="protected" type="xs:boolean"/>
<xs:attribute name="static" type="xs:boolean"/>
<xs:attribute name="abstract" type="xs:boolean"/>
<xs:attribute name="interface" type="xs:boolean"/>
</xs:complexType>
type |
name |
type |
element |
methodDec |
methodDec |
element |
parameterList |
parameterList |
element |
import |
importList |
attribute |
name |
string |
attribute |
public |
string |
attribute |
extends |
string |
attribute |
abstact |
boolean |
attribute |
meta |
string |
element |
tags |
tagList |
primativeType
<xs:simpleType name="primativeType">
<xs:restriction base="xs:string">
<xs:enumeration value="boolean"/>
<xs:enumeration value="byte"/>
<xs:enumeration value="char"/>
<xs:enumeration value="double"/>
<xs:enumeration value="float"/>
<xs:enumeration value="short"/>
<xs:enumeration value="int"/>
<xs:enumeration value="long"/>
<xs:enumeration value="void"/>
<xs:enumeration value="String"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="dataType">
<xs:sequence>
<xs:element name="primative" type="primativeType"/>
</xs:sequence>
<xs:attribute name="className" type="xs:string"/>
<xs:attribute name="array" type="xs:boolean"/>
</xs:complexType>
type |
name |
type |
enumeration |
boolean |
|
enumeration |
byte |
|
enumeration |
char |
|
enumeration |
double |
|
enumeration |
float |
|
enumeration |
short |
|
enumeration |
int |
|
enumeration |
long |
|
enumeration |
void |
|
enumeration |
String |
|
block
<xs:complexType name="blockType">
<xs:sequence minOccurs="2" maxOccurs="unbounded">
<xs:element name="assign" type="assignType"/>
<xs:element name="call" type="callType"/>
<xs:element name="comment" type="commentType"/>
<xs:element name="if" type="ifType"/>
<xs:element name="loop" type="loopType"/>
<xs:element name="switch" type="switchType"/>
<xs:element name="try" type="tryType"/>
<xs:element name="break" type="breakType"/>
<xs:element name="return" type="returnType"/>
<xs:element name="block" type="blockType"/>
</xs:sequence>
</xs:complexType>
type |
name |
type |
element |
if |
if |
element |
for |
for |
element |
while |
while |
element |
do |
do |
element |
switch |
switch |
element |
try |
try |
element |
break |
break |
element |
variable |
variable |
element |
block |
block |
if
<xs:complexType name="ifType">
<xs:sequence>
<xs:element name="condition" type="booleanExpressionType"/>
<xs:element name="block" type="blockType"/>
<xs:element name="elseBlock" type="blockType" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="booleanExpressionType">
<xs:sequence>
<xs:element name="constant" type="constantType"/>
<xs:element name="call" type="callType"/>
<xs:element name="binaryOp" type="binaryOpType"/>
<xs:element name="unaryOp" type="unaryOpType"/>
<xs:element name="comment" type="commentType"/>
</xs:sequence>
</xs:complexType>
type |
name |
type |
element |
condition |
booleanExpression |
element |
block |
block |
element |
elseBlock |
block |
loop
<xs:complexType name="loopType">
<xs:sequence>
<xs:element name="preCondition" type="booleanExpressionType"/>
<xs:element name="postCondition" type="booleanExpressionType"/>
<xs:element name="initialiser" type="blockType"/>
<xs:element name="step" type="blockType"/>
<xs:element name="block" type="blockType"/>
</xs:sequence>
<xs:attribute name="code" type="loopSubType"/>
</xs:complexType>
<xs:simpleType name="loopSubType">
<xs:restriction base="xs:string">
<xs:enumeration value="for"/>
<xs:enumeration value="do"/>
<xs:enumeration value="while"/>
</xs:restriction>
</xs:simpleType>
type |
name |
type |
element |
test |
booleanExpression |
element |
block |
block |
element |
assignment |
assignment |
element |
step |
assignment |
switch
<xs:complexType name="switchType">
<xs:sequence>
<xs:element name="variable" type="variableType"/>
<xs:element name="case" type="caseType"/>
<xs:element name="default" type="caseType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="caseType">
<xs:sequence>
<xs:element name="constant" type="constantType"/>
<xs:element name="block" type="blockType"/>
</xs:sequence>
</xs:complexType>
type |
name |
type |
element |
case |
case |
element |
default |
default |
try
may contain multiple catch blocks for different exceptions
<xs:complexType name="tryType">
<xs:sequence>
<xs:element name="block" type="blockType"/>
<xs:element name="catchBlock" type="catchBlockType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="catchBlockType">
<xs:sequence>
<xs:element name="block" type="blockType"/>
<xs:element name="exception" type="xs:string"/>
</xs:sequence>
</xs:complexType>
type |
name |
type |
element |
block |
block |
element |
catchBlock |
catchBlock |
methodDec
<xs:complexType name="methodType">
<xs:sequence>
<xs:element name="parameterList" type="parameterListType"/>
<xs:element name="tags" type="tagList"/>
<xs:element name="meta" type="xs:string"/>
<xs:element name="variable" type="variableType"/>
<xs:element name="call" type="callType"/>
<xs:element name="comment" type="commentType"/>
<xs:element name="if" type="ifType"/>
<xs:element name="loop" type="loopType"/>
<xs:element name="switch" type="switchType"/>
<xs:element name="try" type="tryType"/>
<xs:element name="break" type="breakType"/>
<xs:element name="return" type="returnType"/>
<xs:element name="block" type="blockType"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="public" type="xs:boolean"/>
<xs:attribute name="private" type="xs:boolean"/>
<xs:attribute name="protected" type="xs:boolean"/>
<xs:attribute name="static" type="xs:boolean"/>
<xs:attribute name="abstract" type="xs:boolean"/>
<xs:attribute name="native" type="xs:boolean"/>
<xs:attribute name="synchonised" type="xs:boolean"/>
<xs:attribute name="final" type="xs:boolean"/>
</xs:complexType>
<xs:complexType name="parameterListType">
<xs:sequence>
<xs:element name="comment" type="commentType"/>
<xs:element name="parameter" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:sequence>
<xs:element name="comment" type="commentType"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="tagType" type="xs:string"/>
<xs:attribute name="tagValue" type="xs:string"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
type |
name |
type |
element |
name |
string |
element |
parameterList |
parameterList |
element |
returnType |
dataType |
element |
block |
block |
attribute |
native |
boolean |
attribute |
synchonised |
boolean |
attribute |
final |
boolean |
attribute |
public |
boolean |
attribute |
protected |
boolean |
attribute |
private |
boolean |
break
<xs:complexType name="breakType">
<xs:sequence>
<xs:element name="comment" type="commentType"/>
</xs:sequence>
<xs:attribute name="type" type="breakSubType"/>
</xs:complexType>
<xs:simpleType name="breakSubType">
<xs:restriction base="xs:string">
<xs:enumeration value="break"/>
<xs:enumeration value="continue"/>
</xs:restriction>
</xs:simpleType>
return
<xs:complexType name="returnType">
<xs:sequence>
<xs:element name="variable" type="variableType"/>
<xs:element name="constant" type="constantType"/>
<xs:element name="call" type="callType"/>
<xs:element name="binaryOp" type="binaryOpType"/>
<xs:element name="unaryOp" type="unaryOpType"/>
<xs:element name="comment" type="commentType"/>
</xs:sequence>
</xs:complexType>
comment
<xs:complexType name="commentType" mixed="true">
<xs:sequence minOccurs="0" maxOccurs="unbounded">
<xs:any processContents="lax"/>
</xs:sequence>
<xs:anyAttribute namespace="##other" processContents="lax"/>
</xs:complexType>
type |
name |
type |
attribute |
name |
string |
dataType
used to declare data type, which may be primative such as "int" or
"float" or system or user defined class.
<xs:simpleType name="primativeType">
<xs:restriction base="xs:string">
<xs:enumeration value="boolean"/>
<xs:enumeration value="byte"/>
<xs:enumeration value="char"/>
<xs:enumeration value="double"/>
<xs:enumeration value="float"/>
<xs:enumeration value="short"/>
<xs:enumeration value="int"/>
<xs:enumeration value="long"/>
<xs:enumeration value="void"/>
<xs:enumeration value="String"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="dataType">
<xs:sequence>
<xs:element name="primative" type="primativeType"/>
</xs:sequence>
<xs:attribute name="className" type="xs:string"/>
<xs:attribute name="array" type="xs:boolean"/>
</xs:complexType>
type |
name |
type |
element |
primative |
primativeType |
attribute |
className |
className |
attribute |
array |
boolean |
parameterList
type |
name |
type |
element |
parameter |
parameter |
parameter
type |
name |
type |
element |
type |
dataType |
attribute |
name |
string |
attribute |
tagType |
string |
attribute |
tagValue |
string |
variable
<xs:complexType name="variableType">
<xs:sequence>
<xs:element name="comment" type="commentType"/>
<xs:element name="assign" type="assignType"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="public" type="xs:boolean"/>
<xs:attribute name="private" type="xs:boolean"/>
<xs:attribute name="protected" type="xs:boolean"/>
<xs:attribute name="static" type="xs:boolean"/>
<xs:attribute name="primative" type="xs:boolean"/>
<xs:attribute name="array" type="xs:boolean"/>
</xs:complexType>
type |
name |
type |
attribute |
primative |
string |
element |
array |
array |
element |
classPath |
classPath |
assignment
<xs:complexType name="assignType">
<xs:sequence maxOccurs="unbounded">
<xs:element name="variable" type="variableType"/>
<xs:element name="array" type="arrayType"/>
<xs:element name="constant" type="constantType"/>
<xs:element name="call" type="callType"/>
<xs:element name="binaryOp" type="binaryOpType"/>
<xs:element name="unaryOp" type="unaryOpType"/>
<xs:element name="comment" type="commentType"/>
</xs:sequence>
<xs:attribute name="operator" type="assignOperatorType"/>
</xs:complexType>
<xs:simpleType name="assignOperatorType">
<xs:restriction base="xs:string">
<xs:enumeration value="="/>
<xs:enumeration value="+="/>
<xs:enumeration value="-="/>
<xs:enumeration value="*="/>
<xs:enumeration value="/="/>
<xs:enumeration value="amp="/>
<xs:enumeration value="|="/>
<xs:enumeration value="^="/>
<xs:enumeration value="%="/>
<xs:enumeration value="left="/>
<xs:enumeration value=">>="/>
<xs:enumeration value=">>>="/>
</xs:restriction>
</xs:simpleType>
type |
name |
type |
element |
variable |
variable |
element |
rightHandSide |
partialResult |
attributeGroup |
assignmentOperation |
|
binaryOperation
<xs:complexType name="binaryOpType">
<xs:sequence minOccurs="2" maxOccurs="unbounded">
<xs:element name="variable" type="variableType"/>
<xs:element name="array" type="arrayType"/>
<xs:element name="constant" type="constantType"/>
<xs:element name="call" type="callType"/>
<xs:element name="binaryOp" type="binaryOpType"/>
<xs:element name="unaryOp" type="unaryOpType"/>
<xs:element name="comment" type="commentType"/>
</xs:sequence>
<xs:attribute name="operator" type="operatorType"/>
</xs:complexType>
<xs:simpleType name="operatorType">
<xs:restriction base="xs:string">
<xs:enumeration value="||"/>
<xs:enumeration value="&&"/>
<xs:enumeration value="|"/>
<xs:enumeration value="^"/>
<xs:enumeration value="&"/>
<xs:enumeration value="=="/>
<xs:enumeration value="!="/>
<xs:enumeration value="<"/>
<xs:enumeration value=">"/>
<xs:enumeration value="<="/>
<xs:enumeration value=">="/>
<xs:enumeration value="<<"/>
<xs:enumeration value=">>"/>
<xs:enumeration value=">>>"/>
<xs:enumeration value="+"/>
<xs:enumeration value="-"/>
<xs:enumeration value="*"/>
<xs:enumeration value="/"/>
<xs:enumeration value="%"/>
</xs:restriction>
</xs:simpleType>
type |
name |
type |
element |
lhs |
partialResult |
element |
rhs |
partialResult |
attributeGroup |
binaryOperator |
|
|
|
|
importList
type |
name |
type |
element |
import |
import |
import
type |
name |
type |
element |
name |
string |
tagList
type |
name |
type |
element |
tag |
tag |
tag
type |
name |
type |
attribute |
tagValue |
string |
attribute |
tagType |
string |
assignmentOperation
<xs:complexType name="assignType">
<xs:sequence minOccurs="2" maxOccurs="unbounded">
<xs:element name="variable" type="variableType"/>
<xs:element name="constant" type="constantType"/>
<xs:element name="call" type="callType"/>
<xs:element name="binaryOp" type="binaryOpType"/>
<xs:element name="unaryOp" type="unaryOpType"/>
<xs:element name="comment" type="commentType"/>
</xs:sequence>
<xs:attribute name="operator" type="assignOperatorType"/>
</xs:complexType>
<xs:simpleType name="assignOperatorType">
<xs:restriction base="xs:string">
<xs:enumeration value="="/>
<xs:enumeration value="+="/>
<xs:enumeration value="-="/>
<xs:enumeration value="*="/>
<xs:enumeration value="/="/>
<xs:enumeration value="amp="/>
<xs:enumeration value="|="/>
<xs:enumeration value="^="/>
<xs:enumeration value="%="/>
<xs:enumeration value="left="/>
<xs:enumeration value=">>="/>
<xs:enumeration value=">>>="/>
</xs:restriction>
</xs:simpleType>
type |
name |
type |
enumeration |
"=" |
string |
enumeration |
"+=" |
string |
enumeration |
"-=" |
string |
enumeration |
"*=" |
string |
enumeration |
"/=" |
string |
enumeration |
"&=" |
string |
enumeration |
"|=" |
string |
enumeration |
"^=" |
string |
enumeration |
"%=" |
string |
enumeration |
"<<=" |
string |
enumeration |
">>=" |
string |
enumeration |
">>>=" |
string |
binaryOperator
type |
name |
type |
enumeration |
"||" |
string |
enumeration |
"&&" |
string |
enumeration |
"|" |
string |
enumeration |
"^" |
string |
enumeration |
"&" |
string |
enumeration |
"==" |
string |
enumeration |
"!=" |
string |
enumeration |
"<" |
string |
enumeration |
">" |
string |
enumeration |
"<=" |
string |
enumeration |
">=" |
string |
enumeration |
"<<" |
string |
enumeration |
">>" |
string |
enumeration |
">>>" |
string |
enumeration |
"+" |
string |
enumeration |
"-" |
string |
enumeration |
"*" |
string |
enumeration |
"/" |
string |
enumeration |
"%" |
string |
unaryOperation
<xs:complexType name="unaryOpType">
<xs:sequence maxOccurs="unbounded">
<xs:element name="variable" type="variableType"/>
<xs:element name="array" type="arrayType"/>
<xs:element name="constant" type="constantType"/>
<xs:element name="call" type="callType"/>
<xs:element name="binaryOp" type="binaryOpType"/>
<xs:element name="unaryOp" type="unaryOpType"/>
<xs:element name="comment" type="commentType"/>
</xs:sequence>
<xs:attribute name="type" type="xs:string"/>
<xs:attribute name="operator" type="unaryOperatorType"/>
</xs:complexType>
<xs:simpleType name="unaryOperatorType">
<xs:restriction base="xs:string">
<xs:enumeration value="++"/>
<xs:enumeration value="--"/>
<xs:enumeration value="pre++"/>
<xs:enumeration value="pre--"/>
<xs:enumeration value="!"/>
<xs:enumeration value="~"/>
<xs:enumeration value="+"/>
<xs:enumeration value="-"/>
</xs:restriction>
</xs:simpleType>
type |
name |
type |
enumeration |
"++" |
string |
enumeration |
"--" |
string |
enumeration |
"pre++" |
string |
enumeration |
"pre--" |
string |
enumeration |
"!" |
string |
enumeration |
"~" |
string |
enumeration |
"+" |
string |
enumeration |
"-" |
string |
Call
<xs:complexType name="callType">
<xs:sequence>
<xs:element name="comment" type="commentType"/>
<xs:element name="parameterValueList" type="parameterValueListType"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string"/>
<xs:attribute name="isNew" type="xs:boolean"/>
</xs:complexType>
<xs:complexType name="parameterValueListType">
<xs:sequence>
<xs:element name="comment" type="commentType"/>
<xs:element name="parameterValue" type="parameterValueType"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="parameterValueType">
<xs:sequence>
<xs:element name="variable" type="variableType"/>
<xs:element name="constant" type="constantType"/>
<xs:element name="call" type="callType"/>
<xs:element name="binaryOp" type="binaryOpType"/>
<xs:element name="unaryOp" type="unaryOpType"/>
<xs:element name="comment" type="commentType"/>
</xs:sequence>
</xs:complexType>
Call a method on a class with specified parameters.
type |
name |
type |
element |
classPath |
classPath |
element |
parameterValueList |
parameterValueList |
attribute |
name |
string |
parameterValueList
List of parameters supplied to a method
type |
name |
type |
element |
parameterValue |
parameterValue |
parameterValue
may be constant or calculated value.
type |
name |
type |
element |
partialResult |
partialResult |
typeOperator
cast to specific class type
<xs:complexType name="castType">
<xs:sequence>
<xs:element name="dataType" type="dataType"/>
<xs:element name="variable" type="variableType"/>
<xs:element name="constant" type="constantType"/>
<xs:element name="call" type="callType"/>
<xs:element name="binaryOp" type="binaryOpType"/>
<xs:element name="unaryOp" type="unaryOpType"/>
<xs:element name="comment" type="commentType"/>
</xs:sequence>
</xs:complexType>
type |
name |
type |
element |
dataType
|
dataType |
element |
partialResult |
partialResult |
constant
A constant value such as "2"
<xs:complexType name="constantType">
<xs:attribute name="intConst" type="xs:int"/>
<xs:attribute name="stringValue" type="xs:string"/>
<xs:attribute name="floatValue" type="xs:float"/>
<xs:attribute name="doubleValue" type="xs:double"/>
<xs:attribute name="booleanValue" type="xs:boolean"/>
</xs:complexType>
type |
name |
type |
attribute |
stringvalue |
string |
attribute |
integervalue |
integer |
attribute |
floatvalue |
float |
attribute |
doublevalue |
double |
attribute |
boolvalue |
boolean |
array
array of come type of data.
<xs:complexType name="arrayType">
<xs:sequence>
<xs:element name="dataType" type="dataType"/>
</xs:sequence>
<xs:attribute name="size" type="xs:int"/>
</xs:complexType>
type |
name |
type |
attribute |
size |
integer |
element |
dataType |
dataType |
classPath
class or sequence of classes such as "System.out" which would goto
System then out.
type |
name |
type |
element |
className |
className |
className
name of class, for instance "system"
type |
name |
type |
attribute |
name |
string |
This site may have errors. Don't use for critical systems.