Class 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 Detail

      • XSElementBinding

        public XSElementBinding()
    • Method Detail

      • getTarget

        public QName getTarget()
        Returns:
        The qualified name of the target for the binding.
      • 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.