Funções de XPath Adicionais para Conjuntos de Dados EMF e UML

As funções a seguir estão disponíveis para o mapeamento de tabela e coluna para os conjuntos de dados EMF e UML, além das funções de XPath que o XPath 1.0 Core Function Library e o JET especificam.
Nota: Ao utilizar uma função que retorna uma coleta dentro de uma instrução de XPath, trate a coleta como uma coleta indexada baseada em 1.

Coleta<Diagram> getDiagrams (xpath)

Esta função utiliza uma expressão XPath para um ou mais elementos de UML e retorna uma coleta de diagramas de UML que os elementos contêm.

Argumentos:
xpath: Uma expressão XPath para um ou mais elementos de UML
Resultado:
Uma coleta de diagramas de UML que os elementos de UML especificados contêm
Aplicação:
Na página Mapeamento de Linha, utilize a função para gerar uma coleta de diagramas de UML.
Na página Mapeamento de Coluna, utilize a função para consultar a coleta posteriormente (por exemplo, para obter o valor count para a coleta).
A função está disponível para o driver de UML.
Exemplo:
Este exemplo retorna todos os diagramas no modelo:

     getDiagrams( //*)

Retornar ao topo

Blob getDiagramImage (xpath, [resWidth], [resHeight])

Esta função utiliza uma expressão XPath para um elemento de diagrama e retorna um blob de dados de imagem de diagrama, sujeito a uma resolução máxima, se especificado.

Argumentos:
xpath: Uma expressão XPath para um elemento de diagrama
resWidth (opcional): Um int que representa a largura de resolução máxima em pixels
resHeight (opcional): Um int que representa a altura de resolução máxima em pixels
Resultado:
Um blob de dados de imagem de diagrama
Aplicação:
Utilize esta função na página Mapeamento da Coluna para configurar a coluna da imagem. É possível utilizar a coluna como entrada para um elemento de imagem dinâmico. Utilize os parâmetros de resolução máxima opcionais para controlar a memória necessária para reproduzir a imagem do diagrama. Quando menor for a resolução, menor será a memória necessária; entretanto, a qualidade de imagem pode ser menor também.
Você pode omitir os dois argumentos opcionais ou atribuir a eles um valor -1 para indicar que nenhuma resolução máxima é especificada para a dimensão. Para tornar os relatórios mais flexíveis, exponha os valores da resolução para o usuário, como parâmetros de relatório, em vez de codificá-los permanentemente.
A função ficará disponível para os drivers de UML e de EMF se o plug-in oda-diagrams estiver instalado.
Exemplos:
Este exemplo retorna a imagem do diagrama sem restrição:

     getDiagramImage(.)

Este exemplo retorna resultados iguais aos do exemplo anterior:

     getDiagramImage(., -1, -1)

Este exemplo retorna a imagem do diagrama com uma resolução máxima de 800 x 600 pixels:

     getDiagramImage(., 800, 600)

Este exemplo retorna a imagem do diagrama com a resolução que o usuário do relatório especifica:

     getDiagramImage(., $resWidth, $resHeight)

Retornar ao topo

Cadeia getDiagramHtmlImage (xpath, genPath, [tileWidth], [tileHeight])

Esta função utiliza uma expressão XPath para um elemento de diagrama e retorna uma cadeia que representa um trecho de código HTML que reproduz uma imagem de diagrama em blocos.

Argumentos:
xpath: Uma expressão XPath para um elemento de diagrama
genPath: Um caminho para um diretório temporário no sistema de arquivo que é utilizado para uma geração de bloco
tileWidth (opcional): A largura máxima de um bloco de imagem de diagrama em pixels
tileHeight (opcional): A altura máxima de um bloco de imagem de diagrama em pixels
Aplicação:
Utilize esta função na página Mapeamento da Coluna para configurar a coluna da imagem. É possível utilizar a coluna como entrada para um elemento de texto dinâmico (HTML). A função reproduz a imagem de diagrama dividindo-a em blocos cujo tamanho é especificado pelos parâmetros opcionais tileWidth e tileHeight.
Você pode omitir os parâmetros opcionais ou atribuir a eles um valor -1 para indicar o tamanho do bloco padrão. A imagem em bloco é gerada na pasta genPath. Essa pasta não é limpa depois de chamar a função, e as chamadas repetidas sobrescrevem as imagens anteriores sem aviso. Utilize o tamanho do bloco para controlar a memória máxima necessária para reproduzir um diagrama. Quando menor for o tamanho do bloco, menor será a memória necessária; entretanto, o número de blocos é maior.
Utilize esta função apenas com formatos de saída de relatório, como HTML, que não limita o tamanho da página.
Para tornar os relatórios mais flexíveis, exponha os valores genPath e de tamanho do bloco para o usuário, como parâmetros de relatório, em vez de codificá-los permanentemente.
A função ficará disponível para os drivers de UML e de EMF se o plug-in oda-diagrams estiver instalado.
Exemplo:
Este exemplo divide a imagem utilizando o tamanho de bloco padrão:

     getDiagramHtmlImage(., "c:/temp")

Este exemplo retorna resultado igual ao do exemplo anterior:

     getDiagramHtmlImage(., "c:/temp", -1, -1)

Este exemplo divide a imagem utilizando um tamanho de bloco de 1000 x 1000 pixels:

     getDiagramHtmlImage(., “c:/temp”, 1000, 1000)

Retornar ao topo

Cadeia getXMIID (xpath)

Esta função utiliza uma expressão XPath para um elemento e retorna o valor de ID XMI do elemento.

Argumentos
xpath: Uma expressão XPath para um elemento
Resultado:
O valor de ID XMI de um elemento
Aplicação:
Utilize esta função na página Mapeamento da Coluna.
A função está disponível para os drivers de UML e EMF.
Exemplo
getXMIID(.)
Retornar ao topo

Cadeia getXMIType (xpath)

Esta função utiliza uma expressão XPath para um elemento e retorna o valor de tipo de XMI do elemento.

Argumentos:
xpath: Uma expressão XPath para um elemento
Resultado:
O tipo de XMI do elemento
Aplicação:
Utilize esta função na página Mapeamento da Coluna.
A função está disponível para os drivers de UML e EMF.
Exemplo:
Este exemplo retorna o tipo de XMI do elemento atual.
getXMItype(.)
Retornar ao topo

Cadeia getURI (xpath)

Esta função utiliza uma expressão XPath que é resolvida para um único elemento e retorna uma representação de cadeia do URI desse elemento. O URI é exclusivo nos recursos, o que o torna uma coluna apropriada a ser utilizada para a junção de conjuntos de dados.

Argumentos:
xpath: Uma expressão XPath para um único elemento
Resultado:
A cadeia de URI do elemento
Aplicação:
Utilize esta função na página Mapeamento da Coluna.
A função está disponível para os drivers de UML e EMF.
Exemplo:
Este exemplo retorna uma cadeia que representa o URI do elemento atual:

     getURI(.)

Retornar ao topo

EObject resolveURI (uri)

Esta função resolve um URI especificado e retorna o elemento correspondente.

Argumentos:
uri: O URI de um elemento
Resultado:
O elemento com o URI especificado
Aplicação:
Utilize esta função na página de Mapeamento da Linha ou na página Mapeamento da Coluna.
A função está disponível para os drivers de UML e EMF.
Exemplo:
Este exemplo resolve o URI de um elemento que é transmitido como um parâmetro de conjunto de dados.

     resolveURI($element)

Nota:

Ao utilizar a função resolveURI, você pode desmarcar a caixa de opção Avaliar para cada modelo da instância de origem de dados na página Mapeamento da Linha. A decisão depende da navegação na expressão:

  • Se a expressão incluir a navegação que começa da raiz do modelo, não desmarque a caixa de opção. Se você desmarcar a caixa de opção nesta instância, a navegação da raiz falhará e ocorrerão exceções.
  • Sob outras circunstâncias, desmarque a caixa de opção.

    Em geral, a consulta de mapeamento de linha em um conjunto de dados é executada em um loop nos modelos da instância definidos na origem de dados ligada ao conjunto de dados. Em outras palavras, a execução da consulta realiza um loop nos modelos de instância e para cada modelo ela altera o contexto da consulta para esse modelo e coleta os objetos da linha resultante. Entretanto, com a função resolveURI, uma consulta de mapeamento de linha poderia utilizar no lugar um parâmetro de objeto como um contexto para a consulta, como no exemplo resolveURI($class)/ownedAttribute. Nesse tipo de consulta, não há navegação da raiz do modelo como nas consultas comuns. Isso significa que o resultado da execução desse tipo de consulta é o mesmo, apesar do modelo de contexto. Isso pode levar a problemas de desempenho, porque a consulta é executada repetidamente para cada modelo de instância, enquanto o conjunto de resultados não se altera.

Retornar ao topo

Coleta<EObject> instanceOf (xpath, type)

Esta função utiliza uma expressão XPath e uma cadeia de tipos e retorna uma coleta de todos os elementos desse tipo que são localizados.

Argumentos:
xpath: Uma expressão XPath para um ou mais elementos
type: Uma cadeia com o formato (packagePrefix:typeName) que representa um metatipo qualificado
Resultado:
Uma subcoleta de elementos em conformidade com o tipo especificado
Aplicação:
Utilize esta função na página de Mapeamento da Linha ou na página Mapeamento da Coluna.
Na página Mapeamento da Coluna, utilize a função para retornar uma coleta de elementos e, em seguida, utilize as expressões XPath (por exemplo, count) para consultar um valor simples.
A função está disponível para os drivers de UML e EMF.
Exemplo:
Este exemplo retorna todos os elementos do tipo uml:Class:

     instanceOf(//*, "uml:Class")

Retornar ao topo

Coleta<EObject> oclQuery (xpath, boolean_ocl_expression)

Esta função utiliza uma expressão XPath e uma expressão de consulta OCL de valor booleano e retorna o subconjunto de elementos da expressão XPath para o qual a consulta OCL retorna true.

Argumentos:
xpath: Uma expressão XPath
boolean_ocl_expression: Uma cadeia de consultas OCL booleana
Resultado:
Uma subcoleta de elementos em conformidade com o tipo especificado
Aplicação:
Utilize esta função na página Mapeamento da Linha ou na página Mapeamento da Coluna.
Na página Mapeamento da Coluna, utilize a função para retornar uma coleta de elementos e, em seguida, utilize as expressões adicionais XPath (por exemplo, count) para consultar um valor simples.
A função está disponível para os drivers de UML e EMF.
Exemplo:
Este exemplo retorna todos os elementos do tipo uml::Dependency:

     oclQuery(//*, "self.oclIsKindOf(uml::Dependency)")

Retornar ao topo

Objeto oclEvaluate (xpath , ocl_expression)

Esta função utiliza uma expressão XPath para um único elemento e uma cadeia de consultas OCL e retorna o resultado depois de avaliar a consulta no elemento.

Argumentos:
xpath: Uma expressão XPath para um único elemento
ocl_expression: Uma cadeia de consultas OCL
Resultado:
O resultado da avaliação da expressão OCL no elemento especificado
Aplicação:
Utilize esta função na página Mapeamento da Linha ou na página Mapeamento da Coluna para avaliar as expressões OCL nos elementos.
A função está disponível para os drivers de UML e EMF.
Exemplos:
Este exemplo retorna todos os pacotes aninhados em um modelo (página Mapeamento da Linha):

     oclEvaluate(Model, ”self.nestedPackages”)

Este exemplo retorna o nome do elemento (página Mapeamento da Coluna):

     oclEvaluate(., "name")

Retornar ao topo

Coleta<Element> getElementsWithStereotype (xpath, stereotype)

Esta função utiliza uma expressão XPath para um ou mais elementos de UML e um estereótipo, retorna uma coleta de elementos com um determinado estereótipo.

Argumentos:
xpath: Uma expressão XPath para um ou mais elementos de UML
Estereótipo: O nome completo de um estereótipo com o formato (profileName::stereotypeName)
Resultado:
Uma subcoleta de elementos à qual o estereótipo é aplicado
Aplicação:
Utilize esta função na página de Mapeamento da Linha ou na página Mapeamento da Coluna.
Na página Mapeamento da Coluna, utilize a função para obter a coleta de elementos e, em seguida, utilize as expressões XPath adicionais (por exemplo, count) para consultar um valor simples.
A função está disponível somente para o driver de UML.
Exemplo:
Este exemplo retorna todos os elementos no modelo que são estereotipados como metas de negócios:

          getElementsWithSterotype(//*, "Business Modeling::BusinessGoal")

Retornar ao topo

Objeto getStereotypePropertyValue (xpath, property)

Esta função utiliza uma expressão XPath para um único elemento UML e uma propriedade de estereótipo, e retorna o valor propriedade de estereótipo de terminada.

Argumentos:
xpath: Uma expressão XPath para um único elemento de UML
property: O nome completo de uma propriedade de estereótipo com o formato (profileName::stereotypeName::propertyName)
Aplicação:
Utilize esta função na página de Mapeamento da Linha ou na página Mapeamento da Coluna.
A função está disponível somente para o driver de UML.
Exemplo:
Este exemplo retorna o literal da enumeração que representa o tipo de regra de negócios que o período denota:

     getStereotypePropertyValue( . , "Business Modeling::BusinessRule::Kind")

Retornar ao topo
Tarefas relacionadas
Gravando Funções XPath Customizadas
Informações relacionadas
Funções XPaths especificadas pelo XPath 1.0 Core Function Library
Funções adicionais disponíveis do Eclipse JET
O ponto de extensão das funções customizadas do XPath para registro de funções customizadas dos usuários

Feedback