La recherche dans des données XML et l'extraction de celles-ci sont deux opérations identiques. Elles renvoient des données qui seront manipulées ultérieurement. Les recherches sont exécutées avec la clause WHERE pour définir des prédicats comme critères d'extraction.
L'Extension XML comporte plusieurs méthodes de recherche dans des documents XML de colonne XML, en fonction des besoins de l'application. Il permet d'effectuer des recherches dans la structure du document et de renvoyer des résultats en fonction du contenu élémentaire et des valeurs d'attributs. Vous pouvez effectuer des recherches dans une vue de la colonne XML et de ses tables annexes, directement dans les tables annexes pour améliorer les performances, ou utiliser des fonctions UDF d'extraction avec des clauses WHERE. Vous pouvez également vous servir de l'Extension Texte DB2 pour rechercher une chaîne texte dans des données de colonne liées au contenu structurel.
Pour accélérer les recherches, l'Extension XML permet d'utiliser sur des colonnes de tables annexes des index qui contiennent des valeurs d'éléments ou d'attributs XML extraites de documents XML. Lorsque vous indiquez le type de données d'un élément ou d'un attribut, vous pouvez effectuer des recherches d'après un type de données général SQL ou des plages de valeurs. Ainsi, dans l'exemple en cours, vous pouvez rechercher toutes les commandes dont le prix total est supérieur à 2500,00.
Vous pouvez également effectuer des recherches structurelles ou intégrales à l'aide de DB2 UDB Extension Texte. Par exemple, la colonne RESUME contient des CV au format XML. Vous voulez le nom de tous les candidats possédant des compétences Java. Avec l'Extension Texte DB2, vous recherchez dans les documents XML tous les CV dans lesquels l'élément <skill> contient la chaîne de caractères JAVA.
Les sections suivantes décrivent les méthodes de recherche :