@Override public void testActual(XdmNode actual) { if (!passed) { logger.trace("Actual:"); if (actual != null) { logger.trace(actual.toString()); } else { logger.trace("null"); } } }
@Override public void testActual(XdmNode actual) { if (!passed) { logger.trace("Actual:"); if (actual != null) { logger.trace(actual.toString()); } else { logger.trace("null"); } } }
@Override public void testExpected(XdmNode expected) { if (!passed) { logger.trace("Expected:"); if (expected != null) { logger.trace(expected.toString()); } else { logger.trace("null"); } } }
@Override public void testExpected(XdmNode expected) { if (!passed) { logger.trace("Expected:"); if (expected != null) { logger.trace(expected.toString()); } else { logger.trace("null"); } } }
private void writeResultsToTempFile(XdmDestination xdmResult) { File temp = null; try { temp = File.createTempFile("SchematronValidator-dump-", ".xml"); BufferedWriter out = new BufferedWriter(new FileWriter(temp)); out.write(xdmResult.getXdmNode().toString()); out.close(); } catch (IOException e) { LOGR.warning(e.getMessage()); } if (temp.exists()) { LOGR.log(Level.FINER, "Dumped Schematron results to {0}", temp.getAbsolutePath()); } }
XdmValue matchList = xPathSelector.evaluate(); XdmItem firstItem = matchList.itemAt(0); if (firstItem instanceof XdmNode) { XdmNode xdmNode = (XdmNode) firstItem; XdmNodeKind nodeKind = xdmNode.getNodeKind(); if (nodeKind == XdmNodeKind.ELEMENT) { return xdmNode.toString(); } } return firstItem.getStringValue();
public void message(XdmNode content, boolean terminate, javax.xml.transform.SourceLocator locator) { if (runtime.getShowMessages()) { System.err.println(content.toString()); } TreeWriter treeWriter = new TreeWriter(runtime); treeWriter.startDocument(content.getBaseURI()); treeWriter.addStartElement(XProcConstants.c_error); treeWriter.startContent(); treeWriter.addSubtree(content); treeWriter.addEndElement(); treeWriter.endDocument(); step.reportError(treeWriter.getResult()); step.info(step.getNode(), content.toString()); } }
public void message(XdmNode content, boolean terminate, SourceLocator locator) { if (runtime.getShowMessages()) { System.err.println(content.toString()); } TreeWriter treeWriter = new TreeWriter(runtime); treeWriter.startDocument(content.getBaseURI()); treeWriter.addStartElement(XProcConstants.c_error); treeWriter.startContent(); treeWriter.addSubtree(content); treeWriter.addEndElement(); treeWriter.endDocument(); step.reportError(treeWriter.getResult()); if (!terminate) step.info(step.getNode(), content.toString()); if (terminate) terminatingMessage = content; }
private boolean nextMatches(XdmNode node) { XdmItem nodeValue = computeGroup(node); if (nodeValue == null) { return false; } XdmSequenceIterator iter = node.axisIterator(Axis.FOLLOWING_SIBLING); while (iter.hasNext()) { XdmNode chk = (XdmNode) iter.next(); boolean skippable = (chk.getNodeKind() == XdmNodeKind.COMMENT || chk.getNodeKind() == XdmNodeKind.PROCESSING_INSTRUCTION); if (chk.getNodeKind() == XdmNodeKind.TEXT) { if ("".equals(chk.toString().trim())) { skippable = true; } } if (matcher.matches(chk)) { XdmItem nextValue = computeGroup(chk); boolean same = S9apiUtils.xpathEqual(runtime.getProcessor(), nodeValue, nextValue); return same; } if (!skippable) { return false; } } return false; }
private boolean nextMatches(XdmNode node) { XdmItem nodeValue = computeGroup(node); if (nodeValue == null) { return false; } XdmSequenceIterator iter = node.axisIterator(Axis.FOLLOWING_SIBLING); while (iter.hasNext()) { XdmNode chk = (XdmNode) iter.next(); boolean skippable = (chk.getNodeKind() == XdmNodeKind.COMMENT || chk.getNodeKind() == XdmNodeKind.PROCESSING_INSTRUCTION); if (chk.getNodeKind() == XdmNodeKind.TEXT) { if ("".equals(chk.toString().trim())) { skippable = true; } } if (matcher.matches(chk)) { XdmItem nextValue = computeGroup(chk); boolean same = S9apiUtils.xpathEqual(runtime.getProcessor(), nodeValue, nextValue); return same; } if (!skippable) { return false; } } return false; }
@Override public Representation getRepresentation(org.restlet.data.Status status, Request request, Response response) { TreeWriter tree = new TreeWriter(globalRuntime); tree.startDocument(URI.create("http://example.com/")); tree.addStartElement(BaseResource.pr_error); tree.startContent(); tree.addStartElement(BaseResource.pr_code); tree.startContent(); tree.addText("" + status.getCode()); tree.addEndElement(); tree.addStartElement(BaseResource.pr_message); tree.startContent(); tree.addText("Bad request: " + exceptionMessage(status.getThrowable())); tree.addEndElement(); tree.addEndElement(); tree.endDocument(); return new StringRepresentation(tree.getResult().toString()); }
@Override public Representation getRepresentation(org.restlet.data.Status status, Request request, Response response) { TreeWriter tree = new TreeWriter(globalRuntime); tree.startDocument(URI.create("http://example.com/")); tree.addStartElement(BaseResource.pr_error); tree.startContent(); tree.addStartElement(BaseResource.pr_code); tree.startContent(); tree.addText("" + status.getCode()); tree.addEndElement(); tree.addStartElement(BaseResource.pr_message); tree.startContent(); tree.addText("Bad request: " + exceptionMessage(status.getThrowable())); tree.addEndElement(); tree.addEndElement(); tree.endDocument(); return new StringRepresentation(tree.getResult().toString()); }
public void close(Result result) throws TransformerException { String href = result.getSystemId(); XdmDestination xdmResult = secondaryResults.get(href); XdmNode doc = xdmResult.getXdmNode(); try { S9apiUtils.assertDocument(doc); secondaryPipe.write(doc); } catch (XProcException e) { // If the document isn't well-formed XML, encode it as text if (runtime.getAllowTextResults()) { // Document is apparently not well-formed XML. TreeWriter tree = new TreeWriter(runtime); tree.startDocument(doc.getBaseURI()); tree.addStartElement(XProcConstants.c_result); tree.addAttribute(_content_type, "text/plain"); tree.addAttribute(cx_decode, "true"); tree.startContent(); tree.addText(doc.toString()); tree.addEndElement(); tree.endDocument(); secondaryPipe.write(tree.getResult()); } else { throw new XProcException(step.getStep(), "p:xslt returned non-XML secondary result", e.getCause()); } } } }
public void close(Result result) throws TransformerException { String href = result.getSystemId(); XdmDestination xdmResult = secondaryResults.get(href); XdmNode doc = xdmResult.getXdmNode(); try { S9apiUtils.assertDocument(doc); secondaryPipe.write(doc); } catch (XProcException e) { // If the document isn't well-formed XML, encode it as text if (runtime.getAllowTextResults()) { // Document is apparently not well-formed XML. TreeWriter tree = new TreeWriter(runtime); tree.startDocument(doc.getBaseURI()); tree.addStartElement(XProcConstants.c_result); tree.addAttribute(_content_type, "text/plain"); tree.addAttribute(cx_decode, "true"); tree.startContent(); tree.addText(doc.toString()); tree.addEndElement(); tree.endDocument(); secondaryPipe.write(tree.getResult()); } else { throw new XProcException(step.getStep(), "p:xslt returned non-XML secondary result", e.getCause()); } } } }
static String getLabel(XdmNode n) { String label = n.getAttributeValue(LABEL_QNAME); if (label == null) { XdmNode value = (XdmNode) n.axisIterator(Axis.CHILD).next(); XdmItem childItem = null; try { childItem = value.axisIterator(Axis.CHILD).next(); } catch (Exception e) { // Not an error } if (childItem == null) { XdmSequenceIterator it = value.axisIterator(Axis.ATTRIBUTE); if (it.hasNext()) { label = it.next().getStringValue(); } else { label = ""; } } else if (childItem.isAtomicValue()) { label = childItem.getStringValue(); } else if (childItem instanceof XdmNode) { XdmNode n2 = (XdmNode) childItem; if (n2.getNodeKind() == XdmNodeKind.ELEMENT) { label = "<" + n2.getNodeName().toString() + ">"; } else { label = n2.toString(); } } } return label; }
@Test public void testPIPELINE() { AxisNodes an = new AxisNodes(null, root, Axis.CHILD, AxisNodes.PIPELINE); XdmNode n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.ELEMENT); assertEquals(n.getNodeName(), new QName("", "p")); n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.ELEMENT); assertEquals(n.getNodeName(), new QName("", "p")); n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.TEXT); assertEquals(n.toString(), " some text "); n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.ELEMENT); assertEquals(n.getNodeName(), new QName("", "p")); assertEquals(an.iterator().hasNext(), false); } }
@Test public void testALL() { AxisNodes an = new AxisNodes(root, Axis.CHILD, AxisNodes.ALL); XdmNode n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.PROCESSING_INSTRUCTION); n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.ELEMENT); assertEquals(n.getNodeName(), new QName("", "p")); n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.TEXT); assertEquals(n.toString(), " "); n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.ELEMENT); assertEquals(n.getNodeName(), new QName("", "p")); n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.TEXT); assertEquals(n.toString(), " some text "); n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.ELEMENT); assertEquals(n.getNodeName(), new QName("", "p")); n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.COMMENT); n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.ELEMENT); assertEquals(n.getNodeName(), new QName("http://www.w3.org/ns/xproc", "documentation")); assertEquals(an.iterator().hasNext(), false); }
@Test public void testSIGNIFICANT() { AxisNodes an = new AxisNodes(root, Axis.CHILD, AxisNodes.SIGNIFICANT); XdmNode n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.ELEMENT); assertEquals(n.getNodeName(), new QName("", "p")); n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.ELEMENT); assertEquals(n.getNodeName(), new QName("", "p")); n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.TEXT); assertEquals(n.toString(), " some text "); n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.ELEMENT); assertEquals(n.getNodeName(), new QName("", "p")); n = an.iterator().next(); assertEquals(n.getNodeKind(), XdmNodeKind.ELEMENT); assertEquals(n.getNodeName(), new QName("http://www.w3.org/ns/xproc", "documentation")); assertEquals(an.iterator().hasNext(), false); }
protected String serialize(XdmNode doc, MediaType type) { XProcRuntime runtime = getGlobalRuntime(); String format = "text"; if (MediaType.TEXT_HTML.equals(type)) { format = "html"; } else if (MediaType.APPLICATION_XML.equals(type)) { format = "xml"; } else if (MediaType.APPLICATION_JSON.equals(type)) { format = "json"; } if (xsl() != null) { XdmDestination result = null; try { XsltCompiler compiler = runtime.getProcessor().newXsltCompiler(); XsltExecutable exec = compiler.compile(xsl().asSource()); XsltTransformer transformer = exec.load(); transformer.setParameter(_format, new XdmAtomicValue(format)); transformer.setInitialContextNode(doc); result = new XdmDestination(); transformer.setDestination(result); transformer.transform(); } catch (SaxonApiException e) { throw new XProcException(e); } doc = result.getXdmNode(); } return doc.toString(); }
protected String serialize(XdmNode doc, MediaType type) { XProcRuntime runtime = getGlobalRuntime(); String format = "text"; if (MediaType.TEXT_HTML.equals(type)) { format = "html"; } else if (MediaType.APPLICATION_XML.equals(type)) { format = "xml"; } else if (MediaType.APPLICATION_JSON.equals(type)) { format = "json"; } if (xsl() != null) { XdmDestination result = null; try { XsltCompiler compiler = runtime.getProcessor().newXsltCompiler(); XsltExecutable exec = compiler.compile(xsl().asSource()); XsltTransformer transformer = exec.load(); transformer.setParameter(_format, new XdmAtomicValue(format)); transformer.setInitialContextNode(doc); result = new XdmDestination(); transformer.setDestination(result); transformer.transform(); } catch (SaxonApiException e) { throw new XProcException(e); } doc = result.getXdmNode(); } return doc.toString(); }