Class XSElementBinding

Object
AbstractComplexBinding
XSElementBinding
All Implemented Interfaces:
Binding, ComplexBinding

public class XSElementBinding extends AbstractComplexBinding
Binding object for the type http://www.w3.org/2001/XMLSchema:element.

         
  <xs:complexType name="element" abstract="true">
      <xs:annotation>
          <xs:documentation>    The element element can be used either
              at the top level to define an element-type binding globally,
              or within a content model to either reference a
              globally-defined    element or type or declare an
              element-type binding locally.    The ref form is not allowed
              at the top level.</xs:documentation>
      </xs:annotation>
      <xs:complexContent>
          <xs:extension base="xs:annotated">
              <xs:sequence>
                  <xs:choice minOccurs="0">
                      <xs:element name="simpleType" type="xs:localSimpleType"/>
                      <xs:element name="complexType" type="xs:localComplexType"/>
                  </xs:choice>
                  <xs:group ref="xs:identityConstraint" minOccurs="0" maxOccurs="unbounded"/>
              </xs:sequence>
              <xs:attributeGroup ref="xs:defRef"/>
              <xs:attribute name="type" type="xs:QName"/>
              <xs:attribute name="substitutionGroup" type="xs:QName"/>
              <xs:attributeGroup ref="xs:occurs"/>
              <xs:attribute name="default" type="xs:string"/>
              <xs:attribute name="fixed" type="xs:string"/>
              <xs:attribute name="nillable" type="xs:boolean"
                  use="optional" default="false"/>
              <xs:attribute name="abstract" type="xs:boolean"
                  use="optional" default="false"/>
              <xs:attribute name="final" type="xs:derivationSet"/>
              <xs:attribute name="block" type="xs:blockSet"/>
              <xs:attribute name="form" type="xs:formChoice"/>
          </xs:extension>
      </xs:complexContent>
  </xs:complexType>

          
         
  • Constructor Details

    • XSElementBinding

      public XSElementBinding()
  • Method Details

    • getTarget

      public QName getTarget()
      Returns:
      The qualified name of the target for the binding.
    • getExecutionMode

      public int getExecutionMode()
      Specified by:
      getExecutionMode in interface Binding
      Overrides:
      getExecutionMode in class AbstractComplexBinding
      Returns:
      The execution mode of the binding, one of the constants AFTER, BEFORE, or OVERRIDE.
      See Also:
    • getType

      public Class getType()
      Returns:
      The java type this binding maps to.
    • initialize

      public void initialize(ElementInstance instance, Node node, MutablePicoContainer context)
      Specified by:
      initialize in interface ComplexBinding
      Overrides:
      initialize in class AbstractComplexBinding
      Parameters:
      instance - The element being parsed.
      node - The node in the parse tree representing the element being parsed. It is important to note that at the time this method is called the node contains no child element nodes, only child attribute nodes.
      context - The container to be used as context for child binding.
    • parse

      public Object parse(ElementInstance instance, Node node, Object value) throws Exception
      Specified by:
      parse in interface ComplexBinding
      Overrides:
      parse in class AbstractComplexBinding
      Parameters:
      instance - The element being parsed.
      node - The node in the parse tree representing the element being parsed.
      value - The result of the parse from another strategy in the type hierarchy. Could be null if this is the first strategy being executed.
      Returns:
      The parsed object, or null if the component could not be parsed.
      Throws:
      Exception - Strategy objects should not attempt to handle any exceptions.