I can answer in more detail later but for now take a look at xread. xread parses text XML and produces an in memory XML document.
ml:get ... -t | xread x Now x is an XML doc and you can do echo <[ $x//elem ]> Sent from my iPad (excuse the terseness) David A Lee [email protected]<mailto:[email protected]> 812-630-7622 On Apr 11, 2013, at 8:52 AM, "Nick Raphael" <[email protected]<mailto:[email protected]>> wrote: xmlsh: 1.2.2 ml-xcc: 5.0.1 ml server: 5.0.3 java: 1.7.0_07 os x: 10.7.5 I have an xmlsh function that wraps an ML query. The ML query imports some (xquery) library modules, then calls an xquery function. The xmlsh function wraps ml:query -t -q "....$1" So far, so good. my-func myfile.xml works like a charm I used the -t option in my query because myfile.xml includes a DOCTYPE declaration which xmlsh complains about, and is irrelevant to me at this point. But I would like the XML as XML and run an xpath on it So, I do a variety of things that don't work, but this works: a=$(my-func myfile.xml |grep -v DOCTYPE) b=<[$a]> echo $b |xpath //my-tag However, this does not work: xpath //my-tag <[ $(my-func myfile.xml |grep -v DOCTYPE) ]> I get this error message, and then it hangs [stdin line: 23] Error expanding xml expression Then, with ^?, I get: stdin line: 24] Exception running: xpath org.xmlsh.core.CoreException: net.sf.saxon.s9api.SaxonApiException: org.xml.sax.SAXParseException; lineNumber: 2; columnNumber: 1; Content is not allowed in prolog. Nor, retreating to a less terse approach, does this work: xpath //xref <[ $a ]> which hangs. Not sure if there is a time-out, but for once, I got the following error message (usually, I have to control-c out of the shell. Actually, it seems like ^? gets me out gracefully with the error message). [stdin line: 25] Exception running: xpath org.xmlsh.core.CoreException: net.sf.saxon.s9api.SaxonApiException: org.xml.sax.SAXParseException; lineNumber: 1; columnNumber: 1; Content is not allowed in prolog. So, a few questions: What am I doing wrong? What in the documentation have I not grasped that would have steered me away from these errors? Are there some remarks from a global perspective in the documentation that would have helped avoid the traps I fell into. Here's another issue: Functions that I define do not seem able to invoke defined functions, even if their declaration precedes their nested invocation. That, and the errors I am encountering, suggest to me that there is some limit on the recursive evaluation of the expressions you receive. Thank you for any assistance you could offer, and thank you for xmlsh. -- Nicholas Raphael [email protected]<mailto:[email protected]> Software Development Manager Senior Software Architect _______________________________________________ General mailing list [email protected]<mailto:[email protected]> http://developer.marklogic.com/mailman/listinfo/general
_______________________________________________ General mailing list [email protected] http://developer.marklogic.com/mailman/listinfo/general
