Subjects
Home
Xalan extension functions
Fomatting question serializing DOM with pretty print
xalan with pull parser
Cannot find the declaration
Apache Xalan drop support to run on JRE 1 1 x
Why does Doctype change processing of a document
Node set to XML string via Java extensions in Xalan J: possible?
Templates/Transformers + thread safety???
Problem evaluating xpath with muliple prefix with different namespace
remove an arbitrary attribute from xsl output
Xalan3 XSLT 2 0 XPath 2 0 support?
Problem using compiled translets with Xalan !!
Xalan and jstl 1 1 problem with transform tag
NullPointer in DOM2DTM getLocalName
URIResolvers base parameter with xsltc and cascaded imports
Performance problem for Xalan J on intel dual core
Standard libraries in JAXP?
Serializing a DOM tree to XML file, customize entities replacement
Library Conflict Involving BCEL Library
A question on how users are using <xsl:message >
Kevin Cormier as a new Apache Xalan J committer
Struggling to iterate over tokenized string
Xalan count() trouble
Problem with recursive xpath
Error when switching to java 1 5
document( ' ')
Problem with Xalan2 7 0 transformation
cr/lf options
entity encoded XML
can xalan transform 2 xml using one xslt?
Xalan J JIRA defect review Monday October 16, 2006 from 2:00 to 3:30 pm ED
xsl transform with cdata section elements
xslt parameters not expanded
Weird behavior of XPath evaluate()
How to avoid <xsl:message > instruction prints stylesheet file informations ?
Cannot find SimpleTransform subdirectory after installing Xalan J
recover from document not found exceptions
jdk1 5 and Xalan jar differences?
Performance Issue
Error/Bug adding floating point numbers
XPathAPI: eval exp using nodes with default namespace
modifying xalan to output invalid XML
NullPointerException
mege two separate xml nodes into one
Is this a XALAN document identification bug?
is StylesheetRoot really java io Serializable ?
transform() fails for DOMSource but succeeds for StreamSource
Thoughts on Transformer parameter passing
HELP, Xalan and jstl 1 1 problem with transformer
Problem with XPath namespace axis?
string utils:replace deleting search string if replacement string is an HTML
help with enumeration values pls
xalan 2 5 1 vs 2 7 performance question
How to insert/update in XML document
HTML Serialization and Handling of Ampersands in HREF Attributes
XHTML link tag stripping
SystemId Unknown; Line #24; Column #49; java lang NullPointerException
xpath text() help
Apostrophe problem with xalan 2 7 0
How to set variables in XML document?
Links
Home
Oracle database error code ...
 
Search:  
Power your search with and, or, +, -, or "some phrase" operators.
Need help with ApplyXPathDOM

Need help with ApplyXPathDOM

2003-04-07       - By Susan Barretta
Reply:     1     2     3     4  



There was a problem in my xpath expression.  /foo:doc/name should be
/foo:doc/foo:name ,  however fixing that was not sufficient.

I upgraded to Xalan 2.5 D1, and that helped.  In other words,
ApplyXPathDOM, with NO code modifications, under Xalan 2.5 D1, with the file

<?xml version="1.0"?>
<foo:doc xmlns:foo="http://foo.org">
   <foo:name first="David" last="Marston"/>
   <foo:name first="David" last="Bertoni"/>
   <foo:name first="Donald" last="Leslie"/>
   <foo:name first="Emily" last="Farmer"/>
   <foo:name first="Joseph" last="Kesselman"/>
   <foo:name first="Myriam" last="Midy"/>
   <foo:name first="Paul" last="Dick"/>
   <foo:name first="Stephen" last="Auriemma"/>
   <foo:name first="Scott" last="Boag"/>
   <foo:name first="Shane" last="Curcuru"/>
</foo:doc>

and the invocation  java ApplyXPathDOM fooprefix.xml
/foo:doc/foo:name[@(protected)='David']

WORKS.

But when I tried complicating things a bit, I still get errors.

-- fooprefix.xml --

<?xml version="1.0"?>
<foo:doc xmlns:foo="http://foo.org">
  <in:section name="ls" xmlns:in="http://junky.com">
    <in:index id="crud">
     <ls:names xmlns:ls="http://namesls.org">
      <ls:name first="David" last="Marston"/>
      <ls:name first="David" last="Bertoni"/>
      <ls:name first="Donald" last="Leslie"/>
      <ls:name first="Emily" last="Farmer"/>
      <ls:name first="Joseph" last="Kesselman"/>
      <ls:name first="Myriam" last="Midy"/>
      <ls:name first="Paul" last="Dick"/>
      <ls:name first="Stephen" last="Auriemma"/>
      <ls:name first="Scott" last="Boag"/>
      <ls:name first="Shane" last="Curcuru"/>
     </ls:names>
    </in:index>
  </in:section>
</foo:doc>

Now when I try running:

    java ApplyXPathDOM fooprefix.xml /foo:doc/in:section[@(protected)='ls']

I still get

Exception in thread "main" org.w3c.dom.DOMException: Prefix must resolve to
a namespace: in
        at
org.apache.xpath.domapi.XPathEvaluatorImpl.createExpression(XPathEval
uatorImpl.java:210)

ONE way to get around this is to put all my namespace xmlns attributes into
the top node - then it runs through.

We are not too happy with this solution either!

And more strange things:

-- The DOMException from the xpath expression below says: Prefix must
resolve to namespace: in

/foo:doc/in:section[@(protected)="ls"]

-- I thought maybe I should put in a predicate in for the namespace, so I
tried a few possibilities:

/foo:doc/in:section[@(protected)='ls'][@(protected):in='http://junky.com']

and still get the same error.

I tried moving the xmlns:in predicate "up" to foo:doc, like this:
/foo:doc[@(protected):in="http://junky.com"]/in:section[@(protected)='ls']

When there are single quotes around http://junky.com,
I get the same error about the namespace : in , but when I put double
quotes around http://junky.com , I get

Exception in thread "main" org.w3c.dom.DOMException: Prefix must resolve to
a namespace: http

which I thought was really strange.

So what is the correct way to xpath through namespaces?

Thanks for helping!

-- Susan