Article ID: 315719 - Last Review: April 8, 2002 - Revision: 1.1

INFO: Use XPath to Perform a Case-Insensitive Search with MSXML

This article was previously published under Q315719
Expand all | Collapse all

SUMMARY

MSXML includes two functions that you can use to filter data in a case-insensitive search. With MSXML 3.0, you can use the translate function. With MSXML 4.0, you can use either the translate function or the new ms:string-compare XPath function.

MORE INFORMATION

To perform a case-insensitive search by a DomainName property that is named "mydomain1.com" on the following XML data
<?xml version="1.0" ?>
<Domains>
 <DomainName>Mydomain1.COM</DomainName>
</Domains>
				
the syntax for translate in MSXML 3.0 is as follows:
oXML.setProperty "SelectionLanguage", "XPath"
set node = oXML.selectSingleNode("Domains/DomainName[translate(., 'ABCDEFGHIJKLMNOPQRSTUVWXYZ', 'abcdefghijklmnopqrstuvwxyz') = 'mydomain1.com']")
				
The syntax for ms:string-compare in MSXML 4.0 is as follows:
'To use MSXML 4.0, you need to use 4.0 dependent progid explicitly.
' ...
'Set the select namespace for xmlns:ms
oXML.setProperty "SelectionNamespaces", "xmlns:ms='urn:schemas-microsoft-com:xslt'"
set node = oXML.selectSingleNode("Domains/DomainName[ms:string-compare(., 'mydomain1.com', 'en-US', 'i') = 0]")
				

REFERENCES

For more information about the translate and the ms:string-compare functions, see the XML Software Development Kit (SDK) documentation.

APPLIES TO
  • Microsoft XML Parser 3.0
  • Microsoft XML Core Services 4.0
Keywords: 
kbfile kbinfo KB315719
 

Article Translations