Aplicando Transformações
em XML usando XSLT e
XSL-FO
Ms Vivian Genaro Motti
Profª Drª Maria da Graça Pimentel
Prof Dr Rudinei Goularte
Ilhéus, maio de 2009.
ERBASE
 Parte I: XML, conceitos e definições
 Parte II: XSD, XSL, X-PATH
 Parte III: CSS, XSL-T, XSL-FO
 Parte IV: XSL-FO (Formatting
Objects)
Sumário
 XSD
 Schemas
 XSL
 Origem
 Definição
 Aplicação
 XPATH
Documento XML
<?xml version="1.0" encoding="UTF-8"?>
<recado>
  <para>João</para>
  <de>Maria</de>
  <assunto>Aviso</assunto>
  <mensagem>Sua mãe ligou.</mensagem>
</recado>
Schema
<xs:element name="recado">
<xs:complexType>
<xs:sequence>
<xs:element name="para" type="xs:string"/>
  <xs:element name="de" type="xs:string"/>
  <xs:element name="assunto" type="xs:string"/>
  <xs:element name="mensagem" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Associando Schema ao XML
<?xml version="1.0"encoding="UTF-8"?>
<recado
xmlns="http://www.w3schools.com"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance"
xsi:schemaLocation="http://www.w3schools.com
recado.xsd">
  <para>João</para>
...
  <mensagem>Sua mãe ligou.</mensagem>
</recado>
Associando Schema ao XML
xmlns="http://www.w3schools.com"
 Especifica a declaração do namespace padrão
 Todos os elementos usados no XML original estão
declarados no namespace da URL
 Tendo o namespace disponível:
xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance"
 Declara-se o namespace a ser usado
 E o Schema
xsi:schemaLocation="http://www.w3schools.com
recado.xsd"
Restrições
 Elementos do Schema que
restringem a definição de
 simpleType
 simpleContent
 complexContent
Elementos Simples
 São elementos compostos apenas
por texto
 Não possuem atributos nem outros
elementos
 No entanto o texto pode ser de
diferentes tipos
 Boolean, string, date
 É possível restringir seu conteúdo
Elementos Simples
 São definidos assim
<xs:element name="x" type="y">
 Tipos
 xs:string
 xs:decimal
 xs:integer
 xs:boolean
 xs:date
 xs:time
Exemplos
<nome>Maria</nome>
<idade>16</idade>
<nascimento>1993-02-27</nascimento>
<xs:element name="nome" type="xs:string"/>
<xs:element name="idade" type="xs:integer"/>
<xs:element name="nascimento" type="xs:date"/>
Valores Padrão e Fixo
 É possível especificar um valor fixo ou
padrão para elementos simples
<xs:element name="sexo" type="xs:string"
default="M"/>
 O valor padrão é usado caso nenhum outro
seja definido
 Já o valor fixo não pode ser alterado
<xs:element name="cor" type="xs:string"
fixed="azul"/>
Exemplo de Atributo
 Exemplo
<nome prefixo="Sr">Smith</nome>
 Declaração
<xs:attribute name="prefixo" type="xs:string"/>
 Opções
 Valor padrão ou constante
 Opcional ou Requerido
 Conteúdos Restritos
Atributos
 São definidos assim
<xs:attribute name="x" type="y">
 Tipos
 xs:string
 xs:decimal
 xs:integer
 xs:boolean
 xs:date
 xs:time
Atributo
 Elemento Vazio
<aluno id="01" />
 Declaração
<xs:element name="aluno" type="xs:string">
<xs:complexType name="aluno">
<xs:attribute name="id" type="xs:string"/>
</xs:complexType>
Ocorrências
 Quantidade de elementos
 DTD: *, ?, +
 Schema: minOccurs, maxOccurs
<xs:element name="cel" type="xs:string"
minOccurs="1" maxOccurs="2"/>
 Valor especial
 maxOccurs="unbounded"
 Sem limites
Tipos de Dados
 É possível criar tipos de dados próprios
<xs:element name="nomecompleto">
<xs:complexType>
<xs:sequence>
<xs:element name="nome" type="xs:string"/>
<xs:element name="sobrenome" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
Ordem dos elementos
 Há três opções
 Sequence: atribui uma ordem fixa aos
elementos
 All: qualquer ordem é possível
 Choice: um elemento da lista aparece
Exemplo
 Para escolha: choice
