예제 #1
0
  /**
   * This will invoke the <code>startElement</code> callback in the <code>ContentHandler</code>.
   *
   * @param element <code>Element</code> used in callbacks.
   * @param nsAtts <code>List</code> of namespaces to declare with the element or <code>null</code>.
   */
  private void startElement(Element element, Attributes nsAtts) throws JDOMException {
    String namespaceURI = element.getNamespaceURI();
    String localName = element.getName();
    String rawName = element.getQualifiedName();

    // Allocate attribute list.
    AttributesImpl atts = (nsAtts != null) ? new AttributesImpl(nsAtts) : new AttributesImpl();

    List attributes = element.getAttributes();
    Iterator i = attributes.iterator();
    while (i.hasNext()) {
      Attribute a = (Attribute) i.next();
      atts.addAttribute(
          a.getNamespaceURI(),
          a.getName(),
          a.getQualifiedName(),
          getAttributeTypeName(a.getAttributeType()),
          a.getValue());
    }

    try {
      contentHandler.startElement(namespaceURI, localName, rawName, atts);
    } catch (SAXException se) {
      throw new JDOMException("Exception in startElement", se);
    }
  }
예제 #2
0
 /** Return index of the <code>Attribute</code> with the given name and uri. */
 int indexOf(String name, Namespace namespace) {
   String uri = namespace.getURI();
   if (elementData != null) {
     for (int i = 0; i < size; i++) {
       Attribute old = elementData[i];
       String oldURI = old.getNamespaceURI();
       String oldName = old.getName();
       if (oldURI.equals(uri) && oldName.equals(name)) {
         return i;
       }
     }
   }
   return -1;
 }