SlideShare uma empresa Scribd logo
1 de 38
Baixar para ler offline
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co           XML a fundo         Valida¸˜o de XMLs
                                                               ca            Desenvolvendo aplica¸˜es com XML
                                                                                                 co




                                   Programa¸˜o para Web
                                           ca
                                                   XML


                                             Ivo Calado

                   Instituto Federal de Educa¸˜o, Ciˆncia e Tecnologia de Alagoas
                                             ca     e


                                     27 de Mar¸o de 2012
                                              c




1 / 27                                             Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca       Especifica¸˜es XML
                         co         XML a fundo         Valida¸˜o de XMLs
                                                              ca            Desenvolvendo aplica¸˜es com XML
                                                                                                co




Roteiro


         1   Introdu¸˜o
                    ca

         2   Especifica¸˜es XML
                      co

         3   XML a fundo

         4   Valida¸˜o de XMLs
                   ca

         5   Desenvolvendo aplica¸˜es com XML
                                 co


2 / 27                                            Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo         Valida¸˜o de XMLs
                                                             ca            Desenvolvendo aplica¸˜es com XML
                                                                                               co



O que XML?


Defini¸˜o
     ca

             EXtensible Markup Language
             ´
             E uma linguagem de marca¸˜o bastante semelhante ` HTML
                                     ca                      a




3 / 27                                           Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo         Valida¸˜o de XMLs
                                                             ca            Desenvolvendo aplica¸˜es com XML
                                                                                               co



O que XML?


Defini¸˜o
     ca

             EXtensible Markup Language
             ´
             E uma linguagem de marca¸˜o bastante semelhante ` HTML
                                     ca                      a
             Por´m n˜o descende e nem originou o HTML
                e     a
             ´ origin´ria do SGML
             E       a




3 / 27                                           Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo         Valida¸˜o de XMLs
                                                             ca            Desenvolvendo aplica¸˜es com XML
                                                                                               co



O que XML?


Defini¸˜o
     ca

             EXtensible Markup Language
             ´
             E uma linguagem de marca¸˜o bastante semelhante ` HTML
                                     ca                      a
             Por´m n˜o descende e nem originou o HTML
                e     a
             ´ origin´ria do SGML
             E       a
             ´
             E bem mais flex´ que o HTML
                           ıvel
             ´
             E uma recomenda¸˜o da W3C
                             ca




3 / 27                                           Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo         Valida¸˜o de XMLs
                                                             ca            Desenvolvendo aplica¸˜es com XML
                                                                                               co



O que XML?


Defini¸˜o
     ca

             EXtensible Markup Language
             ´
             E uma linguagem de marca¸˜o bastante semelhante ` HTML
                                     ca                      a
             Por´m n˜o descende e nem originou o HTML
                e     a
             ´ origin´ria do SGML
             E       a
             ´
             E bem mais flex´ que o HTML
                           ıvel
             ´
             E uma recomenda¸˜o da W3C
                             ca

         Qual a rela¸˜o entre HTML, XML e XHTML?
                    ca



3 / 27                                           Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo         Valida¸˜o de XMLs
                                                             ca            Desenvolvendo aplica¸˜es com XML
                                                                                               co



O que XML?


