Eu tenho um requisito em que desejo que as tags XML não diferenciem maiúsculas de minúsculas em minhas consultas xml.
Por exemplo:
DECLARE @myTable TABLE ( yourXML XML )
INSERT INTO @myTable SELECT '<z><a><b>1</b><c>2</c></a></z>'
INSERT INTO @myTable SELECT '<Z><A><b>1</b><c>2</c></A></Z>'
SELECT * FROM @myTable WHERE ( [yourXML].exist('for $x in /z/a where ( ($x/b[1]) = 1 ) return $x')>0 )
Retorna a saída como
yourXML
<z><a><b>1</b><c>2</c></a></z>
Mas eu quero que a saída seja exibida sem considerar o caso da tag XML. Portanto, minha saída desejada deve ser
yourXML
<z><a><b>1</b><c>2</c></a></z>
<Z><A><b>1</b><c>2</c></A></Z>
Como pode ser feito?
Use predicados com testes de nome como este em vez de etapas de nó "simples":
Um pouco mais simples que a versão FLWOR.
Necromancia.
Se você chegar aqui em busca de uma solução para uma função de nós XML que não diferencia maiúsculas de minúsculas, é assim que acontece com o XPath: