Exemplo n.º 1
0
  /**
   * Signals to end of the element with the given name.
   *
   * @param name the NCName of the element. It is an error if the name is a QName (ie. contains a
   *     prefix).
   * @param namespace the namespace of the element.
   */
  public void endElement(String name, String namespace) throws XMLException {

    // -- Do delagation if necessary
    if ((unmarshaller != null) && (depth > 0)) {
      unmarshaller.endElement(name, namespace);
      --depth;
      return;
    }

    // -- call unmarshaller finish to perform any necessary cleanup
    unmarshaller.finish();

    if (SchemaNames.ANNOTATION.equals(name)) {
      Annotation ann = (Annotation) unmarshaller.getObject();
      _attribute.addAnnotation(ann);
    } else if (SchemaNames.SIMPLE_TYPE.equals(name)) {
      SimpleType simpleType = ((SimpleTypeUnmarshaller) unmarshaller).getSimpleType();
      _attribute.setSimpleType(simpleType);
    }

    unmarshaller = null;
  } // -- endElement