Expressões XPath Básicas

As expressões XPath são usadas em orquestrações e definições de esquema de arquivo simples quando você precisa identificar um ou mais nós em uma mensagem ou variável para acessar dados ou determinar se uma condição foi atendida.

XPath é um padrão XML que define uma gramática para identificar nós ou conjuntos de nós (chamados de conjuntos de nós) em documentos XML.

É possível editar as expressões XPath padrão, geradas nas seguintes áreas de janela:

O XPath 2.0 é suportado.

Selecionando Nós por Caminho

O XPath descreve o local de elementos e atributos XML como um caminho similar para URLs ou diretórios em seu sistema de arquivos local. Cada elemento ou atributo é um nó em uma árvore que inicia com o nó-raiz. O nó-raiz contém a árvore inteira, portanto, qualquer nó na árvore pode ser localizado seguindo um caminho para baixo nas ramificações.

A sintaxe básica é:

/root-node/child-node/.../final-element-node

/root-node/child-node/.../final-element-node/@attribute-node

Você determina esse caminho a partir do Esquema XML que descreve as mensagens.

O XPath usa o símbolo @ como uma abreviatura para identificar os atributos. Os caminhos sem @, ou o prefixo attribute::, identificam os elementos por padrão. Por exemplo:

 /PackingSlip/PONumber/Item

identifica o elemento Item localizado dentro de PONumber no nó-raiz PackingSlip.

Nomes de Nó e Namespaces de XML

Os nomes de nós também podem aparecer com namespaces, tal como tns:OrderNumber ou *:Item. A parte do nome até os dois pontos é um prefixo que identifica um namespace e os dois pontos são o delimitador entre o namespace e o nome local do nó.

Os espaços de nomes são um padrão XML usado para identificar exclusivamente elementos ou atributos quando os documentos compartilham conteúdo de vários esquemas. O Cast Iron Studio designa e gerencia automaticamente namespaces para os Esquemas XML usados nos documentos de configuração.  

Nota: Cada esquema em uma definição de WSDL pode ser definido por um namespace.

Selecionar Nós Condicionalmente com Predicados

Ocasionalmente, você pode desejar selecionar um nó apenas se alguma condição for atendida. Essas condições de seleção são conhecidas como predicados.

Você define os predicados entre colchetes, tais como:

/PV1/PatientDepartment[text()='Nursery']

Esta expressão seleciona o nó PatientDepartment apenas se os dados no nó forem Nursery.

/Order/OrderDetail/Item[5]

Esta expressão seleciona o quinto nó de Item em OrderDetail.

Operadores Válidos para Condições

As expressões XPath também podem ser condições booleanas que são avaliadas como true ou false. Essas expressões podem ser usadas para selecionar nós específicos ou simplesmente para identificar uma condição que deve ser atendida. É possível usar o Construtor de Expressões para ajudar a definir condições. Os operadores XPath que podem aparecer nas expressões incluem:

Funções nas Expressões XPath

O XPath também contém funções que permitem manipular dados a partir dos nós. Isso pode ser útil na construção de linhas de assunto que contêm algum texto constante, além de dados dinâmicos de mensagens. As funções XPath também podem ser usadas para tratar de requisitos como cortar espaço ou assegurar que uma chave de tarefa seja um tipo de dado de sequência. Algumas funções XPath comuns incluem:
concat()
é possível combinar qualquer número de sequências e os dados dos nós na ordem que você especifica os parâmetros. É possível especificar caminhos XPath como parâmetros. Especifique cadeias de texto constante entre aspas. Por exemplo:

concat('New Order # ',/Orders/Order/OrdNumber)

count()
é possível contar o número de nós no parâmetro especificado. Geralmente, o parâmetro é uma expressão de caminho XPath que identifica vários nós, como todos os nós Item que são filhos de PODetail. Por exemplo:

count(/Orders/Order)

normalize-space()
corta todos os caracteres de espaço à esquerda e à direita do parâmetro de entrada e também normaliza todo espaço na entrada com caracteres de espaço único e feeds de linha única. Por exemplo:

normalize-space(/Job/Address/Line1)

number()
converte o parâmetro em um tipo de dados de número. Essa função pode ser usada para garantir que as sequências sejam tratadas como números. Por exemplo:

number(/PurchaseOrder/POTotal)

string()
converte o parâmetro em um tipo de dados de sequência. Esta função pode ser usada para assegurar que os nós numéricos ou de data sejam tratados como cadeias. Por exemplo:

string(/PurchaseOrder/VendorID)

translate()
substitui caracteres individuais por outros caracteres no primeiro parâmetro especificado. O segundo parâmetro são o caractere ou caracteres a serem substituídos e o terceiro parâmetro são os caracteres de substituição. Esta função poderá ser útil para assegurar que as chaves de tarefa sejam todas em maiúsculas, por exemplo.

translate(/Issue/ShortDescr,

'abcdefghijklmnopqrstuvwxyz',

'ABCDEFGHIJKLMNOPQRSTUVWXYZ')

Para uma lista completa de funções XPath, consulte a Especificação XPath ( http://www.w3.org/TR/xpath).

Testando Expressões XPath

É possível testar suas Expressões XPath com relação a dados de teste XML usando o Avaliador de XPath.




Feedback | notices