Altova Mailing List Archives>Archive Index >microsoft.public.xml Archive Home >Recent entries >Thread Prev - Re: selectNodes - How form query to get required data [Thread Next] Re: selectNodes - How form query to get required dataTo: NULL Date: 8/9/2007 12:51:00 PM I wouldn't try using XSLPattern, it's a very outdated syntax that was just to tied users over until XPath was formalised. The w3c website has lots of tutorials on XPath, the MSXML sdk covers it in depth and there are also some excellent books, anything by Michael Kay is good but be aware that his latest tomes deal with XPath version 2.0 whereas Microsoft's products still only support version 1.0. If you wish to use version 2.0 you can use Saxon.net which has a free version, I don't know of any COM objects though. -- Joe Fawcett (MVP - XML) http://joe.fawcett.name "brian_harris" <brianharris@d...> wrote in message news:3C9BD2DE-70BB-4B06-8FD8-723D40C17C20@m...... > That did answer my original question, but I have 2 others related to your > response. > 1) If I need to do same select with XSLPatterns what would syntax be > 2) Do you know of any documentation that goes into better details on > creating selection criterias. All of the ones I have found are very basic > and don't use more advance syntax of selection. For example with syntax > you > gave me I could not find some of its definitions describes (specifically > "contains"). The example I orginally sent was using "value" which I > couldn't > find documentaion on but, some where someone said you use this to ged > CDATA > data. > > "Martin Honnen" wrote: > >> brian_harris wrote: >> >> > This is an example of what XML data looks likes: >> > <?xml version="1.0" ?> >> > <headerDISCREPTABTYP xmlns:dt="urn:schemas-microsoft-com:datatypes"> >> > <DISCREPTABTYP heading="UNKNOWN" description="UNKNOWN EMPLOYEES IN >> > UNIT" > >> > <discrepancytype> <![CDATA[ UNKNOWN ]]> </discrepancytype> >> > <empcode> <![CDATA[ 62009 ]]> </empcode> >> > <startscan> <![CDATA[ 02/10/2006 09:24:16 am ]]> </startscan> >> > </DISCREPTABTYP> >> > <DISCREPTABTYP heading="BELONG" description="EMPLOYEES WHO BELONG >> > AND ARE >> > WORKING IN UNIT" > >> > <discrepancytype> <![CDATA[ BELONG ]]> </discrepancytype> >> > <empcode> <![CDATA[ 114351 ]]> </empcode> >> > <startscan> <![CDATA[ 02/06/2006 08:56:01 am ]]> </startscan> >> > </DISCREPTABTYP> >> > <DISCREPTABTYP heading="BELONG" description="EMPLOYEES WHO BELONG AND >> > ARE >> > WORKING IN UNIT" > >> > <discrepancytype> <![CDATA[ BELONG ]]> >> > </discrepancytype> >> > <empcode> <![CDATA[ 114351 ]]> </empcode> >> > <startscan> <![CDATA[ 02/07/2006 08:34:21 am ]]> </startscan> >> > </DISCREPTABTYP> >> > <DISCREPTABTYP heading="BELONG" description="EMPLOYEES WHO BELONG AND >> > ARE >> > WORKING IN UNIT" > >> > <discrepancytype> <![CDATA[ BELONG ]]> </discrepancytype> >> > <empcode> <![CDATA[ 189191 ]]> </empcode> >> > <startscan> <![CDATA[ ]]> </startscan> >> > </DISCREPTABTYP> >> > <DISCREPTABTYP heading="FLOATOUT" description="EMPLOYEES FLOAT OUT >> > OF >> > UNIT" > >> > <discrepancytype> <![CDATA[ FLOATOUT ]]> </discrepancytype> >> > <empcode> <![CDATA[ 114351 ]]> </empcode> >> > <startscan> <![CDATA[ 02/10/2006 09:24:16 am ]]> </startscan> >> > </DISCREPTABTYP> >> > </headerDISCREPTABTYP> >> >> Here is a sample with JScript using MSXML 3: >> >> var xmlDocument = new ActiveXObject('Msxml2.DOMDocument.3.0'); >> xmlDocument.async = false; >> if (xmlDocument.load('test2007080802.xml')) { >> xmlDocument.setProperty('SelectionLanguage', 'XPath'); >> var nodes = >> xmlDocument.selectNodes('headerDISCREPTABTYP/DISCREPTABTYP[contains(discrepancytype, >> "BELONG") and contains(empcode, "114351")]'); >> alert('Found ' + nodes.length + ' node(s).'); >> } >> else { >> alert(xmlDocument.parseError.reason); >> } >> >> For your XML input the alert shows that two nodes are being found. >> >> -- >> >> Martin Honnen --- MVP XML >> http://JavaScript.FAQTs.com/ >> | ||||||
| Company | Legal | Press | Partners | Careers | Sitemap | Contact Us | Altova Blog | Mobile | Full Site | |||
|
