Thanks all!
I'll look for Pathan.

CU
Joerg

> -----Urspr�ngliche Nachricht-----
> Von: Alberto Massari [mailto:[EMAIL PROTECTED] 
> Gesendet: Mittwoch, 18. Februar 2004 12:40
> An: [EMAIL PROTECTED]
> Betreff: Re: DOMXPathEvaluator and DOMException Code 9
> 
> 
> In the current version, Xerces only defines the interface to 
> access an 
> XPath engine, but it doesn't provide one; an free 
> implementation for such 
> engine is Pathan 1.2, available from Decisionsoft Ltd 
> (http://software.decisionsoft.com/)
> 
> Alberto
> 
> At 12.13 18/02/2004 +0100, Joerg Toellner wrote:
> >Hi Group,
> >
> >i now tried the first time the new (since Xerces 2.4.0 i 
> think) XPath 
> >Interface. But with no big success :-(. I can't find a 
> sample or figure 
> >out what i'm doing wrong. So i kindly ask for your help. 
> Other Xerces 
> >DOM stuff works like charm (i parse this XML-Document and 
> change some 
> >elements/attributes a.s.o.). I am using Microsoft Visual 
> Studio 6.0 and 
> >Xerces 2.4.0. Windows-binaries package from xml.apache site.
> >
> >The Problem:
> >------------
> >
> >I have to get some (selected, wide spread over the whole XML-File) 
> >attribute-values from within a bigger XML file. So i think a 
> XPath is 
> >the best for that, isn't it? I wrote a little Testsnippet to try it 
> >out. Here is what i've done so far:
> >
> >--------------------SNIP-----------------------
> >     // Note: X() is a macro for transcoding char to XMLChar
> >     //       X2C() is the reverse macro for transcoding 
> XMLChar to Char
> >
> >     DOMImplementation *impl;
> >     DOMXPathResult *xpres;
> >     DOMBuilder *builder;
> >     DOMDocument *doc;
> >     DOMXPathEvaluator *xpeval;
> >     char tmpbuf[1024];
> >
> >     // Initialize XERCES DOM
> >     impl = dom_Init();
> >
> >     builder = ((DOMImplementationLS*) impl)->
> >
> >createDOMBuilder(DOMImplementationLS::MODE_SYNCHRONOUS, 0);
> >
> >     doc = builder->parseURI(X("./testdata/test_105.xml"));
> >     xpeval = (DOMXPathEvaluator *) doc;
> >
> >     try
> >     {
> >         xpres = (DOMXPathResult *)
> >                 xpeval->evaluate(X("/cdh/id/@RT"),
> >                 doc->getDocumentElement(),
> >                 NULL, DOMXPathResult::STRING_TYPE, NULL);
> >     }
> >     catch(const DOMXPathException& xp)
> >     {
> >         sprintf(tmpbuf, "Exception Code: %d", xp.code);
> >         MessageBox(NULL, tmpbuf, "XPathException", MB_OK);
> >     }
> >     catch(const DOMException& de)
> >     {
> >         sprintf(tmpbuf, "Exception Code: %d", de.code);
> >         MessageBox(NULL, tmpbuf, "DOMException", MB_OK);
> >     }
> >
> >     sprintf(tmpbuf, "<%s>", X2C(xpres->getStringValue()));
> >     MessageBox(NULL, tmpbuf, "XPathTest", MB_OK);
> >
> >     builder->releas();
> >     dom_DeInit();
> >--------------------SNIP-----------------------
> >
> >The XML-File is like this (only the relevant part):
> >
> >--------------------SNIP-----------------------
> ><?xml version="1.0" encoding="iso-8859-1"?>
> ><?xml-stylesheet type="text/xsl" 
> href="sci_arztbrief-2.xsl"?> <levelone 
> >xmlns="urn::hl7-org/cda" 
> >xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >xmlns:sciphox="urn::sciphox-org/sciphox"
> >xsi:schemaLocation="urn::hl7-org/cda sciphox-cda.xsd">
> >         <cdh>
> >                 <id RT="#cdh.docid.rt" EX="#cdh.docid.ex"/>
> >                 <set_id RT="#cdh.docsetid.rt" 
> EX="#cdh.docsetid.ex"/>
> >                 <version_nbr V="#cdh.docvers"/>
> >                 ... blah blah blah
> >         </cdh>
> >         ... blah blah blah
> ></levelone>
> >--------------------SNIP-----------------------
> >
> >I want to get the Value of the RT Attribute from the 
> ID-Element within 
> >the cdh element. I want to get "#cdh.docid.rt" as the result.
> >
> >But i only get a DOMException Code 9 (Not supported) which 
> meaning is 
> >either the context node is not valid or the type is not supported by 
> >the DOMXPathEvaluator. I don't understand what this could mean in my 
> >case.
> >
> >Any hint, sample, documentation appreciated. Thanks in Advance very 
> >much. Oh...and by the way...it is a little bit urgent. So if you can 
> >afford time a "asap" answer would help me muuuuuuch.
> >
> >CU
> >Joerg
> >
> >
> >---------------------------------------------------------------------
> >To unsubscribe, e-mail: [EMAIL PROTECTED]
> >For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to