Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

10g XPath 2.0 support?

312365Aug 26 2004 — edited Aug 31 2004
Hi,

I've trawled through the documentation and not found any references to which XPath version Oracle 10g supports. Some simple tests have indicated that the database does not support XPath 2.0 expressions, in particular, it doesn't support the comparison operators on XML schema types such as date and dateTime.

At issue is the ability of Oracle 10g to evaluate an XPath expression such as "/Account[Opened > '2004-01-01']" where the 'Opened' element is an XMLSchema date type.

The Oracle 10g application developer manual (http://download-west.oracle.com/docs/cd/B14117_01/appdev.101/b10790/xdb01int.htm#sthref54) indicates that XPath expressions may be rewritten depending on the storage method (structured v. unstructured). Excellent. Determining the storage method is very easy when looking at a table, but there is no indication in the manual as to which method Oracle uses when querying the Repository, e.g. performing existsNode(..) queries on the resource_view. Not so excellent.

I assume that this determination is made on a resource-by-resource basis, therefore if an xml resource is missing the schemaLocation attribute, Oracle correctly assumes that the document is not schema-based and therefore doesn't perform an query re-writing. If the resource has a schemaLocation and that URL matches one of the registered schemas, then query re-writing may be possible.

The manual goes on to state "In certain cases query-rewrite is not possible ... In this situation Oracle XML DB performs a functional evaluation of the XPath expressions." What does this mean? Does this mean that Oracle uses an XPath query engine to evaluates the XPath expressions? If so, does this XPath engine support XPath 2.0?

Any help and/or insight into this issue would be deeply appreciated.

Comments

807569
The file is just a Java properties file, which you can load and save using the java.util.Properties class.

If you want to change the logging level on the fly (while the program is running), you can do that too with Log4J - look at the API documentation of Log4J, I'm sure it's described in there.
807569
I know it is a Java properties file but I have to change the value at more than one places simultaneously and there are two values seperated by a comma(,), out of which only one I need to change. I would like to know that what is most efficient way of changing it.

The other thing is I know that we can change the log level using log4j on the fly, but that we have to do it programatically not manually based on the input seletedt by the user.
1 - 2
Locked Post
New comments cannot be posted to this locked post.

Post Details

Locked on Sep 28 2004
Added on Aug 26 2004
4 comments
310 views