Hi Dave and all,
I'm waiting for your reply. Please help me out.
Thanks in advance.
-Indrajit
On Tue, 13 Feb 2007 Indrajit Bhattacharya wrote :
>Dave,
>
>Now I'm doing the following (though its not working. pls. let me know how to
>proceed.):-
>
>The SimpleXPathAPI is evaluating by doing:
>XalanNode* const theContextNode =
> theEvaluator.selectSingleNode(
> theDOMSupport,
> theDocument,
> XalanDOMString(argv[2]).c_str(),
> thePrefixResolver);
>const XObjectPtr theResult(
> theEvaluator.evaluate(
> theDOMSupport,
> theContextNode,
> XalanDOMString(argv[3]).c_str(),
> thePrefixResolver));
>theResult->str() returns the string id('id1').
>
>I have added the following:
>
>string myStr;
>xalanc::XalanVector<char> data1;
>theResult->str().transcode(data1);
>myStr.assign(data1.begin(), data1.end());
>
>const XObjectPtr theResult1(
> theEvaluator.evaluate(
> theDOMSupport,
> theContextNode,
> XalanDOMString(myStr.c_str()).c_str(),
> thePrefixResolver));
>Here I'm passing the context node evaluated before along with the XPath
>expression got from the last evaluation. theResult1->str() is returning blank
>string here.
>
>Could you please tell me the correct way to proceed ? It would be very much
>helpful if you could provide some code snippet as I want to learn Xalan
>programming fast.
>
>Best Regards,
>Indrajit
>
>
>On Mon, 12 Feb 2007 David Bertoni wrote :
> >Indrajit Bhattacharya wrote:
> >>Hi Dave,
> >>
> >>1. I'm using VC7.1.3088 (.Net framework SP1) on Windows XP Professional.
> >
> >Then you shouldn't have any problem building the binaries if you follow the
> >build instructions. I use VS .Net 2003 as my primary development platform.
> >
> >>
> >>2. Here I did not put it correctly. (pls. forgive me as I'm quite new to
> >>XML, Xalan and XPath).
> >>
> >>Pls. see the problem I'm into below:
> >>
> >>I have some XML like:
> >><A>
> >> <B>
> >> <C1 id="id1">1</C1>
> >> <C2 id="id2">2</C2>
> >> </B>
> >> <D id="id('id1')">3</D>
> >></A>
> >>
> >>When I give XPath expression like : /A/D/@id , I need to get value 1. The
> >>value 1 will be coming from the element C1 whose id is "id1".
> >>Please let me know how I can do the same, and how I can get the desired
> >>value using the sample applications with Xalan.
> >
> >The sample XPath applications that ship with Xalan-C would need to be
> >modified to do something like this, although you could do it with a
> >stylesheet and an extension function.
> >
> >>
> >>Currently I'm getting the string output id('id1'). In fact I need to get
> >>value 1 (this corresponds to the value of the element whose id is id1).
> >
> >Since you want to use an XPath expression to select an attribute with
> >another value that should also be evaluated as an XPath expression, you
> >just need to add another evaluation. It should be very straightforward to
> >modify the SimpleXPathAPI sample to do that.
> >
> >Dave