<xs:element name="setor">
<xs:complexType>
<xs:choice>
<xs:element name="venda" type="xs:string"/>
<xs:element name="caixa" type="xs:string"/>
</xs:choice>
</xs:complexType>
</xs:element>
Tipo Simples
 Enumeration
 Opções de conteúdo
<xs:simpleType name="cor">
<xs:restriction base="xs:string">
<xs:enumeration value="branco"/>
<xs:enumeration value="azul"/>
<xs:enumeration value="verde"/>
</xs:restriction>
</xs:simpleType>
Parsing
 Análise
 É feita uma leitura integral do
documento
 A informação é estrutura de acordo
com a definição de seus elementos
Parsers
 Lêem o documento XML
 Analisam a formatação e gramática
 Convertem em um objeto DOM
 Para ser acessado via JavaScript
 Expat
 Desenvolvido em C
 XML4J
 Suporta DOM e SAX
SAX (Simple API for XML)
 É um conjunto de interfaces Java
 Permite criação de aplicativos para
ler dados em um documento XML
 Parsing
DOM (Document Object Model)
 Define um modo padrão para acessar e
manipular documentos XML
 Interpreta como estrutura em árvore
 Permitindo acesso, alteração, criação e
remoção de nós
 Armazena o documento todo na
memória
 Não recomendado para arquivos grandes
DOM
 Para navegação e manipulação de
conteúdo
 Adição de modelos de folhas de estilo
 Visualização da formatação dos
documentos
 Método para recuperar dados
 getElementsByTagName()
Linguagens Derivadas
 XHTML última versão do HTML
 SVG formato de imagens
 SMIL para descrever multimídia na web
 WSDL para descrever webservices
 WAP linguagem de marcação para PDAs
 RSS para feeds
 RDF e OWL para descrever recursos e
ontologias
 MathML, CML
SVG
 Scalable Vector Graphics
 Especificação para gráficos
 Escaláveis
 Interativos
 Padrão W3C
SMIL (smile)
 Synchronized Multimedia Integration
Language
 Descreve o tempo em uma
apresentação
 Descreve o layout da apresentação na
tela
 Associa links aos objetos de mídia
MathML
 Mathematical Markup Language
 Recomendação W3C
 Linguagem para descrições
matemáticas
 Provê acessibilidade
 E consultas mais precisas
MathML
 Usa a notação pré-fixa (6+2)
<math>
<apply>
<plus/> --> Operador vem antes.
<cn>6</cn> --> 1º operando
<cn>2</cn> --> 2º operando
</apply>
</math>
CML – H2O
<?xml version="1.0"?>
<cml xmlns="http://www.xml-cml.org/schema/cml2/core"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation= "http://www.xml-
cml.org/schema/cml2/core cmlCore.xsd">
<molecule title="Water">
<atomArray>
<atom id="a1" elementType="H" hydrogenCount="0"/>
<atom id="a2" elementType="O" hydrogenCount="2"/>
<atom id="a3" elementType="H" hydrogenCount="0"/>
</atomArray>
<bondArray>
<bond atomRefs2="a1 a2" order="1"/>
<bond atomRefs2="a2 a3" order="1"/>
</bondArray>
</molecule>
</cml>
Considerações Importantes
 XML: Extensible Markup Language
 Não substitui o HTML
 DTD: Document Type Definition
 XSL: Extensible Stylesheet Language
 <?xml version="1.0"?>
 Documentos válidos x bem-formados
XSL
Extensible
Stylesheet
Language
Definição de XSL
 XSL: Extensible Stylesheet Language
 Transforma o XML adicionando folhas de
estilo a ele
 Usa linguagem de transformação e de
formatação
 XSL
 É um conjunto de recomendações para
definir a transformação e a apresentação
de um documento XML
Transformação do XML
 Reorganiza o conteúdo
 Adicionando
 Movendo ou
 Excluindo elementos
 XSL
 Associa regras de formatação aos
elementos
Folhas de Estilo
 Arquivos que descrevem a formatação
de documentos XML
 Consistem em:
 XPATH
 Transformações ou XSLT
 XSL-FO
Comparação
 CSS
 Folhas de estilo para apresentar
conteúdo HML
 XSL
 Folhas de estilo para apresentar
conteúdo XML
X-PATH
XPATH
 Sintaxe para navegar por conteúdo
XML
 Possui uma biblioteca de funções
padrão
 É o principal elemento de XSLT
 É um recomendação da W3C
