On Thu, Feb 08, 2007 at 09:56:27AM +0100, Jens Teubner wrote:
> On Mon, Feb 05, 2007 at 09:08:59PM +0100, Martijn Faassen wrote:
>
> > First, I was testing the xquery support. I tried to shred a document
> > like this:
> >
> > shred_doc('/home/faassen/xml/shaks/hamlet.xml', 'hamlet')
>
> shred_doc() is actually a deprecated interface to MonetDB/XQuery's
> document management. In the meantime we integrated document management
> into the query language itself, so you will no longer need to work with
> MIL for the document management and XQuery for the queries.
>
> The recommended way to load documents into MonetDB/XQuery is now the
> (XQuery) function pf:add-doc():
>
> pf:add-doc (URI, alias) -> load document from URI and store it under
> the name alias (similar to shred_doc())
>
> pf:add-doc (URI, alias, coll) -> same, but add document to the
> collection coll
>
> pf:add-doc (URI, alias, pct) -> leave pct % free space for future
> updates
>
> The latter two variants can have performance advantages depending on
> your scenario.
>
> Note that if you want to use shred_doc() in MIL, you need to specify
> both arguments as MIL strings, i.e., in double quotes.
>
> > doc('/home/faassen/xml/shaks/hamlet.xml')//FM
> >
> > and this gets a step further (still wondering why the former didn't
> > work, though):
> >
> > MAPI = [EMAIL PROTECTED]:50000
> > QUERY = doc('/home/faassen/xml/shaks/hamlet.xml')//FM
> > ERROR = !ERROR: I/O warning : failed to load external entity "play.dtd"
> > !ERROR: [shred_url]: 1 times inserted nil due to errors at
> > [...]
> >
> > The play.dtd is in the directory next to 'hamlet.xml', so don't know why
> > that doesn't work either.
>
> Sorry, I currently don't know what could have gone wrong here. Anyone
> else on the list can give an answer?
Would it be possible that it is required to specify the absolute
path/URI of "play.dtd" in hamlet.xml, iso. only the file name?
Jennie
>
> MonetDB/XQuery, by the way, uses DTDs to know about ID and IDREF
> attributes. The id() and idref() functions will only be supported if ID
> and IDREF attributes have been declared in the DTD. (Also, an
> additional index will be created to efficiently back id() and idref().)
>
> > Next, I was trying out the xquery update support. Not hindered by any
> > knowledge on how it works, I went to the referenced W3C document and
> > adapted the first insert statement I saw there into this:
> >
> > do insert <year>2005</year>
> > after fn:doc('/home/faassen/xml/shaks/hamlet2.xml')/PLAY/TITLE
> >
> > This however gives me an error message I do not understand:
> >
> > MAPI = [EMAIL PROTECTED]:50000
> > QUERY = do insert <year>2005</year>
> > after fn:doc('/home/faassen/xml/shaks/hamlet2.xml')/PLAY/TITLE
> > ERROR = !type error: no variant of function upd:insertAfter accepts the
> > given argument type(s): element TITLE { item* }*; (node* | node)*
> > !type error: maybe you meant:
> > !type error: upd:insertAfter (node, node*) as stmt
> > !type error: illegal arguments for function upd:insertAfter
>
> The problem is that the expression `fn:doc(...)/PLAY/TITLE' could
> evaluate to a list of nodes. The `do insert ... after ...' clause,
> however, is only allowed for single nodes as the target expression.
>
> The Pathfinder XQuery compiler does static type checking. And if your
> query is not type-safe it will be rejected. If you are sure that your
> path evaluates to exactly one node, you can tell that to the compiler
> and it will (at least it should ;-)) accept your query:
>
> do insert ... after exactly-one (fn:doc (...)/PLAY/TITLE)
>
> Other way to make sure that the target expression evaluates to exactly
> one node include
>
> for $n in fn:doc (...)/PLAY/TITLE return
> do insert ... after $n
>
> I hope I could help you a bit. Don't hesitate to ask again.
>
> Jens
>
> --
> Jens Teubner
> Technische Universitaet Muenchen, Department of Informatics
> D-85748 Garching, Germany
> Tel: +49 89 289-17259 Fax: +49 89 289-17263
>
> XQuery processing at the speed of light: MonetDB/XQuery
> http://www.monetdb-xquery.org/ http://www.pathfinder-xquery.org/
>
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier.
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Monetdb-developers mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/monetdb-developers
-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier.
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Monetdb-developers mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-developers