- Catégories :
Fonctions de données semi-structurées et structurées (Parsing)
CHECK_XML¶
Vérifie la validité d’un document XML. Si la chaîne d’entrée est NULL ou un document XML valide, le résultat est NULL. En cas d’erreur d’analyse XML, la chaîne de sortie contient le message d’erreur.
Syntaxe¶
CHECK_XML( <string_containing_xml> [ , <disable_auto_convert> ] )
CHECK_XML( STR => <string_containing_xml>
[ , DISABLE_AUTO_CONVERT => <disable_auto_convert> ] )
Arguments¶
Obligatoire :
string_containing_xml
. OR .STR => string_containing_xml
Spécifiez une expression qui est évaluée sur une valeur VARCHAR qui contient des XML valides.
Facultatif :
disable_auto_convert
. OR .DISABLE_AUTO_CONVERT => disable_auto_convert
Spécifiez la même valeur que celle que vous passez à la fonction PARSE_XML.
Par défaut :
FALSE
Renvoie¶
Le type de données de la valeur renvoyée est VARCHAR.
Notes sur l’utilisation¶
Vous devez spécifier tous les arguments soit par leur nom, soit par leur position. Vous ne pouvez pas spécifier certains arguments par leur nom et d’autres par leur position.
Lorsque vous spécifiez un argument par son nom, vous ne pouvez pas utiliser de guillemets doubles autour du nom de l’argument.
Exemples¶
Les exemples suivants utilisent la fonction CHECK_XML.
Afficher la sortie de la fonction lorsque le XML est valide¶
SELECT CHECK_XML('<name> Valid </name>');
+-----------------------------------+
| CHECK_XML('<NAME> VALID </NAME>') |
|-----------------------------------|
| NULL |
+-----------------------------------+
Afficher la sortie de la fonction lorsque le XML n’est pas valide¶
SELECT CHECK_XML('<name> Invalid </WRONG_CLOSING_TAG>');
+--------------------------------------------------+
| CHECK_XML('<NAME> INVALID </WRONG_CLOSING_TAG>') |
|--------------------------------------------------|
| no opening tag for </WRONG_CLOSING_TAG>, pos 35 |
+--------------------------------------------------+
Localiser les enregistrements pour lesquels le XML n’est pas valide¶
SELECT xml_str, CHECK_XML(xml_str)
FROM my_table
WHERE CHECK_XML(xml_str) IS NOT NULL;