1 / 20

Ambientes de Desenvolvimento XML DOM-XSL-XSD

Ambientes de Desenvolvimento XML DOM-XSL-XSD. Paulo Sousa ISEP/IPP Portugal. Conteúdo. XML DOM XSL XSD. Tecnologias XML. Um conjunto de tecnologias para representação e manipulação de dados (essencialmente) para sistemas desenvolvidos sobre a Internet Quase na totalidade normas W3C.

Download Presentation

Ambientes de Desenvolvimento XML DOM-XSL-XSD

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Ambientes de DesenvolvimentoXML DOM-XSL-XSD Paulo Sousa ISEP/IPP Portugal

  2. Conteúdo • XML DOM • XSL • XSD XML DOM-XSL-XSD

  3. Tecnologias XML • Um conjunto de tecnologias para representação e manipulação de dados (essencialmente) para sistemas desenvolvidos sobre a Internet • Quase na totalidade normas W3C XML DOM-XSL-XSD

  4. XSL • XSL = eXtensible Stylesheet Language • XSL-T (Transform) • Permite a transformação de dados XML para outro formato • XSL-FO (Formating Objects) • Permite a criação de objectos de formatação de elementos XML (por exemplo, geração de PDF) XML DOM-XSL-XSD

  5. XSL (2) • Exemplo de documento XSL-T • Geração de HTML para visualização de forma tabular • Utilização de página XSL-T • <?xml-stylesheet type="text/xsl" href=“nome-fich.xsl"?> Code Demo XML DOM-XSL-XSD

  6. XSL (3) • Sintaxe • Indicação de documento XSL-T • <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> • Definição de template • <xsl:template match="critério"> • Ciclo para percorrer todos os elementos • <xsl:for-each select="critério"> • Obter o valor de um elemento/atributo • <xsl:value-of select="nome-elemento"/> • <xsl:value-of select=“@nome-atributo"/> XML DOM-XSL-XSD

  7. XSL (4) • Sintaxe • Ordenação • <xsl:sort select=“nome-elemento" order="ascending" /> • Operadores • &lt; &lt;= &gt; &gt;= and or = != + - * div mod . • Funções • position() count() last() substring() concat() contains() round() sum() • Condições • nome-do-elemento-ou-atributo[condição] • sm[. &lt; 30] XML DOM-XSL-XSD

  8. XSL (5) • Sintaxe • Testes condicionais <xsl:choose> <xsl:when test="sm[. &lt; 3.8]"> <xsl:value-of select="sm"/> </xsl:when> <xsl:when test="sm[. &lt; 4.5]"> <em><xsl:value-of select="sm"/></em> </xsl:when> <xsl:otherwise> <strong><xsl:value-of select="sm"/></strong> </xsl:otherwise> </xsl:choose> Inicio do bloco de decisão Teste condicional Acção a executar Acção por defeito Code Demo XML DOM-XSL-XSD

  9. XSL (6) • Exercícios • Criar um XSL para documento XML de exercício anterior (CDs) para geração de HTML de forma tabular • Visualizar o resultado no browser • Solução Code Demo XML DOM-XSL-XSD

  10. XML DOM • DOM = Document Object Model • Acesso programático a documentos XML • MSXML v3+ • Árvore de nós em que cada nó é um elemento XML DOM-XSL-XSD

  11. XML DOM (2) XML DOM-XSL-XSD

  12. XML DOM (3) • Criar um objecto • ASP (VBScript) • Set oXML = Server.CreateObject("MSXML2.DOMDocument") • Browser (javascript) • var oXML = new ActiveXObject("MSXML2.DOMDocument"); • Inicializar conteúdo a partir de um ficheiro XML • oXML.load(nome-ficheiro) • Inicializar conteúdo a partir de uma string XML • oXML.loadXML(string) XML DOM-XSL-XSD

  13. XML DOM (4) • Obter código de erro • oXML.parseError.errorCode • Conteúdo como string XML (MSXML) • var-string = oXML.documentElement.xml • oXML.documentElement.xml = string • Referência para nó raíz • oNodo = oXML.documentElement • oXML.documentElement = objecto-nodo • Aplicar transformação XSL • var-string = oXML.transformNode(objecto-XSL) XML DOM-XSL-XSD

  14. XML DOM (5) • Criar um novo nó • objecto-nodo = oXML.createElement("nome-elemento") • objecto-outro-nodo = objecto-nodo.cloneNode(deep) • Conteúdo de um nó • var-string = objecto-nodo.nodeValue • objecto-nodo.nodeValue = string • Conteúdo de um nó (MSXML) • var-string = objecto-nodo.text • objecto-nodo.text = string XML DOM-XSL-XSD

  15. XML DOM (6) • Adicionar um nó como filho de outro nó • objecto-nodo-pai.appendChild(objecto-nodo-filho) • Colecção de filhos de um nó • objecto-nodo.childNodes • Número de filhos de um nó • objecto-nodo.childNodes.length • Referência ao enésimo filho de um nó • objecto-outro-nodo = objecto-nodo.childNodes(indice) • objecto-nodo.childNodes(indice) = objecto-outro-nodo XML DOM-XSL-XSD

  16. XML DOM (7) • Criar um atributo • objecto-atributo = oXML.createAttribute("nome") • Conteúdo de um atributo • objecto-atributo.nodeValue = string • var-string = objecto-atributo.nodeValue • Colecção de atributos de um nó • objecto-nodo.attributes • Número de atributos de um nó • objecto-nodo.attributes.length XML DOM-XSL-XSD

  17. XML DOM (8) • Referência ao enésimo atributo de um nó • objecto-outro-nodo = objecto-nodo.attributes(indice) • objecto-nodo.attributes(indice) = objecto-outro-nodo • Adicionar um atributo • objecto-nodo.attributes.setNamedItem(objecto-atributo) • objecto-nodo.setAttribute(nome, valor) • Obter valor de um atributo • objecto-nodo.attributes.getNamedItem(nome) • objecto-nodo.getAttribute(nome) XML DOM-XSL-XSD

  18. XML DOM (9) • Exercício • Criar uma página HTML para criar um objecto XML e carregar o ficheiro anterior (CDs) e visualizar a string XML numa janela de diálogo window.alert, aplicar a transformação XSL definida e visualizar o HTML gerado • Criar uma página HTML para criar um objecto XML e adicionar programaticamente um ou dois nó e visualizar o XML correspondente Demo Demo XML DOM-XSL-XSD

  19. XSD XML DOM-XSL-XSD

  20. Onde Obter Mais Informação • Site da W3C http://www.w3c.org/XML/ • Site da Microsoft para programadores http://msdn.microsoft.com/xml • Minha página de Ambientes de Desenvolvimento http://www.dei.isep.ipp.pt/~psousa/aulas/amb-des XML DOM-XSL-XSD

More Related