XPATH
 Linguagem para acesso ao conteúdo
de um documento XML
 Manipula strings, números, booleanos
 Navega pela estrutura hierárquica
de um documento XML
 Classifica os nós em 5 tipos
 Pai, filho, irmão, ancestral e
descendente
Nós em XPATH
 São de 7 tipos diferentes
 Elemento
 Atributo
 Texto
 Namespaces
 Instruções de processamento
 Comentários
 Raiz
 Documentos XML são sempre tratados
como árvores
Nós em XPATH
 Valores Atômicos
 São nós sem filhos ou sem pais
 Ex: <nome>Maria</nome>
 Nós Pais
 Todo elemento e atributo possui um pai
 Filhos
 Elementos podem ter zero, um ou mais
filhos
Nós em XPATH
 Irmãos
 Nós com o mesmo pai
 Nó Ancestral
 O pai, ou avó ... de um nó
 Nós Descendentes
 Os filhos, ou netos ... de um nó
Expressões em XPATH
 São utilizadas para
 Selecionar nós e conjuntos de nós em
um documento XML
 Sua sintaxe é similar à de
navegação por sistemas de arquivos
Expressões em XPATH
seleciona os atributos do nó@
seleciona o pai do nó atual..
seleciona o nó atual.
seleciona nós do documento a partir do nó atual//
seleciona do nó raiz/
seleciona todos os nós filhos do nó correspondentenome do nó
DescriçãoExpressão
Exemplos de expressões
XPATH
todos os elementos telefone que tenham um
atributo tipo de valor celular
//telefone[@tipo='celular']
o primeiro elemento nome que é filho de
agenda
/agenda/nome[1]
todos os elementos telefone que tenham um
atributo tipo
//telefone[@tipo]
os dois primeiros elemento nome que é filho
de agenda
/agenda/nome[position() < 3]
o penúltimo elemento nome que é filho de
agenda
/agenda/nome[last() - 1]
o último elemento nome que é filho de
agenda
/agenda/nome[last()]
o primeiro elemento nome que é filho de
agenda
/agenda/nome[1]
SeleçãoExpressão
Expressões Genéricas
 *
 Seleciona qualquer elemento
 @*
 Seleciona qualquer atributo de qualquer
elemento
 node()
 Seleciona qualquer nó de qualquer tipo
 |
 Seleciona mais de um caminho
 Ex://agenda/nome | //agenda/telefone
Eixos em XPATH
 Definem um conjunto de nós relativos
todos os atributos do nó atualattribute
todos os filhos do nó atualchild
e ele própriodescendant-or-self
todos os descendentesdescendant
e ele próprioancestor-or-self
todos os ancestraisancestor
Eixos em XPATH
 Definem um conjunto de nós relativos
todos os nós de namespaces do nó atualnamespace
todos os filhos do nó atualchild
tudo no documento que está antes do nó
atual
preceding
o pai do nó atualparent
todos os irmão após o nó atualfollowing-sibling
tudo no documento que vier na
sequência do nó atual
following
Operadores em XPATH
divisãodiv
subtração-
igual=
multiplicação*
adição+
processa dois conjuntos de nós|
Operadores em XPATH
maior que>
menor ou igual a<=
maior ou igual a>=
menor que<
diferente!=
Operadores em XPATH
módulo (resto da divisão)mod
eand
ouor
Expressão de local
 Um caminho de localização pode ser
 Absoluto ou
 Relativo
 Caminhos absolutos são iniciados
por um barra
 /nome
 Caminhos relativos não
 nome
Funções Padrão
 XPATH possui uma biblioteca com
mais de 100 funções padrão para
 Comparação de strings, valores
numéricos, booleanos, e tempo
 Manipulação de nós e de sequências
 XPATH é usada em XSLT
Considerações Importantes
 XSL
 Transforma os elementos usando XSLT
 Formata os elementos usando XSL-FO
 XPATH
 Linguagem para seleção e manipulação
de nós XML
Considerações Finais
 XML é uma linguagem dependente,
portanto é necessário
 XSD para validar um documento (ou
DTD)
 XSL para transformar e formatar
 XPATH para navegar pelo documento
fonte
Referências
[XPath, 1999] Definição de XPath disponível em: http
://www.w3.org/TR/xpath
[XPath, 2009] Tutorial sobre XPath disponível em: http
://www.w3schools.com/xpath/
[XSL, 2009] Tutorial sobre XSL da W3C. Disponível em:
http://www.w3schools.com/Xsl/xsl_languages.asp

