Search in sources :

Example 36 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class DocumentCreater method createWithoutNamespace.

/**
 * Create simple test document containing all supported node kinds, but ignoring their namespace
 * prefixes.
 *
 * @param wtx {@link XdmNodeWriteTrx} to write to
 * @throws SirixException if anything went wrong
 */
public static void createWithoutNamespace(final XdmNodeWriteTrx wtx) throws SirixException {
    assertNotNull(wtx);
    wtx.moveToDocumentRoot();
    wtx.insertElementAsFirstChild(new QNm("a"));
    wtx.insertAttribute(new QNm("i"), "j");
    wtx.moveToParent();
    wtx.insertTextAsFirstChild("oops1");
    wtx.insertElementAsRightSibling(new QNm("b"));
    wtx.insertTextAsFirstChild("foo");
    wtx.insertElementAsRightSibling(new QNm("c"));
    wtx.moveToParent();
    wtx.insertTextAsRightSibling("oops2");
    wtx.insertElementAsRightSibling(new QNm("b"));
    wtx.insertAttribute(new QNm("x"), "y");
    wtx.moveToParent();
    wtx.insertElementAsFirstChild(new QNm("c"));
    wtx.insertTextAsRightSibling("bar");
    wtx.moveToParent();
    wtx.insertTextAsRightSibling("oops3");
    wtx.moveToDocumentRoot();
}
Also used : QNm(org.brackit.xquery.atomic.QNm)

Example 37 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class DocumentCreater method createRevisioned.

/**
 * Create revisioned document.
 *
 * @throws SirixException if shredding fails
 * @throws XMLStreamException if StAX reader couldn't be created
 * @throws IOException if reading XML string fails
 */
public static void createRevisioned(final Database database) throws SirixException, IOException, XMLStreamException {
    try (final XdmNodeWriteTrx firstWtx = database.getResourceManager(new ResourceManagerConfiguration.Builder(TestHelper.RESOURCE).build()).beginNodeWriteTrx()) {
        final XMLShredder shredder = new XMLShredder.Builder(firstWtx, XMLShredder.createStringReader(REVXML), Insert.ASFIRSTCHILD).commitAfterwards().build();
        shredder.call();
    }
    try (final XdmNodeWriteTrx secondWtx = database.getResourceManager(new ResourceManagerConfiguration.Builder(TestHelper.RESOURCE).build()).beginNodeWriteTrx()) {
        secondWtx.moveToFirstChild();
        secondWtx.moveToFirstChild();
        secondWtx.moveToFirstChild();
        secondWtx.setValue("A Contrived Test Document");
        secondWtx.moveToParent();
        secondWtx.moveToRightSibling();
        secondWtx.moveToRightSibling();
        secondWtx.moveToFirstChild();
        secondWtx.moveToRightSibling();
        final long key = secondWtx.getNodeKey();
        secondWtx.insertAttribute(new QNm("role"), "bold");
        secondWtx.moveTo(key);
        secondWtx.moveToRightSibling();
        secondWtx.setValue("changed in it.");
        secondWtx.moveToParent();
        secondWtx.insertElementAsRightSibling(new QNm("para"));
        secondWtx.insertTextAsFirstChild("This is a new para 2b.");
        secondWtx.moveToParent();
        secondWtx.moveToRightSibling();
        secondWtx.moveToRightSibling();
        secondWtx.moveToFirstChild();
        secondWtx.setValue("This is a different para 4.");
        secondWtx.moveToParent();
        secondWtx.insertElementAsRightSibling(new QNm("para"));
        secondWtx.insertTextAsFirstChild("This is a new para 4b.");
        secondWtx.moveToParent();
        secondWtx.moveToRightSibling();
        secondWtx.moveToRightSibling();
        secondWtx.remove();
        secondWtx.remove();
        secondWtx.commit();
        secondWtx.moveToDocumentRoot();
        secondWtx.moveToFirstChild();
        secondWtx.moveToFirstChild();
        secondWtx.remove();
        secondWtx.commit();
    }
}
Also used : XdmNodeWriteTrx(org.sirix.api.XdmNodeWriteTrx) QNm(org.brackit.xquery.atomic.QNm) ResourceManagerConfiguration(org.sirix.access.conf.ResourceManagerConfiguration) XMLShredder(org.sirix.service.xml.shredder.XMLShredder)

Example 38 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class DocumentCreater method createVersioned.

/**
 * Create simple revision test in current database.
 *
 * @param wtx {@link XdmNodeWriteTrx} to write to
 * @throws SirixException if anything went wrong
 */
public static void createVersioned(final XdmNodeWriteTrx wtx) throws SirixException {
    assertNotNull(wtx);
    create(wtx);
    wtx.commit();
    for (int i = 0; i <= 1; i++) {
        wtx.moveToDocumentRoot();
        wtx.moveToFirstChild();
        wtx.insertElementAsFirstChild(new QNm("ns", "p", "a"));
        wtx.insertTextAsFirstChild("OOPS4!");
        wtx.commit();
    }
}
Also used : QNm(org.brackit.xquery.atomic.QNm)

