本文整理汇总了Java中net.sf.saxon.s9api.Axis类的典型用法代码示例。如果您正苦于以下问题:Java Axis类的具体用法?Java Axis怎么用?Java Axis使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Axis类属于net.sf.saxon.s9api包,在下文中一共展示了Axis类的18个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的Java代码示例。
示例1: buildJavaStep
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
private JavaStep buildJavaStep(XdmNode javaNode, HashMap<QName,ParameterValue> parameters) throws InvalidSyntaxException {
LOGGER.trace("buildJavaStep on {}", javaNode.getNodeName());
JavaStep ret = new JavaStep(resolveEscapes(javaNode.getAttributeValue(JavaStep.ATTR_CLASS), parameters));
XdmSequenceIterator it = javaNode.axisIterator(Axis.CHILD, QN_PARAM);
while(it.hasNext()) {
ret.addParameter(buildParameter((XdmNode)it.next(),parameters));
}
return ret;
}
开发者ID:cmarchand,项目名称:gaulois-pipe,代码行数:10,代码来源:ConfigUtil.java
示例2: buildXslt
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
private Xslt buildXslt(XdmNode xsltNode, HashMap<QName,ParameterValue> parameters) throws InvalidSyntaxException {
LOGGER.trace("buildXslt on {}", xsltNode.getNodeName());
Xslt ret = new Xslt(resolveEscapes(xsltNode.getAttributeValue(Xslt.ATTR_HREF),parameters));
if("true".equals(xsltNode.getAttributeValue(Xslt.ATTR_TRACE_ACTIVE))) {
ret.setTraceToAdd(true);
}
if("true".equals(xsltNode.getAttributeValue(Xslt.ATTR_DEBUG))) {
ret.setDebug(true);
ret.setId(xsltNode.getAttributeValue(Xslt.ATTR_ID));
}
XdmSequenceIterator it = xsltNode.axisIterator(Axis.CHILD, QN_PARAM);
while(it.hasNext()) {
ret.addParameter(buildParameter((XdmNode)it.next(),parameters));
}
return ret;
}
开发者ID:cmarchand,项目名称:gaulois-pipe,代码行数:17,代码来源:ConfigUtil.java
示例3: buildFile
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
private CfgFile buildFile(XdmNode node, HashMap<QName,ParameterValue> parameters) throws URISyntaxException, InvalidSyntaxException {
String href = node.getAttributeValue(CfgFile.ATTR_HREF);
LOGGER.trace("buildFile from {} with href={}", node.getNodeName(), href);
File f;
href = resolveEscapes(href, parameters);
if(href.startsWith("file:")) {
f = new File(new URI(href));
} else {
f = new File(href);
if(!f.exists()) {
f = new File(currentDir, href);
}
}
LOGGER.trace("buildFile on {}", f.getName());
CfgFile ret = new CfgFile(f);
XdmSequenceIterator it = node.axisIterator(Axis.CHILD, QN_PARAM);
while(it.hasNext()) {
ret.addParameter(buildParameter((XdmNode)it.next(),parameters));
}
ParameterValue relativeFile = new ParameterValue(ParametersMerger.INPUT_RELATIVE_FILE, f.toURI().toString(), factory.XS_STRING);
ret.addParameter(relativeFile);
ParameterValue relativeDir = new ParameterValue(ParametersMerger.INPUT_RELATIVE_DIR, f.getParentFile().toURI().toString(), factory.XS_STRING);
ret.addParameter(relativeDir);
return ret;
}
开发者ID:cmarchand,项目名称:gaulois-pipe,代码行数:26,代码来源:ConfigUtil.java
示例4: getAssertionValue
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
String getAssertionValue(String text, XdmNode paramsVar) {
if (text.indexOf("$") < 0) {
return text;
}
String newText = text;
XdmNode params = (XdmNode) paramsVar.axisIterator(Axis.CHILD).next();
XdmSequenceIterator it = params.axisIterator(Axis.CHILD);
while (it.hasNext()) {
XdmNode n = (XdmNode) it.next();
QName qname = n.getNodeName();
if (qname != null) {
String tagname = qname.getLocalName();
if (tagname.equals("param")) {
String name = n.getAttributeValue(LOCALNAME_QNAME);
String label = getLabel(n);
newText = StringUtils.replaceAll(newText,
"{$" + name + "}", label);
}
}
}
newText = StringUtils.replaceAll(newText, "{$context}", contextLabel);
return newText;
}
开发者ID:opengeospatial,项目名称:teamengine,代码行数:24,代码来源:TECore.java
示例5: buildTee
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
private Tee buildTee(XdmNode teeNode, HashMap<QName,ParameterValue> parameters) throws InvalidSyntaxException {
LOGGER.trace("buildTee on "+teeNode.getNodeName());
Tee tee = new Tee();
XdmSequenceIterator seq = teeNode.axisIterator(Axis.CHILD,Pipe.QNAME);
while(seq.hasNext()) {
XdmNode node = (XdmNode)seq.next();
Pipe pipe = buildPipe(node, parameters, tee);
tee.addPipe(pipe);
}
return tee;
}
开发者ID:cmarchand,项目名称:gaulois-pipe,代码行数:12,代码来源:ConfigUtil.java
示例6: buildSources
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
private Sources buildSources(XdmNode sourcesNode, HashMap<QName,ParameterValue> parameters) throws InvalidSyntaxException {
String orderBy = sourcesNode.getAttributeValue(Sources.ATTR_ORDERBY);
String sort = sourcesNode.getAttributeValue(Sources.ATTR_SORT);
LOGGER.trace("buildSources from {} with orderBy={} and sort={}", new Object[]{sourcesNode.getNodeName(), orderBy, sort});
Sources sources = new Sources(orderBy, sort);
XdmSequenceIterator it = sourcesNode.axisIterator(Axis.CHILD);
while(it.hasNext()) {
XdmNode node = (XdmNode)it.next();
LOGGER.trace("buildSource from {}", node.getNodeName());
if(CfgFile.QNAME.equals(node.getNodeName())) {
try {
CfgFile localFile = buildFile(node, parameters);
LOGGER.trace("add source {}", localFile);
sources.addFile(localFile);
} catch (URISyntaxException ex) {
LOGGER.error(ex.getMessage(),ex);
throw new InvalidSyntaxException(ex);
}
} else if(CfgFile.QN_FOLDER.equals(node.getNodeName())) {
Collection<CfgFile> files = buildFolderContent(node, parameters);
LOGGER.trace("buildSources from folder contains {} files", files.size());
sources.addFiles(files);
} else if(Listener.QName.equals(node.getNodeName())) {
sources.setListener(buildListener(node, parameters));
}
}
return sources;
}
开发者ID:cmarchand,项目名称:gaulois-pipe,代码行数:29,代码来源:ConfigUtil.java
示例7: buildListener
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
private Listener buildListener(XdmNode listenerNode, HashMap<QName,ParameterValue> parameters) throws InvalidSyntaxException {
String tmp = resolveEscapes(listenerNode.getAttributeValue(Listener.ATTR_PORT),parameters);
int port = Listener.DEFAULT_PORT;
try {
port = Integer.parseInt(tmp);
} catch(NumberFormatException ex) {}
String stopKeyword = resolveEscapes(listenerNode.getAttributeValue(Listener.ATTR_STOP),parameters);
Listener list = new Listener(port, stopKeyword);
XdmSequenceIterator it = listenerNode.axisIterator(Axis.CHILD, JavaStep.QNAME);
if(it.hasNext()) {
list.setJavastep(buildJavaStep((XdmNode)it.next(), parameters));
}
return list;
}
开发者ID:cmarchand,项目名称:gaulois-pipe,代码行数:15,代码来源:ConfigUtil.java
示例8: buildWhen
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
private WhenEntry buildWhen(XdmNode whenNode, HashMap<QName,ParameterValue> parameters) throws InvalidSyntaxException {
String test = whenNode.getAttributeValue(WhenEntry.ATTR_TEST);
// particular case of the otherwise, which is implemented as a when[@test='true()']
if((test==null || test.length()==0) && WhenEntry.QN_OTHERWISE.equals(whenNode.getNodeName()) ) {
test="true()";
}
WhenEntry when = new WhenEntry(test);
XdmSequenceIterator it = whenNode.axisIterator(Axis.CHILD);
while(it.hasNext()) {
XdmItem item = it.next();
if(item instanceof XdmNode) {
XdmNode node = (XdmNode)item;
if(Xslt.QNAME.equals(node.getNodeName())) {
when.addStep(buildXslt(node,parameters));
} else if(JavaStep.QNAME.equals(node.getNodeName())) {
when.addStep(buildJavaStep(node, parameters));
} else if(ChooseStep.QNAME.equals(node.getNodeName())) {
when.addStep(buildChooseStep(node, parameters));
} else if(node.getNodeKind()==XdmNodeKind.TEXT) {
// on ignore
} else if(node.getNodeKind()==XdmNodeKind.COMMENT) {
// on ignore
} else {
throw new InvalidSyntaxException(node.getNodeKind().toString()+" - "+ node.getNodeName()+": unexpected element in "+Pipe.QNAME);
}
}
}
return when;
}
开发者ID:cmarchand,项目名称:gaulois-pipe,代码行数:30,代码来源:ConfigUtil.java
示例9: buildOutput
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
private Output buildOutput(XdmNode node, HashMap<QName,ParameterValue> parameters) throws InvalidSyntaxException {
LOGGER.trace("buildOutput from {}", node.getNodeName());
Output ret = new Output();
// searching for output parameters
XdmSequenceIterator attributes = node.axisIterator(Axis.ATTRIBUTE);
while(attributes.hasNext()) {
XdmNode attr = (XdmNode)attributes.next();
ret.setOutputProperty(attr.getNodeName().getLocalName(), (String)resolveEscapes(attr.getStringValue(),parameters));
}
boolean nullOutput = node.axisIterator(Axis.CHILD, QN_NULL).hasNext();
if(nullOutput) {
ret.setNull(true);
} else {
XdmSequenceIterator consoleIterator = node.axisIterator(Axis.CHILD, Output.QN_CONSOLE);
if(consoleIterator.hasNext()) {
XdmNode console = (XdmNode)consoleIterator.next();
String sConsole = console.getAttributeValue(Output.ATTR_CONSOLE_WHICH);
if(sConsole==null) sConsole = "out";
ret.setConsole(sConsole);
} else {
XdmNode folder = (XdmNode)node.axisIterator(Axis.CHILD, CfgFile.QN_FOLDER).next();
String relative = resolveEscapes(folder.getAttributeValue(new QName("relative")),parameters);
String temp = folder.getAttributeValue(new QName("to"));
String to = resolveEscapes(temp, parameters);
String absolute = resolveEscapes(folder.getAttributeValue(new QName("absolute")), parameters);
if(relative!=null) ret.setRelativePath(relative);
if(to!=null) ret.setRelativeTo(to);
if(absolute!=null) ret.setAbsolute(absolute);
XdmNode filename = (XdmNode)node.axisIterator(Axis.CHILD, new QName(Config.NS,"fileName")).next();
String prefix = resolveEscapes(filename.getAttributeValue(new QName("prefix")),parameters);
String name = resolveEscapes(filename.getAttributeValue(new QName("name")),parameters);
String suffix = resolveEscapes(filename.getAttributeValue(new QName("suffix")), parameters);
if(prefix!=null) ret.setPrefix(prefix);
if(name!=null) ret.setName(name);
if(suffix!=null) ret.setSuffix(suffix);
}
}
return ret;
}
开发者ID:cmarchand,项目名称:gaulois-pipe,代码行数:40,代码来源:ConfigUtil.java
示例10: parseFile
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
private void parseFile(String fileHddCachePath) {
//logger.info("parseFile: " + decodedUrl);
try {
containsUncachableXsltConref = false;
isFileParsed = true; // on failure the value remains true since a reparsing makes no sense.
final XdmNode rootNode = bookCache.getDocumentBuilder().build(source, expandAttributeDefaults);
final XdmSequenceIterator iterator = rootNode.axisIterator(Axis.CHILD);
//logger.info(SaxonNodeWrapper.serializeNode(rootNode.getUnderlyingNode()));
rootElement = null;
while ((iterator.hasNext()) && (rootElement == null)) {
final XdmNode child =(XdmNode)iterator.next();
//logger.info(" node: " + node.getNodeName() + ", " + node.getNodeKind());
if (child.getNodeKind() == XdmNodeKind.ELEMENT) {
rootElement = new SaxonNodeWrapper(child.getUnderlyingNode(), bookCache.getXPathCache());
}
}
if (rootElement != null) {
parseNode(rootElement.getNodeInfo(), this, null);
rootClass = rootElement.getAttribute(DitaUtil.ATTR_CLASS, null);
rootTitle = extractString(rootElement, LINK_TITLE_XSL);
rootName = rootElement.getName();
if ((fileHddCachePath != null) && (isHddCachable())) {
writeHddCache(fileHddCachePath, fileTimestamp);
}
}
} catch(SaxonApiException | TransformerException e) {
logger.error(e, e);
rootElement = null;
}
}
开发者ID:dita-semia,项目名称:dita-semia-resolver,代码行数:38,代码来源:FileCache.java
示例11: createKeyTypeDef
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
public void createKeyTypeDef(XdmNode node, KeyTypeDef parent) {
KeyTypeDef childParent = parent;
//logger.info("nodeName: " + node.getNodeName());
if (node.getNodeName().equals(NAME_KEY_TYPE_DEF)) {
final KeyTypeDef keyTypeDef = KeyTypeDef.fromNode(new SaxonNodeWrapper(node.getUnderlyingNode(), null), parent);
keyTypeDefByName.put(keyTypeDef.getName(), keyTypeDef);
childParent = keyTypeDef;
//logger.info("keyTypeDef: " + keyTypeDef);
}
final XdmSequenceIterator iterator = node.axisIterator(Axis.CHILD, NAME_KEY_TYPE_DEF);
while (iterator.hasNext()) {
createKeyTypeDef((XdmNode)iterator.next(), childParent);
}
}
开发者ID:dita-semia,项目名称:dita-semia-resolver,代码行数:15,代码来源:BookCache.java
示例12: parseKeyTypeDefSource
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
public void parseKeyTypeDefSource(Source source) {
try {
final XdmNode rootNode = documentBuilder.build(source, false);
final XdmSequenceIterator iterator = rootNode.axisIterator(Axis.CHILD, BookCache.NAME_KEY_TYPE_DEF_LIST);
while (iterator.hasNext()) {
createKeyTypeDef((XdmNode)iterator.next(), KeyTypeDef.DEFAULT);
}
} catch (Exception e) {
logger.error("Error parsing KeyTypeDef file '" + FileUtil.decodeUrl(source.getSystemId()) + "':");
logger.error(e, e);
}
}
开发者ID:dita-semia,项目名称:dita-semia-resolver,代码行数:14,代码来源:BookCache.java
示例13: createKeyTypeElement
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
private Sequence createKeyTypeElement(XPathContext context, String keyTypeName) throws XPathException {
final KeyTypeDef keyTypeDef = otResolver.getBookCache().getKeyTypeDef(keyTypeName);
final Processor processor = new Processor(context.getConfiguration());
final DocumentBuilder builder = processor.newDocumentBuilder();
try {
BuildingStreamWriterImpl writer = builder.newBuildingStreamWriter();
writer.writeStartElement(KeyTypeDef.ELEMENT);
writer.writeAttribute(KeyTypeDef.ATTR_NAME, keyTypeDef.getName());
writer.writeAttribute(KeyTypeDef.ATTR_IS_CODE_FONT, Boolean.toString(keyTypeDef.isCodeFont()));
writer.writeAttribute(KeyTypeDef.ATTR_IS_ITALIC_FONT, Boolean.toString(keyTypeDef.isItalicFont()));
writer.writeAttribute(KeyTypeDef.ATTR_PREFIX, keyTypeDef.getPrefix());
writer.writeAttribute(KeyTypeDef.ATTR_SUFFIX, keyTypeDef.getSuffix());
writer.writeAttribute(KeyTypeDef.ATTR_SELECT_PRIORITY, Integer.toString(keyTypeDef.getSelectPriority()));
writer.writeEndElement();
final XdmSequenceIterator iterator = writer.getDocumentNode().axisIterator(Axis.CHILD);
return iterator.next().getUnderlyingValue();
} catch (SaxonApiException | XMLStreamException e) {
logger.error(e, e);
throw new XPathException("Failed to create element: " + e.getMessage());
}
}
开发者ID:dita-semia,项目名称:dita-semia-resolver,代码行数:27,代码来源:GetKeyTypeDefCall.java
示例14: doProcess2
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
@Override
protected boolean doProcess2(Record inputRecord, InputStream stream) throws SaxonApiException, XMLStreamException {
incrementNumRecords();
for (Fragment fragment : fragments) {
Record template = inputRecord.copy();
removeAttachments(template);
XdmNode document = parseXmlDocument(stream);
LOG.trace("XQuery input document: {}", document);
XQueryEvaluator evaluator = fragment.xQueryEvaluator;
evaluator.setContextItem(document);
int i = 0;
for (XdmItem item : evaluator) {
i++;
if (LOG.isTraceEnabled()) {
LOG.trace("XQuery result sequence item #{} is of class: {} with value: {}", new Object[] { i,
item.getUnderlyingValue().getClass().getName(), item });
}
if (item.isAtomicValue()) {
LOG.debug("Ignoring atomic value in result sequence: {}", item);
continue;
}
XdmNode node = (XdmNode) item;
Record outputRecord = template.copy();
boolean isNonEmpty = addRecordValues(node, Axis.SELF, XdmNodeKind.ATTRIBUTE, outputRecord);
isNonEmpty = addRecordValues(node, Axis.ATTRIBUTE, XdmNodeKind.ATTRIBUTE, outputRecord) || isNonEmpty;
isNonEmpty = addRecordValues(node, Axis.CHILD, XdmNodeKind.ELEMENT, outputRecord) || isNonEmpty;
if (isNonEmpty) { // pass record to next command in chain
if (!getChild().process(outputRecord)) {
return false;
}
}
}
}
return true;
}
开发者ID:cloudera,项目名称:cdk,代码行数:37,代码来源:XQueryBuilder.java
示例15: addRecordValues
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
protected boolean addRecordValues(XdmNode node, Axis axis, XdmNodeKind nodeTest, Record record) {
boolean isEmpty = true;
XdmSequenceIterator iter = node.axisIterator(axis);
while (iter.hasNext()) {
XdmNode child = (XdmNode) iter.next();
if (child.getNodeKind() == nodeTest) {
String strValue = child.getStringValue();
if (strValue.length() > 0) {
record.put(child.getNodeName().getLocalName(), strValue);
isEmpty = false;
}
}
}
return !isEmpty;
}
开发者ID:cloudera,项目名称:cdk,代码行数:16,代码来源:XQueryBuilder.java
示例16: getContextFromLog
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
public static XdmNode getContextFromLog(
net.sf.saxon.s9api.DocumentBuilder builder, Document log)
throws Exception {
Element starttest = (Element) log.getElementsByTagName("starttest")
.item(0);
NodeList nl = starttest.getElementsByTagName("context");
if (nl == null || nl.getLength() == 0) {
return null;
} else {
Element context = (Element) nl.item(0);
Element value = (Element) context.getElementsByTagName("value")
.item(0);
nl = value.getChildNodes();
for (int i = 0; i < nl.getLength(); i++) {
Node n = nl.item(i);
if (n.getNodeType() == Node.ATTRIBUTE_NODE) {
String s = DomUtils.serializeNode(value);
XdmNode xn = builder.build(new StreamSource(
new CharArrayReader(s.toCharArray())));
return (XdmNode) xn.axisIterator(Axis.ATTRIBUTE).next();
} else if (n.getNodeType() == Node.ELEMENT_NODE) {
Document doc = DomUtils.createDocument(n);
return builder.build(new DOMSource(doc));
}
}
}
return null;
}
开发者ID:opengeospatial,项目名称:teamengine,代码行数:29,代码来源:LogUtils.java
示例17: getLabel
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
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;
}
开发者ID:opengeospatial,项目名称:teamengine,代码行数:31,代码来源:TECore.java
示例18: call
import net.sf.saxon.s9api.Axis; //导入依赖的package包/类
@Override
public Sequence call(XPathContext context, Sequence[] arguments) throws XPathException {
final Item keyDefItem = arguments[0].head();
if (keyDefItem != null) {
final KeyDefInterface keyDef = DitaSemiaOtResolver.getKeyDefFromItem(keyDefItem);
//logger.info(keyDef + ": " + keyDef.isFilteredKey());
final FilterAttrSet set = keyDef.getKeyFilterAttrSet();
final Map<String, Set<String>> map = (set == null) ? null : set.getMap();
if (map != null) {
final Processor processor = new Processor(context.getConfiguration());
final DocumentBuilder builder = processor.newDocumentBuilder();
try {
BuildingStreamWriterImpl writer = builder.newBuildingStreamWriter();
writer.writeStartElement("Container");
for (Entry<String, Set<String>> entry : map.entrySet()) {
writer.writeAttribute(entry.getKey(), String.join(" ", entry.getValue()));
}
writer.writeEndElement();
XdmSequenceIterator iterator = writer.getDocumentNode().axisIterator(Axis.CHILD);
return ((XdmNode)iterator.next()).getUnderlyingNode();
} catch (SaxonApiException | XMLStreamException e) {
throw new XPathException("Failed to create result-node", e);
}
}
}
return EmptySequence.getInstance();
}
开发者ID:dita-semia,项目名称:dita-semia-resolver,代码行数:32,代码来源:GetKeyFilterAttrCall.java
注:本文中的net.sf.saxon.s9api.Axis类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论