Exemple #1
0
 public void testGetChildNodes2() {
   MemTreeBuilder builder = new MemTreeBuilder();
   builder.startDocument();
   builder.startElement(new QName("top", null, null), null);
   builder.startElement(new QName("child1", null, null), null);
   builder.endElement();
   builder.startElement(new QName("child2", null, null), null);
   builder.endElement();
   builder.endElement();
   builder.endDocument();
   DocumentImpl doc = builder.getDocument();
   Node top = doc.getFirstChild();
   assertEquals(Node.ELEMENT_NODE, top.getNodeType());
   assertEquals("top", top.getNodeName());
   assertEquals(2, top.getChildNodes().getLength());
 }
Exemple #2
0
  /* (non-Javadoc)
   * @see org.xml.sax.ContentHandler#startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)
   */
  public void startElement(String namespaceURI, String localName, String qName, Attributes atts)
      throws SAXException {
    builder.startElement(namespaceURI, localName, qName, atts);

    if (namespaces != null) {

      for (final Map.Entry<String, String> entry : namespaces.entrySet()) {
        builder.namespaceNode(entry.getKey().toString(), entry.getValue().toString());
      }
    }

    for (int i = 0; i < atts.getLength(); i++) {

      if (atts.getQName(i).startsWith("xmlns")) {
        final String prefix = atts.getLocalName(i);
        final String uri = atts.getValue(i);

        if ((namespaces == null) || !namespaces.containsKey(prefix)) {
          builder.namespaceNode(prefix, uri);
        }
      }
    }
    namespaces = null;
  }
Exemple #3
0
 /* (non-Javadoc)
  * @see org.xml.sax.ContentHandler#ignorableWhitespace(char[], int, int)
  */
 public void ignorableWhitespace(char[] ch, int start, int length) throws SAXException {
   builder.characters(ch, start, length);
 }
Exemple #4
0
 /* (non-Javadoc)
  * @see org.xml.sax.ContentHandler#characters(char[], int, int)
  */
 public void characters(char[] ch, int start, int length) throws SAXException {
   builder.characters(ch, start, length);
 }
Exemple #5
0
 /* (non-Javadoc)
  * @see org.xml.sax.ContentHandler#startDocument()
  */
 public void startDocument() throws SAXException {
   builder.startDocument();
 }
Exemple #6
0
 /* (non-Javadoc)
  * @see org.xml.sax.ContentHandler#endDocument()
  */
 public void endDocument() throws SAXException {
   builder.endDocument();
 }
Exemple #7
0
 public Document getDocument() {
   return (builder.getDocument());
 }
Exemple #8
0
 /* (non-Javadoc)
  * @see org.xml.sax.ext.LexicalHandler#comment(char[], int, int)
  */
 public void comment(char[] ch, int start, int length) throws SAXException {
   builder.comment(ch, start, length);
 }
Exemple #9
0
 /* (non-Javadoc)
  * @see org.xml.sax.ContentHandler#endElement(java.lang.String, java.lang.String, java.lang.String)
  */
 public void endElement(String namespaceURI, String localName, String qName) throws SAXException {
   builder.endElement();
 }
Exemple #10
0
 /* (non-Javadoc)
  * @see org.xml.sax.ContentHandler#processingInstruction(java.lang.String, java.lang.String)
  */
 public void processingInstruction(String target, String data) throws SAXException {
   builder.processingInstruction(target, data);
 }
Exemple #11
0
  @Test
  public void testGetElementsByTagName() {
    MemTreeBuilder builder = new MemTreeBuilder();
    builder.startDocument();
    builder.startElement(new QName("xquery", null, null), null);
    builder.startElement(new QName("builtin-modules", null, null), null);

    AttributesImpl attrs = new AttributesImpl();
    attrs.addAttribute(
        null, "class", "class", "string", "org.exist.xquery.functions.util.UtilModule");
    attrs.addAttribute(null, "uri", "uri", "string", "http://exist-db.org/xquery/util");
    builder.startElement(new QName("module", null, null), attrs);
    builder.endElement();

    attrs = new AttributesImpl();
    attrs.addAttribute(
        null, "class", "class", "string", "org.exist.xquery.functions.request.RequestModule");
    attrs.addAttribute(null, "uri", "uri", "string", "http://exist-db.org/xquery/request");
    builder.startElement(new QName("module", null, null), attrs);

    attrs = new AttributesImpl();
    attrs.addAttribute(null, "name", "name", "string", "stream");
    attrs.addAttribute(null, "value", "value", "string", "true");
    builder.startElement(new QName("parameter", null, null), attrs);
    builder.endElement();

    builder.endElement();

    attrs = new AttributesImpl();
    attrs.addAttribute(
        null, "class", "class", "string", "org.exist.xquery.functions.util.ResponseModule");
    attrs.addAttribute(null, "uri", "uri", "string", "http://exist-db.org/xquery/response");
    builder.startElement(new QName("module", null, null), attrs);
    builder.endElement();

    attrs = new AttributesImpl();
    attrs.addAttribute(
        null, "class", "class", "string", "org.exist.xquery.functions.util.SessionModule");
    attrs.addAttribute(null, "uri", "uri", "string", "http://exist-db.org/xquery/session");
    builder.startElement(new QName("module", null, null), attrs);
    builder.endElement();

    builder.endElement();
    builder.endElement();
    builder.endDocument();

    DocumentImpl doc = builder.getDocument();

    Node nXQuery = doc.getFirstChild();
    assertTrue(nXQuery.getNodeType() == Node.ELEMENT_NODE);
    assertTrue(nXQuery.getLocalName().equals("xquery"));

    Node nBuiltinModules = nXQuery.getFirstChild();
    assertTrue(nBuiltinModules.getNodeType() == Node.ELEMENT_NODE);
    assertTrue(nBuiltinModules.getLocalName().equals("builtin-modules"));

    NodeList nlModules = nBuiltinModules.getChildNodes();
    for (int i = 0; i < nlModules.getLength(); i++) {
      Node nModule = nlModules.item(i);

      assertTrue(nModule.getNodeType() == Node.ELEMENT_NODE);
      assertTrue(nModule.getLocalName().equals("module"));

      Element eModule = (Element) nModule;
      NodeList nlParameter = eModule.getElementsByTagName("parameter");

      if (eModule
          .getAttribute("class")
          .equals("org.exist.xquery.functions.request.RequestModule")) {
        assertEquals(1, nlParameter.getLength());
      } else {
        assertEquals(0, nlParameter.getLength());
      }
    }
  }