Example 39 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class DocumentCreater method create.

/**
 * Create simple test document containing all supported node kinds except comment- and processing
 * instructions.
 *
 * @param wtx {@link XdmNodeWriteTrx} to write to
 * @throws SirixException if anything weird happens
 */
public static void create(final XdmNodeWriteTrx wtx) throws SirixException {
    assertNotNull(wtx);
    assertTrue(wtx.moveToDocumentRoot().hasMoved());
    wtx.insertElementAsFirstChild(new QNm("ns", "p", "a"));
    wtx.insertNamespace(new QNm("ns", "p", ""));
    assertTrue(wtx.moveToParent().hasMoved());
    wtx.insertAttribute(new QNm("i"), "j");
    assertTrue(wtx.moveToParent().hasMoved());
    wtx.insertTextAsFirstChild("oops1");
    wtx.insertElementAsRightSibling(new QNm("b"));
    wtx.insertTextAsFirstChild("foo");
    wtx.insertElementAsRightSibling(new QNm("c"));
    assertTrue(wtx.moveToParent().hasMoved());
    wtx.insertTextAsRightSibling("oops2");
    wtx.insertElementAsRightSibling(new QNm("b"));
    wtx.insertAttribute(new QNm("ns", "p", "x"), "y");
    assertTrue(wtx.moveToParent().hasMoved());
    wtx.insertElementAsFirstChild(new QNm("c"));
    wtx.insertTextAsRightSibling("bar");
    assertTrue(wtx.moveToParent().hasMoved());
    wtx.insertTextAsRightSibling("oops3");
    wtx.moveToDocumentRoot();
}
Also used : QNm(org.brackit.xquery.atomic.QNm)

Example 40 with QNm

use of org.brackit.xquery.atomic.QNm in project sirix by sirixdb.

the class DocumentCreater method createCommentPI.

/**
 * Create simple test document containing all supported node kinds.
 *
 * @param wtx {@link XdmNodeWriteTrx} to write to
 * @throws SirixException if anything weird happens
 */
public static void createCommentPI(final XdmNodeWriteTrx wtx) throws SirixException {
    assertNotNull(wtx);
    assertTrue(wtx.moveToDocumentRoot().hasMoved());
    wtx.insertElementAsFirstChild(new QNm("ns", "p", "a"));
    wtx.insertNamespace(new QNm("ns", "p", "xmlns"));
    assertTrue(wtx.moveToParent().hasMoved());
    wtx.insertAttribute(new QNm("i"), "j");
    assertTrue(wtx.moveToParent().hasMoved());
    wtx.insertCommentAsFirstChild("foo");
    wtx.insertTextAsRightSibling("oops1");
    wtx.insertElementAsRightSibling(new QNm("b"));
    wtx.insertTextAsFirstChild("foo");
    wtx.insertElementAsRightSibling(new QNm("c"));
    assertTrue(wtx.moveToParent().hasMoved());
    assertEquals(2l, wtx.getDescendantCount());
    wtx.insertPIAsRightSibling("bar", "baz=\"foo\"");
    wtx.insertTextAsRightSibling("oops2");
    wtx.insertElementAsRightSibling(new QNm("b"));
    wtx.insertAttribute(new QNm("ns", "p", "x"), "y");
    assertTrue(wtx.moveToParent().hasMoved());
    wtx.insertElementAsFirstChild(new QNm("c"));
    wtx.insertTextAsRightSibling("bar");
    assertTrue(wtx.moveToParent().hasMoved());
    wtx.insertTextAsRightSibling("oops3");
    wtx.moveToDocumentRoot();
}
Also used : QNm(org.brackit.xquery.atomic.QNm)

Aggregations

QNm (org.brackit.xquery.atomic.QNm)89 XdmNodeReadTrx (org.sirix.api.XdmNodeReadTrx)20 Test (org.junit.Test)18 QueryException (org.brackit.xquery.QueryException)15 XdmNodeWriteTrx (org.sirix.api.XdmNodeWriteTrx)15 DBNode (org.sirix.xquery.node.DBNode)12 QName (javax.xml.namespace.QName)11 PathSummaryReader (org.sirix.index.path.summary.PathSummaryReader)11 IndexController (org.sirix.access.IndexController)10 IndexDef (org.sirix.index.IndexDef)10 Item (org.brackit.xquery.xdm.Item)7 Axis (org.sirix.api.Axis)7 DescendantAxis (org.sirix.axis.DescendantAxis)7 SirixException (org.sirix.exception.SirixException)7 Attribute (javax.xml.stream.events.Attribute)5 Namespace (javax.xml.stream.events.Namespace)5 DocumentException (org.brackit.xquery.xdm.DocumentException)5 SirixIOException (org.sirix.exception.SirixIOException)5 Ignore (org.junit.Ignore)4 SirixUsageException (org.sirix.exception.SirixUsageException)4