Dear all,
Please respond with a code snippet for the problem mentioned below.
Thanks in advance,
-Indrajit
On Wed, 14 Feb 2007 Indrajit Bhattacharya wrote :
>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