Aplicando Transformação em XML usando XSLT e XSL-FO - 2

  • 1.
    Aplicando Transformações em XMLusando XSLT e XSL-FO Ms Vivian Genaro Motti Profª Drª Maria da Graça Pimentel Prof Dr Rudinei Goularte Ilhéus, maio de 2009. ERBASE
  • 2.
     Parte I:XML, conceitos e definições  Parte II: XSD, XSL, X-PATH  Parte III: CSS, XSL-T, XSL-FO  Parte IV: XSL-FO (Formatting Objects)
  • 3.
    Sumário  XSD  Schemas XSL  Origem  Definição  Aplicação  XPATH
  • 4.
    Documento XML <?xml version="1.0"encoding="UTF-8"?> <recado>   <para>João</para>   <de>Maria</de>   <assunto>Aviso</assunto>   <mensagem>Sua mãe ligou.</mensagem> </recado>
  • 5.
    Schema <xs:element name="recado"> <xs:complexType> <xs:sequence> <xs:element name="para" type="xs:string"/>  <xs:element name="de" type="xs:string"/>   <xs:element name="assunto" type="xs:string"/>   <xs:element name="mensagem" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
  • 6.
    Associando Schema aoXML <?xml version="1.0"encoding="UTF-8"?> <recado xmlns="http://www.w3schools.com" xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance" xsi:schemaLocation="http://www.w3schools.com recado.xsd">   <para>João</para> ...   <mensagem>Sua mãe ligou.</mensagem> </recado>
  • 7.
    Associando Schema aoXML xmlns="http://www.w3schools.com"  Especifica a declaração do namespace padrão  Todos os elementos usados no XML original estão declarados no namespace da URL  Tendo o namespace disponível: xmlns:xsi="http://www.w3.org/2001/XMLSchema- instance"  Declara-se o namespace a ser usado  E o Schema xsi:schemaLocation="http://www.w3schools.com recado.xsd"
  • 8.
    Restrições  Elementos doSchema que restringem a definição de  simpleType  simpleContent  complexContent
  • 9.
    Elementos Simples  Sãoelementos compostos apenas por texto  Não possuem atributos nem outros elementos  No entanto o texto pode ser de diferentes tipos  Boolean, string, date  É possível restringir seu conteúdo
  • 10.
    Elementos Simples  Sãodefinidos assim <xs:element name="x" type="y">  Tipos  xs:string  xs:decimal  xs:integer  xs:boolean  xs:date  xs:time
  • 11.
  • 12.
    Valores Padrão eFixo  É possível especificar um valor fixo ou padrão para elementos simples <xs:element name="sexo" type="xs:string" default="M"/>  O valor padrão é usado caso nenhum outro seja definido  Já o valor fixo não pode ser alterado <xs:element name="cor" type="xs:string" fixed="azul"/>
  • 13.
    Exemplo de Atributo Exemplo <nome prefixo="Sr">Smith</nome>  Declaração <xs:attribute name="prefixo" type="xs:string"/>  Opções  Valor padrão ou constante  Opcional ou Requerido  Conteúdos Restritos
  • 14.
    Atributos  São definidosassim <xs:attribute name="x" type="y">  Tipos  xs:string  xs:decimal  xs:integer  xs:boolean  xs:date  xs:time
  • 15.
    Atributo  Elemento Vazio <alunoid="01" />  Declaração <xs:element name="aluno" type="xs:string"> <xs:complexType name="aluno"> <xs:attribute name="id" type="xs:string"/> </xs:complexType>
  • 16.
    Ocorrências  Quantidade deelementos  DTD: *, ?, +  Schema: minOccurs, maxOccurs <xs:element name="cel" type="xs:string" minOccurs="1" maxOccurs="2"/>  Valor especial  maxOccurs="unbounded"  Sem limites
  • 17.
    Tipos de Dados É possível criar tipos de dados próprios <xs:element name="nomecompleto"> <xs:complexType> <xs:sequence> <xs:element name="nome" type="xs:string"/> <xs:element name="sobrenome" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
  • 18.
    Ordem dos elementos Há três opções  Sequence: atribui uma ordem fixa aos elementos  All: qualquer ordem é possível  Choice: um elemento da lista aparece
  • 19.
    Exemplo  Para escolha:choice <xs:element name="setor"> <xs:complexType> <xs:choice> <xs:element name="venda" type="xs:string"/> <xs:element name="caixa" type="xs:string"/> </xs:choice> </xs:complexType> </xs:element>
  • 20.
    Tipo Simples  Enumeration Opções de conteúdo <xs:simpleType name="cor"> <xs:restriction base="xs:string"> <xs:enumeration value="branco"/> <xs:enumeration value="azul"/> <xs:enumeration value="verde"/> </xs:restriction> </xs:simpleType>
  • 21.
    Parsing  Análise  Éfeita uma leitura integral do documento  A informação é estrutura de acordo com a definição de seus elementos
  • 22.
    Parsers  Lêem odocumento XML  Analisam a formatação e gramática  Convertem em um objeto DOM  Para ser acessado via JavaScript  Expat  Desenvolvido em C  XML4J  Suporta DOM e SAX
  • 23.
    SAX (Simple APIfor XML)  É um conjunto de interfaces Java  Permite criação de aplicativos para ler dados em um documento XML  Parsing
  • 24.
    DOM (Document ObjectModel)  Define um modo padrão para acessar e manipular documentos XML  Interpreta como estrutura em árvore  Permitindo acesso, alteração, criação e remoção de nós  Armazena o documento todo na memória  Não recomendado para arquivos grandes
  • 25.
    DOM  Para navegaçãoe manipulação de conteúdo  Adição de modelos de folhas de estilo  Visualização da formatação dos documentos  Método para recuperar dados  getElementsByTagName()
  • 26.
    Linguagens Derivadas  XHTMLúltima versão do HTML  SVG formato de imagens  SMIL para descrever multimídia na web  WSDL para descrever webservices  WAP linguagem de marcação para PDAs  RSS para feeds  RDF e OWL para descrever recursos e ontologias  MathML, CML
  • 27.
    SVG  Scalable VectorGraphics  Especificação para gráficos  Escaláveis  Interativos  Padrão W3C
  • 28.
    SMIL (smile)  SynchronizedMultimedia Integration Language  Descreve o tempo em uma apresentação  Descreve o layout da apresentação na tela  Associa links aos objetos de mídia
  • 29.
    MathML  Mathematical MarkupLanguage  Recomendação W3C  Linguagem para descrições matemáticas  Provê acessibilidade  E consultas mais precisas
  • 30.
    MathML  Usa anotação pré-fixa (6+2) <math> <apply> <plus/> --> Operador vem antes. <cn>6</cn> --> 1º operando <cn>2</cn> --> 2º operando </apply> </math>
  • 31.
    CML – H2O <?xmlversion="1.0"?> <cml xmlns="http://www.xml-cml.org/schema/cml2/core" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation= "http://www.xml- cml.org/schema/cml2/core cmlCore.xsd"> <molecule title="Water"> <atomArray> <atom id="a1" elementType="H" hydrogenCount="0"/> <atom id="a2" elementType="O" hydrogenCount="2"/> <atom id="a3" elementType="H" hydrogenCount="0"/> </atomArray> <bondArray> <bond atomRefs2="a1 a2" order="1"/> <bond atomRefs2="a2 a3" order="1"/> </bondArray> </molecule> </cml>
  • 32.
    Considerações Importantes  XML:Extensible Markup Language  Não substitui o HTML  DTD: Document Type Definition  XSL: Extensible Stylesheet Language  <?xml version="1.0"?>  Documentos válidos x bem-formados
  • 33.
  • 34.
    Definição de XSL XSL: Extensible Stylesheet Language  Transforma o XML adicionando folhas de estilo a ele  Usa linguagem de transformação e de formatação  XSL  É um conjunto de recomendações para definir a transformação e a apresentação de um documento XML
  • 35.
    Transformação do XML Reorganiza o conteúdo  Adicionando  Movendo ou  Excluindo elementos  XSL  Associa regras de formatação aos elementos
  • 36.
    Folhas de Estilo Arquivos que descrevem a formatação de documentos XML  Consistem em:  XPATH  Transformações ou XSLT  XSL-FO
  • 37.
    Comparação  CSS  Folhasde estilo para apresentar conteúdo HML  XSL  Folhas de estilo para apresentar conteúdo XML
  • 38.
  • 39.
    XPATH  Sintaxe paranavegar por conteúdo XML  Possui uma biblioteca de funções padrão  É o principal elemento de XSLT  É um recomendação da W3C
  • 40.
    XPATH  Linguagem paraacesso ao conteúdo de um documento XML  Manipula strings, números, booleanos  Navega pela estrutura hierárquica de um documento XML  Classifica os nós em 5 tipos  Pai, filho, irmão, ancestral e descendente
  • 41.
    Nós em XPATH São de 7 tipos diferentes  Elemento  Atributo  Texto  Namespaces  Instruções de processamento  Comentários  Raiz  Documentos XML são sempre tratados como árvores
  • 42.
    Nós em XPATH Valores Atômicos  São nós sem filhos ou sem pais  Ex: <nome>Maria</nome>  Nós Pais  Todo elemento e atributo possui um pai  Filhos  Elementos podem ter zero, um ou mais filhos
  • 43.
    Nós em XPATH Irmãos  Nós com o mesmo pai  Nó Ancestral  O pai, ou avó ... de um nó  Nós Descendentes  Os filhos, ou netos ... de um nó
  • 44.
    Expressões em XPATH São utilizadas para  Selecionar nós e conjuntos de nós em um documento XML  Sua sintaxe é similar à de navegação por sistemas de arquivos
  • 45.
    Expressões em XPATH selecionaos atributos do nó@ seleciona o pai do nó atual.. seleciona o nó atual. seleciona nós do documento a partir do nó atual// seleciona do nó raiz/ seleciona todos os nós filhos do nó correspondentenome do nó DescriçãoExpressão
  • 46.
    Exemplos de expressões XPATH todosos elementos telefone que tenham um atributo tipo de valor celular //telefone[@tipo='celular'] o primeiro elemento nome que é filho de agenda /agenda/nome[1] todos os elementos telefone que tenham um atributo tipo //telefone[@tipo] os dois primeiros elemento nome que é filho de agenda /agenda/nome[position() < 3] o penúltimo elemento nome que é filho de agenda /agenda/nome[last() - 1] o último elemento nome que é filho de agenda /agenda/nome[last()] o primeiro elemento nome que é filho de agenda /agenda/nome[1] SeleçãoExpressão
  • 47.
    Expressões Genéricas  * Seleciona qualquer elemento  @*  Seleciona qualquer atributo de qualquer elemento  node()  Seleciona qualquer nó de qualquer tipo  |  Seleciona mais de um caminho  Ex://agenda/nome | //agenda/telefone
  • 48.
    Eixos em XPATH Definem um conjunto de nós relativos todos os atributos do nó atualattribute todos os filhos do nó atualchild e ele própriodescendant-or-self todos os descendentesdescendant e ele próprioancestor-or-self todos os ancestraisancestor
  • 49.
    Eixos em XPATH Definem um conjunto de nós relativos todos os nós de namespaces do nó atualnamespace todos os filhos do nó atualchild tudo no documento que está antes do nó atual preceding o pai do nó atualparent todos os irmão após o nó atualfollowing-sibling tudo no documento que vier na sequência do nó atual following
  • 50.
  • 51.
    Operadores em XPATH maiorque> menor ou igual a<= maior ou igual a>= menor que< diferente!=
  • 52.
    Operadores em XPATH módulo(resto da divisão)mod eand ouor
  • 53.
    Expressão de local Um caminho de localização pode ser  Absoluto ou  Relativo  Caminhos absolutos são iniciados por um barra  /nome  Caminhos relativos não  nome
  • 54.
    Funções Padrão  XPATHpossui uma biblioteca com mais de 100 funções padrão para  Comparação de strings, valores numéricos, booleanos, e tempo  Manipulação de nós e de sequências  XPATH é usada em XSLT
  • 55.
    Considerações Importantes  XSL Transforma os elementos usando XSLT  Formata os elementos usando XSL-FO  XPATH  Linguagem para seleção e manipulação de nós XML
  • 56.
    Considerações Finais  XMLé uma linguagem dependente, portanto é necessário  XSD para validar um documento (ou DTD)  XSL para transformar e formatar  XPATH para navegar pelo documento fonte
  • 57.
    Referências [XPath, 1999] Definiçãode XPath disponível em: http ://www.w3.org/TR/xpath [XPath, 2009] Tutorial sobre XPath disponível em: http ://www.w3schools.com/xpath/ [XSL, 2009] Tutorial sobre XSL da W3C. Disponível em: http://www.w3schools.com/Xsl/xsl_languages.asp