Class ElementDeclaration

  • All Implemented Interfaces:
    EventListener, IGProp<GProp<?>[]>, IPropCnr, java.lang.Cloneable
    Direct Known Subclasses:
    EditorElementDeclaration

    public class ElementDeclaration
    extends SchemaComponent
    The element declaration property.

    Parent elements: schema, choice, all, sequence, groupThe Element Schema property container.

    Syntax:

     [element
     id=ID
     name=NCName
     ref=QName
     type=QName
     substitutionGroup=QName
     default=string
     fixed=string
     form=qualified|unqualified
     maxOccurs=nonNegativeInteger|unbounded
     minOccurs=nonNegativeInteger
     nillable=true|false
     abstract=true|false
     block=(#all|list of (extension|restriction))
     final=(#all|list of (extension|restriction))
     any attributes
     ]
     
     annotation?,(simpleType|complexType)?,(unique|key|keyref)*
     
     [/element]
     
    (The ? sign declares that the element can occur zero or one time, and the * sign declares that the element can occur zero or more times inside the element element).

    Attribute description (all these attributes are optional):

     id                 a unique ID for the element.
    
     name               a name for the element. This attribute is required if the parent element is the schema element.
    
     ref                the name of another element. The ref attribute can include a namespace prefix. This attribute
                        cannot be used if the parent element is the schema element.
    
     type               either the name of a built-in data type, or the name of a simpleType or complexType element.
    
     substitutionGroup  the name of an element that can be substituted with this element. This attribute cannot be used
                        if the parent element is not the schema element.
    
     default            a default value for the element (can only be used if the element's content is a simple type or text only).
    
     fixed              a fixed value for the element (can only be used if the element's content is a simple type or text only).
    
     form               the form for the element. "unqualified" indicates that this element is not required to be qualified
                        with the namespace prefix. "qualified" indicates that this element must be qualified with the
                        namespace prefix. The default value is the value of the elementFormDefault attribute of the schema
                        element. This attribute cannot be used if the parent element is the schema element.
    
     maxOccurs          the maximum number of times this element can occur in the parent element. The value can be any
                        number >= 0, or if you want to set no limit on the maximum number, use the value "unbounded".
                        Default value is 1. This attribute cannot be used if the parent element is the schema element.
    
     minOccurs          the minimum number of times this element can occur in the parent element. The value can be any
                        number >= 0. Default value is 1. This attribute cannot be used if the parent element is the
                        schema element.
    
     nillable           whether an explicit null value can be assigned to the element. True enables an instance of the
                        element to have the null attribute set to true. The null attribute is defined as part of the XML
                        Schema namespace for instances. Default is false.
    
     abstract           whether the element can be used in an instance document. True indicates that the element cannot
                        appear in the instance document. Instead, another element whose substitutionGroup attribute contains
                        the qualified name (QName) of this element must appear in this element's place. Default is false.
     
    Author:
    Christopher Mindus
    • Constructor Detail

      • ElementDeclaration

        public ElementDeclaration()
        Creates a new unnamed Element schema property.
      • ElementDeclaration

        public ElementDeclaration​(Atom atom)
        Creates a new named Element schema property.
        Parameters:
        atom - The name.
    • Method Detail

      • getDefault

        public java.lang.String getDefault()
        Gets a default value for the element (can only be used if the element's content is a simple type or text only).
        Returns:
        The default value, or null for none.
      • getFixed

        public java.lang.String getFixed()
        Gets the fixed value for the element (can only be used if the element's content is a simple type or text only).
        Returns:
        The fixed value, or null for none.
      • mustBeQualified

        public boolean mustBeQualified()
        Checks if the form is qualified or unqualified.

        "unqualified" indicates that this element is not required to be qualified with the namespace prefix.

        "qualified" indicates that this element must be qualified with the namespace prefix. The default value is the value of the elementFormDefault attribute of the schema element. This attribute cannot be used if the parent element is the schema element.

        Returns:
        true if qualified tag is present.
      • getMaxOccurs

        public int getMaxOccurs()
        Gets the maximum number of times this element can occur in the parent element. The value can be any number >= 0, or if you want to set no limit on the maximum number, use the value "unbounded". Default value is 1. This attribute cannot be used if the parent element is the schema element.
        Returns:
        -1 if "unbounded", otherwise the maximum occurrence value, default 1.
      • getMinOccurs

        public int getMinOccurs()
        Gets the minimum number of times this element can occur in the parent element. The value can be any number >= 0. Default value is 1. This attribute cannot be used if the parent element is the schema element.
        Returns:
        The min-occurs value, default 1.
      • isNillable

        public boolean isNillable()
        Get whether an explicit null value can be assigned to the element. True enables an instance of the element to have the null attribute set to true. The null attribute is defined as part of the XML Schema namespace for instances.
        Returns:
        Nullable flag, default is false.
      • isAbstract

        public boolean isAbstract()
        Gets whether the complex type can be used in an instance document. True indicates that an element cannot use this complex type directly but must use a complex type derived from this complex type.
        Returns:
        Abstract flag, default is false.
      • buildMessage

        public void buildMessage​(IMessageBuilder messageBuilder,
                                 javax.xml.soap.SOAPElement parent,
                                 javax.xml.soap.SOAPElement current,
                                 boolean isProduction)
                          throws PropException,
                                 javax.xml.soap.SOAPException
        Builds the SOAP message to send it.
        Specified by:
        buildMessage in class SchemaComponent
        Parameters:
        messageBuilder - The message builder.
        parent - The parent element.
        current - The current element, null if not already created.
        isProduction - Flag indicating the data is "production data" as opposed to sample/template.
        Throws:
        PropException - For build error of a property.
        javax.xml.soap.SOAPException - For SOAP errors.