Defini¸˜o
     ca

             EXtensible Markup Language
             ´
             E uma linguagem de marca¸˜o bastante semelhante ` HTML
                                     ca                      a
             Por´m n˜o descende e nem originou o HTML
                e     a
             ´ origin´ria do SGML
             E       a
             ´
             E bem mais flex´ que o HTML
                           ıvel
             ´
             E uma recomenda¸˜o da W3C
                             ca

         Qual a rela¸˜o entre HTML, XML e XHTML?
                    ca
         XHTML ´ a linguagem HTML escrita sob as restri¸˜es do XML
                  e                                    co


3 / 27                                           Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo         Valida¸˜o de XMLs
                                                             ca            Desenvolvendo aplica¸˜es com XML
                                                                                               co



Diferen¸a entre XML e HTML
       c


Diferen¸a entre XML e HTML
       c


         Qual seria a diferen¸a b´sica entre XML e HTML?
                             c a




4 / 27                                           Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo         Valida¸˜o de XMLs
                                                             ca            Desenvolvendo aplica¸˜es com XML
                                                                                               co



Diferen¸a entre XML e HTML
       c


Diferen¸a entre XML e HTML
       c


         Qual seria a diferen¸a b´sica entre XML e HTML?
                             c a
         XML foi projetado para armazenar dados e n˜o para exibi-los!
                                                    a

             XML n˜o ´ um substituto do HTML
                  a e
             Diferentes objetivos:
             XML foi projetado para descrever dados e com foco no que o
             dado ´e
             HTML foi projetado para exibir dados e com foco em como a
             informa¸˜o ser´ apresentada
                     ca     a



4 / 27                                           Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca       Especifica¸˜es XML
                         co         XML a fundo         Valida¸˜o de XMLs
                                                              ca            Desenvolvendo aplica¸˜es com XML
                                                                                                co



Diferen¸a entre XML e HTML
       c


Exemplo de XML



         <? xml v e r s i o n=" 1.0 " e n c o d i n g=" ISO -8859 -1 " ?>
         <n o t e>
           <t o>Tove</ t o>
           <from>J a n i</ from>
           <h e a d i n g>Reminder</ h e a d i n g>
           <body>Don ’ t f o r g e t me t h i s weekend !</ body>
         </ n o t e>




5 / 27                                            Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca       Especifica¸˜es XML
                         co         XML a fundo         Valida¸˜o de XMLs
                                                              ca            Desenvolvendo aplica¸˜es com XML
                                                                                                co



Porque XML ´ importante?
           e


Porque XML ´ importante?
           e

         Texto Plano
             F´cil de editar
              a
             ´
             Util para armazenar pequenas quantidades de dados
             Possibilita o armazenamento eficiente de uma grande
             quantidade de dados atrav´s de um XML front end e de um
                                      e
             banco de dados
         Indentifica¸˜o dos Dados
                   ca
             Descreve o tipo de informa¸˜o armazenado (Metadado)
                                       ca
             Pode ser usado de diferentes formas por diferentes aplica¸˜es
                                                                      co


6 / 27                                            Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca       Especifica¸˜es XML
                         co         XML a fundo         Valida¸˜o de XMLs
                                                              ca            Desenvolvendo aplica¸˜es com XML
                                                                                                co



Porque XML ´ importante?
           e


Porque XML ´ importante?
           e

         Estilo de exibi¸˜o
                        ca
             Desassocia o armazenamento da informa¸˜o do seu
                                                  ca
             processamento




7 / 27                                            Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca       Especifica¸˜es XML
                         co         XML a fundo         Valida¸˜o de XMLs
                                                              ca            Desenvolvendo aplica¸˜es com XML
                                                                                                co



Porque XML ´ importante?
           e


Porque XML ´ importante?
           e

         Estilo de exibi¸˜o
                        ca
             Desassocia o armazenamento da informa¸˜o do seu
                                                  ca
             processamento
             Para isso, usa-se a linguagem XSL
             XSL possibilita a apresenta¸˜o do conte´do armazenado no
                                        ca          u
             XML sob diferentes estilos
         Reusabilidade inline
             Pode ser composto de diferentes entidades
             ´
             E poss´ modularizar o documento e fazer referencia entre
                   ıvel
             eles

7 / 27                                            Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca       Especifica¸˜es XML
                         co         XML a fundo         Valida¸˜o de XMLs
                                                              ca            Desenvolvendo aplica¸˜es com XML
                                                                                                co



Porque XML ´ importante?
           e


Porque XML ´ importante?
           e


         Facilmente process´vel
                           a
             Possui uma nota¸˜o regular e consistente
                            ca
             Nota¸˜o independente de fabricante
                 ca
         Formato baseado em hierarquia
             R´pido de acessar
              a
             F´cil de rearranjar
              a




8 / 27                                            Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo         Valida¸˜o de XMLs
                                                             ca            Desenvolvendo aplica¸˜es com XML
                                                                                               co




Especifica¸oes XML
         c˜



         Diversas especifica¸˜es fazem parte do padr˜o XML
                           co                      a
             XML 1.0: define a estrutura da sintaxe de documento XML
             XPointer e XLink: define uma abordagem padr˜o para
                                                       a
             representa¸˜o referˆncia entre recursos
                       ca       e
             XSL: Define uma abordagem padr˜o para representa¸˜o de
                                               a            ca
             estilos a serem aplica¸˜es em documentos XML
                                   co




9 / 27                                           Ivo Calado                                           IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca          Especifica¸˜es XML
                            co             XML a fundo        Valida¸˜o de XMLs
                                                                    ca            Desenvolvendo aplica¸˜es com XML
                                                                                                      co



XML Building blocks


Elementos


                Delimitados por colchetes angulates (< e >)
                Identifica a natureza do conte´do que circunda
                                             u
          Formato geral:
          <e l e m e n t> . . . </ e l e m e n t>

          Elementos vazios:
             <e m p t y e l e m e n t />




10 / 27                                                  Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca       Especifica¸˜es XML
                         co          XML a fundo        Valida¸˜o de XMLs
                                                              ca            Desenvolvendo aplica¸˜es com XML
                                                                                                co



XML Building blocks


Atributos



              Pares chave-valor
              Em geral usa-se como metadado sobre os elementos
              Os valores devem estar entre aspas

          <e l e m e n t a t t r i b u t e=" value ">




11 / 27                                            Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo        Valida¸˜o de XMLs
                                                            ca            Desenvolvendo aplica¸˜es com XML
                                                                                              co



Sintaxe XML


Sintaxe XML

              Todos elementos devem ter uma tag de fechamento
              Tags XML s˜o case sensitive
                        a
              Todo os elementos XML devem estar corretamente aninhados




12 / 27                                          Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca        Especifica¸˜es XML
                          co         XML a fundo        Valida¸˜o de XMLs
                                                              ca            Desenvolvendo aplica¸˜es com XML
                                                                                                co



Sintaxe XML


Sintaxe XML

               Todos elementos devem ter uma tag de fechamento
               Tags XML s˜o case sensitive
                         a
               Todo os elementos XML devem estar corretamente aninhados

          <n o t e>
            <t o>Tove</ t o>
            <from>J a n i</ from>
            <h e a d i n g>Reminder
                <body>Don ’ t f o r g e t me t h i s weekend !
            </ h e a d i n g>
                </ body>
          </ n o t e>


12 / 27                                            Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo        Valida¸˜o de XMLs
                                                            ca            Desenvolvendo aplica¸˜es com XML
                                                                                              co



Sintaxe XML


Sintaxe XML




              Espa¸os em branco s˜o preservados
                  c              a
              Coment´rios seguem a mesma estrutura do HTML
                    a




13 / 27                                          Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo        Valida¸˜o de XMLs
                                                            ca            Desenvolvendo aplica¸˜es com XML
                                                                                              co



Sintaxe XML


Conclus˜es a partir da sintaxe
       o




              Os elementos s˜o extens´
                            a        ıveis
              H´ um relacionamento entre os elementos
               a
              Os elementos tem conte´do (que podem ser inclusive outros
                                    u
              elementos)




14 / 27                                          Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo        Valida¸˜o de XMLs
                                                            ca            Desenvolvendo aplica¸˜es com XML
                                                                                              co



Sintaxe XML


D´vida
 u




          Quando usar elementos e quando usar atributos?




15 / 27                                          Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca       Especifica¸˜es XML
                         co         XML a fundo        Valida¸˜o de XMLs
                                                             ca            Desenvolvendo aplica¸˜es com XML
                                                                                               co



Sintaxe XML


D´vida
 u




          Quando usar elementos e quando usar atributos?
          Metainforma¸˜o sobre os elementos devem ser armazenados como
                       ca
          atributos e o dado por si s´ deve ser armazenado como elemento.
                                     o




15 / 27                                           Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo        Valida¸˜o de XMLs
                                                            ca            Desenvolvendo aplica¸˜es com XML
                                                                                              co




Por que ´ necess´rio validar um documento XML?
        e       a




16 / 27                                          Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo        Valida¸˜o de XMLs
                                                            ca            Desenvolvendo aplica¸˜es com XML
                                                                                              co




Por que ´ necess´rio validar um documento XML?
        e       a


             Apesar do arquivo estar sintaticamente correto poderemos
             querer que ele siga alguma estrutura




16 / 27                                          Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo        Valida¸˜o de XMLs
                                                            ca            Desenvolvendo aplica¸˜es com XML
                                                                                              co




Por que ´ necess´rio validar um documento XML?
        e       a


             Apesar do arquivo estar sintaticamente correto poderemos
             querer que ele siga alguma estrutura
             Suponha que desejamos criar a estrutura de uma entidade
             Pessoa, poderemos querer for¸ar que a pessoa tenha um
                                         c
             elemento informando o CPF e ter apenas um elemento
             endere¸o
                   c




16 / 27                                          Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo        Valida¸˜o de XMLs
                                                            ca            Desenvolvendo aplica¸˜es com XML
                                                                                              co




Por que ´ necess´rio validar um documento XML?
        e       a


             Apesar do arquivo estar sintaticamente correto poderemos
             querer que ele siga alguma estrutura
             Suponha que desejamos criar a estrutura de uma entidade
             Pessoa, poderemos querer for¸ar que a pessoa tenha um
                                         c
             elemento informando o CPF e ter apenas um elemento
             endere¸o
                   c
             Para isso usamos estruturas de valida¸˜o DTD ou
                                                  ca
             XMLSchema



16 / 27                                          Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co          XML a fundo        Valida¸˜o de XMLs
                                                             ca            Desenvolvendo aplica¸˜es com XML
                                                                                               co



DTD


DTD

             Acrˆnimo de Document Type Definition
                o
             Especifica a estrutura a ser utilizada pelo documento XML
             Pode ser definido tanto dentro do XML quanto em um
             documento externo

          <!DOCTYPE    note [
          <!ELEMENT    n o t e ( to , from , h e a d i n g , body )>
          <!ELEMENT    t o (#PCDATA)>
          <!ELEMENT    from (#PCDATA)>
          <!ELEMENT    h e a d i n g (#PCDATA)>
          <!ELEMENT    body (#PCDATA)>
          ]>


17 / 27                                           Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca         Especifica¸˜es XML
                           co         XML a fundo        Valida¸˜o de XMLs
                                                               ca            Desenvolvendo aplica¸˜es com XML
                                                                                                 co



DTD


DTD


          <? xml v e r s i o n=" 1.0 " e n c o d i n g=" ISO -8859 -1 " ?>
          <!DOCTYPE n o t e SYSTEM " Note . dtd ">
          <n o t e>
          <t o>Tove</ t o>
          <from>J a n i</ from>
          <h e a d i n g>Reminder</ h e a d i n g>
          <body>Don ’ t f o r g e t me t h i s weekend !</ body>
          </ n o t e>


          <!DOCTYPE r o o t −e l e m e n t SYSTEM " f i l e n a m e ">




18 / 27                                             Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo        Valida¸˜o de XMLs
                                                            ca            Desenvolvendo aplica¸˜es com XML
                                                                                              co



XMLSchema


O que ´?
      e




             Trata-se de uma altertativa ao DTD
             Oferece uma abordagem baseada em XML
             Tamb´m referenciado como XSD
                 e




19 / 27                                          Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo        Valida¸˜o de XMLs
                                                            ca            Desenvolvendo aplica¸˜es com XML
                                                                                              co



XMLSchema


O que possibilita?


             Define os elementos e atributos que podem aparecer no
             documento
             Define a ordem, o n´mero e quais s˜o os elementos filhos de
                               u              a
             um certo elemento
             Define se um elemento pode ser vazio ou se cont´m texto
                                                           e
             Define o tipo de dado de cada elemento e atributo
             Possibilita definir valores padr˜es para elementos e atributos
                                            o




20 / 27                                          Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo        Valida¸˜o de XMLs
                                                            ca            Desenvolvendo aplica¸˜es com XML
                                                                                              co



XMLSchema


Porque XMlSchema s˜o sucessores dos DTDs?
                  a




             S˜o mais ricos e mais poderosos que os DTDs
              a
             S˜o escritos em XML
              a
             Suportam tipos de dados




21 / 27                                          Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca         Especifica¸˜es XML
                           co          XML a fundo        Valida¸˜o de XMLs
                                                                ca            Desenvolvendo aplica¸˜es com XML
                                                                                                  co



XMLSchema


Exemplo XSD
           <? xml v e r s i o n=" 1.0 " ?>
          <x s : schema xmlns : x s=" http :// www . w3 . org /2001/ X M L S c h e m a "
          t a r g e t N a m e s p a c e=" http :// m y n a m e s p a c e /2011/ e m p r e s a "
          xmlns=" http :// www . w 3 s c h o o l s . com "
          e l e m e n t F o r m D e f a u l t=" q u a l i f i e d ">
          <x s : e l e m e n t name=" note ">
              <x s : complexType>
                  <x s : s e q u e n c e>
                      <x s : e l e m e n t name=" to " type=" xs : string " />
                      <x s : e l e m e n t name=" from " type=" xs : string " />
                      <x s : e l e m e n t name=" h e a d i n g " type=" xs : string " />
                      <x s : e l e m e n t name=" body " type=" xs : string " />
                  </ x s : s e q u e n c e>
              </ x s : complexType>
          </ x s : e l e m e n t>
          </ x s : schema>
22 / 27                                              Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca         Especifica¸˜es XML
                           co           XML a fundo        Valida¸˜o de XMLs
                                                                 ca            Desenvolvendo aplica¸˜es com XML
                                                                                                   co



XMLSchema


Exemplo XML


          <? xml v e r s i o n=" 1.0 " ?>
          <n o t e xmlns=" http :// www . w 3 s c h o o l s . com "
          xmlns : x s i=" http :// www . w3 . org /2001/ XMLSchema - i n s t a n c e "
          x s i : s c h e m a L o c a t i o n=" http :// www . w 3 s c h o o l s . com note . xsd ">
          <t o>Tove</ t o>
          <from>J a n i</ from>
          <h e a d i n g>Reminder</ h e a d i n g>
          <body>Don ’ t f o r g e t me t h i s weekend !</ body>
          </ n o t e>




23 / 27                                               Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo        Valida¸˜o de XMLs
                                                            ca            Desenvolvendo aplica¸˜es com XML
                                                                                              co



XMLSchema


O que s˜o namespaces
       a




             Prov´m um m´todo de evitar conflitos em nomes de elementos
                  e        e
             ´´
             E util quando ´ necess´rio unir documentos de dois
                           e       a
             documentos XML




24 / 27                                          Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca         Especifica¸˜es XML
                           co           XML a fundo        Valida¸˜o de XMLs
                                                                 ca            Desenvolvendo aplica¸˜es com XML
                                                                                                   co



XMLSchema


Exemplo Namespace
          Forma de usar: xmlns:prefix=”URI”
          <r o o t>
          <h : t a b l e xmlns : h=" http :// www . w3 . org / TR / html4 / ">
            <h : t r>
                <h : td>A p p l e s</h : td>
                <h : td>Bananas</h : td>
            </h : t r>
          </h : t a b l e>
          <f : t a b l e xmlns : f=" http :// www . w 3 s c h o o l s . com / f u r n i t u r e ">
            <f : name>A f r i c a n C o f f e e T a b l e</ f : name>
            <f : width>80</ f : width>
            <f : l e n g t h>120</ f : l e n g t h>
          </ f : t a b l e>
          </ r o o t>


25 / 27                                               Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca      Especifica¸˜es XML
                        co         XML a fundo        Valida¸˜o de XMLs
                                                            ca            Desenvolvendo aplica¸˜es com XML
                                                                                              co




Desenvolvendo aplica¸˜es com XML
                    co



             Diversas APIs est˜o dispon´
                              a        ıveis para o desenvolvimento de
             aplica¸˜es que fazem uso de XML
                   co
             Nessas APIs ´ poss´ a cria¸˜o de uma ´rvore XML, sendo
                         e     ıvel     ca         a
             poss´ inclusive a valida¸˜o com base em DTD ou
                 ıvel                ca
             XMLSchema
             Vamos tabalhar com a API JDOM




26 / 27                                          Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca
Introdu¸˜o
       ca       Especifica¸˜es XML
                         co         XML a fundo        Valida¸˜o de XMLs
                                                             ca            Desenvolvendo aplica¸˜es com XML
                                                                                               co



Trabalho


Trabalho I


          Implementar mecanismo de serializa¸˜o e desserializa¸˜o de
                                              ca              ca
          objetos. Fornecer suporte aos seguintes mecanismos
              Tipos primitivos
              Tipos complexos definidos pelo usu´rio
                                               a
              Arrays de tipos complexos
              Objetos do tipo ArrayList
          Implementar mecanismo de XMLSchema que valide o arquivo XML



27 / 27                                           Ivo Calado                                          IFAL
Programa¸˜o para Web
        ca

Mais conteúdo relacionado

Destaque

Introdução ao Excel 2010
Introdução ao Excel 2010Introdução ao Excel 2010
Introdução ao Excel 2010José Calado
 
Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Daniel Brandão
 
Curso de Excel 2007/2010 (Aula 01 e 02)
Curso de Excel 2007/2010 (Aula 01 e 02)Curso de Excel 2007/2010 (Aula 01 e 02)
Curso de Excel 2007/2010 (Aula 01 e 02)Instituto Inovar
 
Excel Básico
Excel BásicoExcel Básico
Excel Básicoaprcds
 
Passo a passo para baixar slides
Passo a passo para baixar slidesPasso a passo para baixar slides
Passo a passo para baixar slidesDênia Cavalcante
 
Como baixar os estudo no slideshare
Como baixar os estudo no slideshareComo baixar os estudo no slideshare
Como baixar os estudo no slideshareMoisés Sampaio
 

Destaque (7)

Introdução ao Excel 2010
Introdução ao Excel 2010Introdução ao Excel 2010
Introdução ao Excel 2010
 
Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010Funções e Fórmulas em Excel 2010
Funções e Fórmulas em Excel 2010
 
Curso de Excel 2007/2010 (Aula 01 e 02)
Curso de Excel 2007/2010 (Aula 01 e 02)Curso de Excel 2007/2010 (Aula 01 e 02)
Curso de Excel 2007/2010 (Aula 01 e 02)
 
Excel Básico
Excel BásicoExcel Básico
Excel Básico
 
Aula I - Excel
Aula I - ExcelAula I - Excel
Aula I - Excel
 
Passo a passo para baixar slides
Passo a passo para baixar slidesPasso a passo para baixar slides
Passo a passo para baixar slides
 
Como baixar os estudo no slideshare
Como baixar os estudo no slideshareComo baixar os estudo no slideshare
Como baixar os estudo no slideshare
 

Semelhante a Introdução a eXtensible Markup Language (XML)

Curso XML - IBM Academic Initiative
Curso XML - IBM Academic InitiativeCurso XML - IBM Academic Initiative
Curso XML - IBM Academic InitiativeLoiane Groner
 
Xamarin - Aula 2.1 - AppDolares - Criando a Primeira Interface
Xamarin - Aula 2.1 - AppDolares - Criando a Primeira InterfaceXamarin - Aula 2.1 - AppDolares - Criando a Primeira Interface
Xamarin - Aula 2.1 - AppDolares - Criando a Primeira InterfaceTiago Antônio da Silva
 
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...Adriano Tavares
 
Produtividade em Integração de Aplicações com Apache Camel
Produtividade em Integração de Aplicações com Apache CamelProdutividade em Integração de Aplicações com Apache Camel
Produtividade em Integração de Aplicações com Apache CamelAlessandro Kieras
 
Laszlo, Framework focado em MVC
Laszlo, Framework focado em MVCLaszlo, Framework focado em MVC
Laszlo, Framework focado em MVCraquelcarsi
 
Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Jeison Barros
 
XML-RPC + Python + Banco de Dados - Fernando Massen
XML-RPC + Python + Banco de Dados - Fernando MassenXML-RPC + Python + Banco de Dados - Fernando Massen
XML-RPC + Python + Banco de Dados - Fernando MassenTchelinux
 

Semelhante a Introdução a eXtensible Markup Language (XML) (13)

Curso XML - IBM Academic Initiative
Curso XML - IBM Academic InitiativeCurso XML - IBM Academic Initiative
Curso XML - IBM Academic Initiative
 
Programação web
Programação webProgramação web
Programação web
 
XML
XMLXML
XML
 
Xml Ws
Xml WsXml Ws
Xml Ws
 
Xamarin - Aula 2.1 - AppDolares - Criando a Primeira Interface
Xamarin - Aula 2.1 - AppDolares - Criando a Primeira InterfaceXamarin - Aula 2.1 - AppDolares - Criando a Primeira Interface
Xamarin - Aula 2.1 - AppDolares - Criando a Primeira Interface
 
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
Produtividade em integração de aplicações com apache camel tdc2012-são paulo-...
 
Produtividade em Integração de Aplicações com Apache Camel
Produtividade em Integração de Aplicações com Apache CamelProdutividade em Integração de Aplicações com Apache Camel
Produtividade em Integração de Aplicações com Apache Camel
 
Tp 4 xml
Tp 4   xmlTp 4   xml
Tp 4 xml
 
XML & HTML
XML & HTMLXML & HTML
XML & HTML
 
HTML
HTMLHTML
HTML
 
Laszlo, Framework focado em MVC
Laszlo, Framework focado em MVCLaszlo, Framework focado em MVC
Laszlo, Framework focado em MVC
 
Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1Qual integration framework você deve usar parte 1
Qual integration framework você deve usar parte 1
 
XML-RPC + Python + Banco de Dados - Fernando Massen
XML-RPC + Python + Banco de Dados - Fernando MassenXML-RPC + Python + Banco de Dados - Fernando Massen
XML-RPC + Python + Banco de Dados - Fernando Massen
 

Introdução a eXtensible Markup Language (XML)

  • 1. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Programa¸˜o para Web ca XML Ivo Calado Instituto Federal de Educa¸˜o, Ciˆncia e Tecnologia de Alagoas ca e 27 de Mar¸o de 2012 c 1 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 2. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Roteiro 1 Introdu¸˜o ca 2 Especifica¸˜es XML co 3 XML a fundo 4 Valida¸˜o de XMLs ca 5 Desenvolvendo aplica¸˜es com XML co 2 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 3. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co O que XML? Defini¸˜o ca EXtensible Markup Language ´ E uma linguagem de marca¸˜o bastante semelhante ` HTML ca a 3 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 4. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co O que XML? Defini¸˜o ca EXtensible Markup Language ´ E uma linguagem de marca¸˜o bastante semelhante ` HTML ca a Por´m n˜o descende e nem originou o HTML e a ´ origin´ria do SGML E a 3 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 5. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co O que XML? Defini¸˜o ca EXtensible Markup Language ´ E uma linguagem de marca¸˜o bastante semelhante ` HTML ca a Por´m n˜o descende e nem originou o HTML e a ´ origin´ria do SGML E a ´ E bem mais flex´ que o HTML ıvel ´ E uma recomenda¸˜o da W3C ca 3 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 6. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co O que XML? Defini¸˜o ca EXtensible Markup Language ´ E uma linguagem de marca¸˜o bastante semelhante ` HTML ca a Por´m n˜o descende e nem originou o HTML e a ´ origin´ria do SGML E a ´ E bem mais flex´ que o HTML ıvel ´ E uma recomenda¸˜o da W3C ca Qual a rela¸˜o entre HTML, XML e XHTML? ca 3 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 7. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co O que XML? Defini¸˜o ca EXtensible Markup Language ´ E uma linguagem de marca¸˜o bastante semelhante ` HTML ca a Por´m n˜o descende e nem originou o HTML e a ´ origin´ria do SGML E a ´ E bem mais flex´ que o HTML ıvel ´ E uma recomenda¸˜o da W3C ca Qual a rela¸˜o entre HTML, XML e XHTML? ca XHTML ´ a linguagem HTML escrita sob as restri¸˜es do XML e co 3 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 8. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Diferen¸a entre XML e HTML c Diferen¸a entre XML e HTML c Qual seria a diferen¸a b´sica entre XML e HTML? c a 4 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 9. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Diferen¸a entre XML e HTML c Diferen¸a entre XML e HTML c Qual seria a diferen¸a b´sica entre XML e HTML? c a XML foi projetado para armazenar dados e n˜o para exibi-los! a XML n˜o ´ um substituto do HTML a e Diferentes objetivos: XML foi projetado para descrever dados e com foco no que o dado ´e HTML foi projetado para exibir dados e com foco em como a informa¸˜o ser´ apresentada ca a 4 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 10. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Diferen¸a entre XML e HTML c Exemplo de XML <? xml v e r s i o n=" 1.0 " e n c o d i n g=" ISO -8859 -1 " ?> <n o t e> <t o>Tove</ t o> <from>J a n i</ from> <h e a d i n g>Reminder</ h e a d i n g> <body>Don ’ t f o r g e t me t h i s weekend !</ body> </ n o t e> 5 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 11. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Porque XML ´ importante? e Porque XML ´ importante? e Texto Plano F´cil de editar a ´ Util para armazenar pequenas quantidades de dados Possibilita o armazenamento eficiente de uma grande quantidade de dados atrav´s de um XML front end e de um e banco de dados Indentifica¸˜o dos Dados ca Descreve o tipo de informa¸˜o armazenado (Metadado) ca Pode ser usado de diferentes formas por diferentes aplica¸˜es co 6 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 12. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Porque XML ´ importante? e Porque XML ´ importante? e Estilo de exibi¸˜o ca Desassocia o armazenamento da informa¸˜o do seu ca processamento 7 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 13. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Porque XML ´ importante? e Porque XML ´ importante? e Estilo de exibi¸˜o ca Desassocia o armazenamento da informa¸˜o do seu ca processamento Para isso, usa-se a linguagem XSL XSL possibilita a apresenta¸˜o do conte´do armazenado no ca u XML sob diferentes estilos Reusabilidade inline Pode ser composto de diferentes entidades ´ E poss´ modularizar o documento e fazer referencia entre ıvel eles 7 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 14. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Porque XML ´ importante? e Porque XML ´ importante? e Facilmente process´vel a Possui uma nota¸˜o regular e consistente ca Nota¸˜o independente de fabricante ca Formato baseado em hierarquia R´pido de acessar a F´cil de rearranjar a 8 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 15. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Especifica¸oes XML c˜ Diversas especifica¸˜es fazem parte do padr˜o XML co a XML 1.0: define a estrutura da sintaxe de documento XML XPointer e XLink: define uma abordagem padr˜o para a representa¸˜o referˆncia entre recursos ca e XSL: Define uma abordagem padr˜o para representa¸˜o de a ca estilos a serem aplica¸˜es em documentos XML co 9 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 16. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co XML Building blocks Elementos Delimitados por colchetes angulates (< e >) Identifica a natureza do conte´do que circunda u Formato geral: <e l e m e n t> . . . </ e l e m e n t> Elementos vazios: <e m p t y e l e m e n t /> 10 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 17. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co XML Building blocks Atributos Pares chave-valor Em geral usa-se como metadado sobre os elementos Os valores devem estar entre aspas <e l e m e n t a t t r i b u t e=" value "> 11 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 18. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Sintaxe XML Sintaxe XML Todos elementos devem ter uma tag de fechamento Tags XML s˜o case sensitive a Todo os elementos XML devem estar corretamente aninhados 12 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 19. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Sintaxe XML Sintaxe XML Todos elementos devem ter uma tag de fechamento Tags XML s˜o case sensitive a Todo os elementos XML devem estar corretamente aninhados <n o t e> <t o>Tove</ t o> <from>J a n i</ from> <h e a d i n g>Reminder <body>Don ’ t f o r g e t me t h i s weekend ! </ h e a d i n g> </ body> </ n o t e> 12 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 20. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Sintaxe XML Sintaxe XML Espa¸os em branco s˜o preservados c a Coment´rios seguem a mesma estrutura do HTML a 13 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 21. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Sintaxe XML Conclus˜es a partir da sintaxe o Os elementos s˜o extens´ a ıveis H´ um relacionamento entre os elementos a Os elementos tem conte´do (que podem ser inclusive outros u elementos) 14 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 22. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Sintaxe XML D´vida u Quando usar elementos e quando usar atributos? 15 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 23. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Sintaxe XML D´vida u Quando usar elementos e quando usar atributos? Metainforma¸˜o sobre os elementos devem ser armazenados como ca atributos e o dado por si s´ deve ser armazenado como elemento. o 15 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 24. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Por que ´ necess´rio validar um documento XML? e a 16 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 25. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Por que ´ necess´rio validar um documento XML? e a Apesar do arquivo estar sintaticamente correto poderemos querer que ele siga alguma estrutura 16 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 26. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Por que ´ necess´rio validar um documento XML? e a Apesar do arquivo estar sintaticamente correto poderemos querer que ele siga alguma estrutura Suponha que desejamos criar a estrutura de uma entidade Pessoa, poderemos querer for¸ar que a pessoa tenha um c elemento informando o CPF e ter apenas um elemento endere¸o c 16 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 27. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Por que ´ necess´rio validar um documento XML? e a Apesar do arquivo estar sintaticamente correto poderemos querer que ele siga alguma estrutura Suponha que desejamos criar a estrutura de uma entidade Pessoa, poderemos querer for¸ar que a pessoa tenha um c elemento informando o CPF e ter apenas um elemento endere¸o c Para isso usamos estruturas de valida¸˜o DTD ou ca XMLSchema 16 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 28. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co DTD DTD Acrˆnimo de Document Type Definition o Especifica a estrutura a ser utilizada pelo documento XML Pode ser definido tanto dentro do XML quanto em um documento externo <!DOCTYPE note [ <!ELEMENT n o t e ( to , from , h e a d i n g , body )> <!ELEMENT t o (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT h e a d i n g (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> 17 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 29. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co DTD DTD <? xml v e r s i o n=" 1.0 " e n c o d i n g=" ISO -8859 -1 " ?> <!DOCTYPE n o t e SYSTEM " Note . dtd "> <n o t e> <t o>Tove</ t o> <from>J a n i</ from> <h e a d i n g>Reminder</ h e a d i n g> <body>Don ’ t f o r g e t me t h i s weekend !</ body> </ n o t e> <!DOCTYPE r o o t −e l e m e n t SYSTEM " f i l e n a m e "> 18 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 30. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co XMLSchema O que ´? e Trata-se de uma altertativa ao DTD Oferece uma abordagem baseada em XML Tamb´m referenciado como XSD e 19 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 31. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co XMLSchema O que possibilita? Define os elementos e atributos que podem aparecer no documento Define a ordem, o n´mero e quais s˜o os elementos filhos de u a um certo elemento Define se um elemento pode ser vazio ou se cont´m texto e Define o tipo de dado de cada elemento e atributo Possibilita definir valores padr˜es para elementos e atributos o 20 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 32. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co XMLSchema Porque XMlSchema s˜o sucessores dos DTDs? a S˜o mais ricos e mais poderosos que os DTDs a S˜o escritos em XML a Suportam tipos de dados 21 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 33. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co XMLSchema Exemplo XSD <? xml v e r s i o n=" 1.0 " ?> <x s : schema xmlns : x s=" http :// www . w3 . org /2001/ X M L S c h e m a " t a r g e t N a m e s p a c e=" http :// m y n a m e s p a c e /2011/ e m p r e s a " xmlns=" http :// www . w 3 s c h o o l s . com " e l e m e n t F o r m D e f a u l t=" q u a l i f i e d "> <x s : e l e m e n t name=" note "> <x s : complexType> <x s : s e q u e n c e> <x s : e l e m e n t name=" to " type=" xs : string " /> <x s : e l e m e n t name=" from " type=" xs : string " /> <x s : e l e m e n t name=" h e a d i n g " type=" xs : string " /> <x s : e l e m e n t name=" body " type=" xs : string " /> </ x s : s e q u e n c e> </ x s : complexType> </ x s : e l e m e n t> </ x s : schema> 22 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 34. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co XMLSchema Exemplo XML <? xml v e r s i o n=" 1.0 " ?> <n o t e xmlns=" http :// www . w 3 s c h o o l s . com " xmlns : x s i=" http :// www . w3 . org /2001/ XMLSchema - i n s t a n c e " x s i : s c h e m a L o c a t i o n=" http :// www . w 3 s c h o o l s . com note . xsd "> <t o>Tove</ t o> <from>J a n i</ from> <h e a d i n g>Reminder</ h e a d i n g> <body>Don ’ t f o r g e t me t h i s weekend !</ body> </ n o t e> 23 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 35. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co XMLSchema O que s˜o namespaces a Prov´m um m´todo de evitar conflitos em nomes de elementos e e ´´ E util quando ´ necess´rio unir documentos de dois e a documentos XML 24 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 36. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co XMLSchema Exemplo Namespace Forma de usar: xmlns:prefix=”URI” <r o o t> <h : t a b l e xmlns : h=" http :// www . w3 . org / TR / html4 / "> <h : t r> <h : td>A p p l e s</h : td> <h : td>Bananas</h : td> </h : t r> </h : t a b l e> <f : t a b l e xmlns : f=" http :// www . w 3 s c h o o l s . com / f u r n i t u r e "> <f : name>A f r i c a n C o f f e e T a b l e</ f : name> <f : width>80</ f : width> <f : l e n g t h>120</ f : l e n g t h> </ f : t a b l e> </ r o o t> 25 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 37. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Desenvolvendo aplica¸˜es com XML co Diversas APIs est˜o dispon´ a ıveis para o desenvolvimento de aplica¸˜es que fazem uso de XML co Nessas APIs ´ poss´ a cria¸˜o de uma ´rvore XML, sendo e ıvel ca a poss´ inclusive a valida¸˜o com base em DTD ou ıvel ca XMLSchema Vamos tabalhar com a API JDOM 26 / 27 Ivo Calado IFAL Programa¸˜o para Web ca
  • 38. Introdu¸˜o ca Especifica¸˜es XML co XML a fundo Valida¸˜o de XMLs ca Desenvolvendo aplica¸˜es com XML co Trabalho Trabalho I Implementar mecanismo de serializa¸˜o e desserializa¸˜o de ca ca objetos. Fornecer suporte aos seguintes mecanismos Tipos primitivos Tipos complexos definidos pelo usu´rio a Arrays de tipos complexos Objetos do tipo ArrayList Implementar mecanismo de XMLSchema que valide o arquivo XML 27 / 27 Ivo Calado IFAL Programa¸˜o para Web ca