2010-06-24 2 views
0

как я выполняю простой этот XQuery, такие как этотКак установить контекстный документ xquery в java с помощью saxon 9.2he?

for $elem in /root/element() 
return 
    $elem 

на файл XML с помощью Java без использования Fn: док?

я получаю XPDY0002: Контекст элемент для шага оси ребенка элемент :: (XML, хз: anyType) не определен

--the изношенная: Мне нужно простое решение, чтобы загрузить файл XML, нагрузка xquery и процесс

ответ

0

вот самый простой способ, который я нашел для этого, однако я надеялся использовать XQStaticContext для «привязки» контекстного документа к выражению.

XQDataSource ds = new SaxonXQDataSource(); 
XQConnection xqjc = ds.getConnection(); 
XQPreparedExpression xqje = xqjc.prepareExpression(new FileInputStream("xml\\foo.xquery")); 

XMLInputFactory factory = XMLInputFactory.newInstance(); 
XMLStreamReader streamReader = factory.createXMLStreamReader(new FileReader("xml\\foo.xml")); 

xqje.bindDocument(XQConstants.CONTEXT_ITEM,streamReader, xqjc.createDocumentType()); 

XQResultSequence xqjs = xqje.executeQuery(); 

xqjs.writeSequence(System.out, null); 
Смежные вопросы