Como usar predicados sql com xml
predicados
retornar um valor de Verdadeiro ou Falso. Alguns novos predicados foram adicionados ao SQL que especificamente se relacionam com XML. Isto pode ser útil para reduzir significativamente a sua carga de trabalho.DOCUMENTO
O objetivo do DOCUMENTO predicado é determinar se um valor XML é um documento XML. Ele testa para ver se um valor XML é uma instância de qualquer XML (QUALQUER DOCUMENTO) ou XML (DOCUMENTO Untyped). A sintaxe é:
XML-valor [não] é [QUALQUER | Untyped] DOCUMENTO
Se a expressão for avaliada como True, o predicado retorna VERDADE- caso contrário, retorna FALSO. Se o valor XML é nulo, o predicado retorna um DESCONHECIDO valor. Se você não especificar QUALQUER ou Untyped, a suposição padrão é QUALQUER.
CONTEÚDO
Você usa o CONTEÚDO predicado para determinar se um valor XML é uma instância de XML (QUALQUER CONTEÚDO) ou XML (CONTEÚDO Untyped). Aqui está a sintaxe:
XML-valor [não] é [QUALQUER | Untyped] CONTEÚDO
Se você não especificar QUALQUER ou Untyped, QUALQUER é o padrão.
XMLEXISTS
Como o nome indica, você pode usar o XMLEXISTS predicado para determinar se existe um valor. Aqui está a sintaxe:
XMLEXISTS (XQuery-expressão [argumento da lista])
A expressão XQuery é avaliada usando os valores fornecidos na lista de argumentos. Se o valor consultado pela expressão XQuery é o SQL NULO valor, o resultado do predicado é desconhecida. Se a avaliação retorna uma sequência Xquery vazio, o resultado do predicado é FALSO- caso contrário, é VERDADE.
Você pode usar esse predicado para determinar se um documento XML contém conteúdo particular antes de usar uma parte desse conteúdo em uma expressão.
VÁLIDO
o VÁLIDO predicado é usado para avaliar um valor XML para ver se ele é válido no contexto de um esquema XML registrado. A sintaxe do VÁLIDO predicado é mais complexa do que é o caso para a maioria dos predicados:
xml valor [não] é VÁLIDO [XML opção identidade restrição válida] [XML válido de acordo com a cláusula-]
Este predicado verifica para ver se o valor XML é um dos cinco subtipos XML: XML (SEQUÊNCIA), XML (QUALQUER CONTEÚDO), XML (CONTEÚDO Untyped), XML (QUALQUER DOCUMENTO), ou XML (DOCUMENTO Untyped). Além disso, ele pode, opcionalmente, verificar para ver se a validade do valor XML depende restrições de identidade, e se ele é válido em relação a um esquema XML particular (o alvo de validade).
Há quatro possibilidades para o identidade restrição-option componente da sintaxe:
SEM restrições de identidade: Se o identidade-constraint-componente sintaxe opção não for especificada, SEM restrições de identidade é assumido. E se DOCUMENTO é especificado, então ele age como uma combinação do DOCUMENTO predicado eo VÁLIDO predicado Com restrições de identidade global.
Com restrições de identidade global: Este componente da sintaxe significa que o valor é verificada não só contra o esquema XML, mas também contra as regras XML para relações ID / IDREF.
ID e IDREF são XML tipos de atributos que identificam elementos de um documento.
Com restrições de identidade local: Este componente da sintaxe significa que o valor é comparado com o esquema XML, mas não contra as regras XML para ID / IDREF ou as regras de esquema XML para restrições de identidade.
DOCUMENTO: Este componente da sintaxe significa a expressão de valor XML é um documento e é válido Com restrições de identidade global sintaxe com um XML válido de acordo com cláusula. o XML válido de acordo com cláusula identifica o esquema que o valor será validado contra.