Jump to content

Search the Community

Showing results for tags 'xslt'.

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Comunidade
    • Sugestões, Críticas ou Dúvidas relativas ao P@P
    • Acerca do P@P
  • Comunidade a Trabalhar
    • Apresentação de Projectos de Programação
    • Downloads
    • Revista PROGRAMAR
  • Desenvolvimento Geral
    • C
    • C++
    • Java
    • Pascal
    • Python
    • Bases de Dados
    • Dispositivos Móveis
    • Outras Linguagens
  • Desenvolvimento Orientado para Web
    • PHP
    • HTML
    • CSS
    • Javascript
    • Outras Linguagens de WebDevelopment
    • Desenvolvimento Web
  • Desenvolvimento .NET
    • C#
    • Visual Basic .NET
    • ASP.NET
    • WPF & SilverLight
  • Software e Sistemas Operativos
    • Software de Produtividade
    • Sistemas Operativos
    • Apresentação de Software
  • Informática
    • Interfaces Visuais
    • Computação Gráfica
    • Algoritmia e Lógica
    • Segurança e Redes
    • Hardware
    • Electrónica e Automação Industrial
    • Matemática
    • Software de Contabilidade, Finanças e Admin. Pública
    • Dúvidas e Discussão de Programação
    • Tutoriais
    • Snippets / Armazém de Código
  • Outras Áreas
    • Notícias de Tecnologia
    • Dúvidas Gerais
    • Discussão Geral
    • Eventos
    • Anúncios de Emprego
  • Arquivo Morto
    • Projectos Descontinuados
    • System Empires

Blogs

  • Blog dos Moderadores
  • Eventos
  • Notícias de Tecnologia
  • Blog do Staff
  • Revista PROGRAMAR
  • Projectos
  • Wiki

Categories

  • Revista PROGRAMAR
  • Tutoriais
  • Textos Académicos
  • Exercícios Académicos
    • Exercícios c/ Solução
    • Exercícios s/ Solução
  • Bibliotecas e Aplicações
  • Outros

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


Website


GitHub


LinkedIn


Twitter


Facebook

Found 21 results

  1. Bom dia estou aqui com umas dúvidas se alguém me puder ajudar agradeço muito. Estou a criar um ficheiro xsl que faz uma série de queries xpath a um documento xml e tenho alguns campos que é para contar o numero total desse campo por exemplo (Nº de Livros de livros publicados) Exemplo da árvore XML: <DADOS-AUTOR NOME="Rui Carlos Correia" ID="267"> <PRODUCAO-BIBLIOGRAFICA> <TRABALHOS-EM-EVENTOS> <TRABALHO-EM-EVENTOS....... <ARTIGOS-PUBLICADOS> <ARTIGO-PUBLICADO.......... Eu tenho assim no ficheiro xsl: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <HTML> <BODY> <H1>Lista de Autores</H1> <TABLE border="1"> <TR> <TD><B>Nome do Autor</B></TD> <TD><B>ID do Autorr</B></TD> <TD><B>Publicações de Artigos</B></TD> <xsl:for-each select="//DADOS-AUTOR"> <TR> <TD><xsl:value-of select="@NOME"/></TD> <TD><xsl:value-of select="@ID"/></TD> <TD><xsl:value-of select="count(//ARTIGO-PUBLICADO)"/></TD> </TR> </xsl:for-each> </TABLE> </BODY> </HTML> </xsl:template> </xsl:stylesheet> O problema é que a função count deve estar a devolver-me o total de artigos de todos os autores (tenhos uns 20 autores no total) pois o número que aparece na tabela referente a cada linha do autor é sempre o mesmo. O que estou a fazer de mal? Obrigado
  2. Boas! Estou a fazer um projeto e surgiu-me um problema que me está a consumir faz horas. Como diz o título, eu quero converter um ficheiro XML para outro (com outro formato) através de um XSLT. Consigo obter os dados, do XML original mas não consigo "mostrar" as tag's. XML (original): <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href = "fotografiasXSLT1.xsl"?> <Albuns xmlns="http://www.dei.isep.ipp.pt/lprog" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.dei.isep.ipp.pt/lprog fotografiasXSD.xsd"> <Album ID="3"> <Dono dono="Daniel Bastos" /> <NomeAlbum nomeAlbum="Artbook" /> <DataCriacao>2013-06-10</DataCriacao><!-->formato das datas: YYYY-MM-DD<--> <DataModificacao>2013-08-16</DataModificacao> <Descricao descricao="PhotoShop Covers" /> <Fotografias> <Fotografia FotografiaID="9"> <NomeFotografia nomeFotografia="Cover Psicose 2.0 (com frase).png" /> <link>http://goo.gl/XQ1GJv</link> <DataCriacao>2012-09-06</DataCriacao> <HorasCriacao>17:39:59</HorasCriacao> <Tipo ficheiro="png" /> <Autor autor="Daniel Bastos" /> <Localizacao> <Cidade>Maia</Cidade> <Pais>Portugal</Pais> </Localizacao> <Dimensoes> <Largura>1050</Largura> <Altura>1680</Altura> </Dimensoes> <TamanhoFotografia>1.34</TamanhoFotografia> </Fotografia> </Fotografias> </Album> </Albuns> XSLT: <?xml version="1.0" encoding="ISO-8859-1"?><!-- DWXMLSource="fotografiasXML.xml" --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" indent="yes" encoding="ISO-8859-1"/> <xsl:template match="/Fotografias"> <xsl:copy> <Fotografias> <xsl:apply-templates select="Fotografia/*"/> </Fotografias> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/*"> <xsl:copy> <Fotografia> <xsl:value-of select="."/> </Fotografia> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/nomeFotografia"> <xsl:copy> <xsl:value-of select="translate(., 'abcdefghijklmnopqrstuvwxyz', '')"/> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/link"> <xsl:copy> <xsl:value-of select="translate(., 'abcdefghijklmnopqrstuvwxyz', '')"/> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/dataCriacao"> <xsl:copy> <xsl:value-of select="translate(., 'abcdefghijklmnopqrstuvwxyz', '')"/> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/horaCriacao"> <xsl:copy> <xsl:value-of select="translate(., 'abcdefghijklmnopqrstuvwxyz', '')"/> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/tipo"> <xsl:copy> <xsl:value-of select="translate(., 'abcdefghijklmnopqrstuvwxyz', '')"/> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/autor"> <xsl:copy> <xsl:value-of select="translate(., 'abcdefghijklmnopqrstuvwxyz', '')"/> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/localizacao"> <xsl:copy> <xsl:apply-templates select="localizacao/*"/> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/localizacao/*"> <xsl:copy> <xsl:value-of select="."/> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/localizacao/cidade"> <xsl:copy> <xsl:value-of select="translate(., 'abcdefghijklmnopqrstuvwxyz', '')"/> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/localizacao/pais"> <xsl:copy> <xsl:value-of select="translate(., 'abcdefghijklmnopqrstuvwxyz', '')"/> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/dimensoes"> <xsl:copy> <xsl:apply-templates select="dimensoes/*"/> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/dimensoes/*"> <xsl:copy> <xsl:value-of select="."/> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/dimensoes/largura"> <xsl:copy> <xsl:value-of select="translate(., 'abcdefghijklmnopqrstuvwxyz', '')"/> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/dimensoes/altura"> <xsl:copy> <xsl:value-of select="translate(., 'abcdefghijklmnopqrstuvwxyz', '')"/> </xsl:copy> </xsl:template> <xsl:template match="Fotografia/tamanhoFotografia"> <xsl:copy> <xsl:value-of select="translate(., 'abcdefghijklmnopqrstuvwxyz', '')"/> </xsl:copy> </xsl:template> </xsl:stylesheet> XML (output): <?xml version="1.0" encoding="ISO-8859-1"?> 2013-06-10 2013-08-16 http://goo.gl/XQ1GJv 2012-09-06 17:39:59 Maia Portugal 1050 1680 1.34 Será que me podem dar umas indicações sobre o que estou a fazer mal ou até mesmo cosnelhos para melhorar? Desde já agradeço.
  3. Boas, Surgiu-me uma problema que não consigo resolver. Eis a descrição do problema: XML1 (short.xml): <Employees> <HumanResources.Employee> <BusinessEntityID>1</BusinessEntityID> <NationalIDNumber>295847284</NationalIDNumber> <IDLogin>adventure-works\ken0</IDLogin> <JobTitle>Chief Executive Officer</JobTitle> <BirthDate>1959-03-02</BirthDate> <MaritalStatus>S</MaritalStatus> <Gender>M</Gender> <HireDate>1999-02-15</HireDate> <Address>Rua de Soutelo-Mouriz n100, 4580-596</Address> <City>VN Famalicao</City> </HumanResources.Employee> <HumanResources.Employee> <BusinessEntityID>2</BusinessEntityID> <NationalIDNumber>295847285</NationalIDNumber> <IDLogin>adventure-works\ken1</IDLogin> <JobTitle>Chief Executive Officer</JobTitle> <BirthDate>1959-03-02</BirthDate> <MaritalStatus>S</MaritalStatus> <Gender>M</Gender> <HireDate>1999-02-15</HireDate> <Address>Rua de Soutelo-Mouriz n100, 4580-596</Address> <City>Vila Nova Famalicao</City> </HumanResources.Employee> <HumanResources.Employee> <BusinessEntityID>3</BusinessEntityID> <NationalIDNumber>295847286</NationalIDNumber> <IDLogin>adventure-works\ken3</IDLogin> <JobTitle>Chief Executive Officer</JobTitle> <BirthDate>1959-03-02</BirthDate> <MaritalStatus>S</MaritalStatus> <Gender>M</Gender> <HireDate>1999-02-15</HireDate> <Address>Rua de Soutelo-Mouriz n100, 4580-596</Address> <City>VNF</City> </HumanResources.Employee> </Employees> XML2 (normalize.xml): <root> <elem> <source>VNF</source> <target>Vila Nova de Famalicão</target> </elem> <elem> <source>Vila Nova Famalicao</source> <target>Vila Nova de Famalicão</target> </elem> <elem> <source>VN Famalicao</source> <target>Vila Nova de Famalicão</target> </elem> </root> XSLT : <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:variable name="xml" select="document('short.xml')"></xsl:variable> <xsl:variable name="norm" select="document('normalize.xml')"></xsl:variable> <xsl:template match="node()|@*"> <xsl:for-each select="$xml/Employees/HumanResources.Employee"> <xsl:for-each select="$norm/root/elem"> <xsl:if test="$xml/Employees/HumanResources.Employee/City/text()=$norm/root/elem/source/text()"> <xsl:value-of select="$norm/root/elem/target/text()"/> </xsl:if> </xsl:for-each> </xsl:for-each> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> </xsl:stylesheet> Resumidamente, queria uniformizar o elemento City de cada Employee, que poderá tomar os vários valores Source, substituindo pelo Target. Não sei se é possível, mas penso que faça sentido. Agradeço toda a ajuda. Obrigado
  4. Slides de Gestão e Tratamento de Informação (IST) Ver Ficheiro Slides de curso de Gestão e Tratamento de Informação. Aborda temas relacionados com o armazenamento de dados em XML, e a manipulação de conteúdos em XML. Instituto Superior Técnico Gestão e Tratamento de Informação Autores: Professora Helena Galhardas, Professor Bruno Graça Martins, Professor Pável Calado Conteúdo Introdução ao XML XML namespaces XPath XSLT XQuery (1ª parte) XQuery (2ª parte) XQuery Update Submetido por Rui Carlos Submetido em 01-12-2012 Categoria Textos Académicos Licença Website https://fenix.ist.utl.pt/disciplinas/gti/2010-2011/1-semestre/pagina-inicial Submetido pelo Autor? Não
  5. Version 2010/2011

    475 downloads

    Exercícios de curso de Gestão e Tratamento de Dados. Aborda temas relacionados com o armazenamento de dados em XML, e a manipulação de conteúdos em XML. Instituto Superior Técnico Gestão e Tratamento de Informação Autores: Professora Helena Galhardas, Professor Bruno Graça Martins, Professor Pável Calado Conteúdo Aula laboratório 1 - XML, XPath, XML Schema e XSLT Aula laboratório 2 - XQuery e XSLT Aula laboratório 2 - Documento XML exemplo ( AirFlightsData.xml ) Aula laboratório 3 - XQuery Update Aula laboratório 4 - Expressões regulares e XQuery Full Text Aula laboratório 4 - Documento XML exemplo ( sentencesAndAuthors.xml ) Aula laboratório 5 - Extracção de informação desde documentos HTML Aula laboratório 6 - Extracção de informação desde documentos de texto Aula laboratório 6 - Documento XML exemplo ( teste-locais-raw.xml ) Aula laboratório 6 - Documento XML exemplo ( train-locais.xml ) Aula laboratório 7 - Integração virtual de dados com base em XQuery Aula laboratório 8 - Integração de serviços e mashups com base em XQuery Aula laboratório 9 - Integração de com bases de dados relacionais Aula laboratório 10 - Detecção de duplicados e similaridade entre strings Aula laboratório 11 - Detecção de duplicados e similaridade entre elementos XML Aula laboratório 12 - Consolidação de informação
  6. Exercícios de Gestão e Tratamento de Informação (IST) Ver Ficheiro Exercícios de curso de Gestão e Tratamento de Dados. Aborda temas relacionados com o armazenamento de dados em XML, e a manipulação de conteúdos em XML. Instituto Superior Técnico Gestão e Tratamento de Informação Autores: Professora Helena Galhardas, Professor Bruno Graça Martins, Professor Pável Calado Conteúdo Aula laboratório 1 - XML, XPath, XML Schema e XSLT Aula laboratório 2 - XQuery e XSLT Aula laboratório 2 - Documento XML exemplo ( AirFlightsData.xml ) Aula laboratório 3 - XQuery Update Aula laboratório 4 - Expressões regulares e XQuery Full Text Aula laboratório 4 - Documento XML exemplo ( sentencesAndAuthors.xml ) Aula laboratório 5 - Extracção de informação desde documentos HTML Aula laboratório 6 - Extracção de informação desde documentos de texto Aula laboratório 6 - Documento XML exemplo ( teste-locais-raw.xml ) Aula laboratório 6 - Documento XML exemplo ( train-locais.xml ) Aula laboratório 7 - Integração virtual de dados com base em XQuery Aula laboratório 8 - Integração de serviços e mashups com base em XQuery Aula laboratório 9 - Integração de com bases de dados relacionais Aula laboratório 10 - Detecção de duplicados e similaridade entre strings Aula laboratório 11 - Detecção de duplicados e similaridade entre elementos XML Aula laboratório 12 - Consolidação de informação Submetido por Rui Carlos Submetido em 01-12-2012 Categoria Exercícios s/ Solução Licença Website https://fenix.ist.utl.pt/disciplinas/gti/2010-2011/1-semestre/pagina-inicial Submetido pelo Autor? Não
  7. jonsmau

    XSLT

    Olá, Estou a desenvolver um trabalho onde pretendo a partir de um XML inicial formar um segundo com apenas alguns campos do primeiro (e numa determinada ordem especifica), para isso estou a usar um XSLT. Mas como o xml inicial é muito grande, fazer o xslt é um trabalho difícil. Alguém conhece algum software que possua uma interface que permita criar um XSLT à nossa maneira de uma forma mais simples? Indicando o XML de origem e o de destino (por exemplo)? Cumprimentos e obrigado. Existe algum processo mais simples do que fazer o XSLT manualmente?
  8. Foi-nos proposto numa unidade curricular criar uma discussão sobre XSLT e aqui abrimos este tópico. Para todos os que quiserem participar. O que é o XSLT? Para que serve? Como utilizar? Quando utilizar? São algumas dos tópicos em discussão.
  9. Pessoal comecei agora a usar XSLT para ir buscar dinamicamente valores a um xml. O problema é que estou a trabalhar com links e queria meter um link do tipo "aqui" só que não sei se será desta maneira: <a href="<xsl:value-of select="executavel"/>"> Alguém me quer ajudar. Estou a usar o XML Copy Editor para gerir o xml e tem a opção de usar um xslt e construir a webpage própria.
  10. Boas pessoal! Estou a usar um ficheiro XSLT para fazer transformações de um XML para outro. Nessa transformação listo Proprietarios, o que eu queria é que me dissesse a posição desse Proprietario. Já tentei utilizar o position() mas mostra-me sempre 1. Alguém me pode ajudar?
  11. Boas pessoal, Tenho o seguinte documento XML: <?xml version="1.0" encoding="UTF-8"?> <?xml-stylesheet type="text/xsl" href="condos_transform.xslt"?> <Condominios lang="PT" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="condos_schema.xsd"> <!--Autores:--> <!--1090593 - João Magalhães--> <!--1090625 - Mário Nogueira--> <!--Data da última alteração: 25 de Maio de 2011--> <!--Inicio ficheiro XML para informação de condominíos - 2ª copia para transformação--> <!-- Condominio 1--> <Condominio id="1"> <Morada> <Rua>Rua da Praia</Rua> <Numero>12</Numero> <Codigopostal>2144-543</Codigopostal> </Morada> <Caracteristicas> <Listagem> <item>Vista para o mar</item> <item>Bem localizado</item> </Listagem> </Caracteristicas> <!-- Prédio 1--> <Predio id="1"> <Caracteristicas> <Listagem> <item>Parque para crianças</item> </Listagem> </Caracteristicas> <Fraccoes> <!-- Fracção 1--> <Fraccao id="1"> <Morada> <Rua>Rua da Praia</Rua> <Numero>12</Numero> <Andar>1º E</Andar> <Codigopostal>2144-543</Codigopostal> </Morada> <Valor>500€</Valor> <Tipo>Apartamento</Tipo> <Proprietario bi="141242141"> <Morada> <Rua>Rua das Andorinhas</Rua> <Numero>34</Numero> <Codigopostal>5345-345</Codigopostal> </Morada> <Nome>Callum Ormond</Nome> <DataNascimento> <Dia>12</Dia> <Mes>05</Mes> <Ano>1989</Ano> </DataNascimento> <Contactos> <Telefone>225463958</Telefone> <Email>callum@mail.pt</Email> </Contactos> </Proprietario> </Fraccao> </Fraccoes> </Predio> <!-- Prédio 2--> <Predio id="2"> <Caracteristicas> <Listagem> <item>Parque para crianças</item> </Listagem> </Caracteristicas> <Fraccoes> <!-- Fracção 1--> <Fraccao id="1"> <Morada> <Rua>Rua da Praia</Rua> <Numero>12</Numero> <Andar>1º E</Andar> <Codigopostal>2144-543</Codigopostal> </Morada> <Valor>500€</Valor> <Tipo>Apartamento</Tipo> <Proprietario bi="52353453"> <Morada> <Rua>Rua da Muralha</Rua> <Numero>230</Numero> <Codigopostal>4470-405</Codigopostal> </Morada> <Nome>Jackie Chan</Nome> <DataNascimento> <Dia>20</Dia> <Mes>11</Mes> <Ano>1976</Ano> </DataNascimento> <Contactos> <Telefone>5554567</Telefone> <Email>jakie@china.pt</Email> </Contactos> </Proprietario> </Fraccao> <!-- Fracção 2--> <Fraccao id="2"> <Morada> <Rua>Rua da Praia</Rua> <Numero>12</Numero> <Andar>1º E</Andar> <Codigopostal>2144-543</Codigopostal> </Morada> <Valor>200€</Valor> <Tipo>Garagem</Tipo> <Proprietario bi="34534534"> <Morada> <Rua>Rua das Abóboras</Rua> <Numero>102</Numero> <Codigopostal>3242-670</Codigopostal> </Morada> <Nome>John Smith</Nome> <DataNascimento> <Dia>21</Dia> <Mes>12</Mes> <Ano>1979</Ano> </DataNascimento> <Contactos> <Telefone>213423678</Telefone> <Email>j.smith@mail.pt</Email> </Contactos> </Proprietario> </Fraccao> </Fraccoes> </Predio> <!-- Armazém 1--> <Armazem id="1"> <Area>250</Area> <Caracteristicas> <Listagem> <item>Espaçoso</item> <item>Zona de cargas e descargas</item> </Listagem> </Caracteristicas> <Fim>Alugar</Fim> <Proprietario bi="234240567"> <Morada> <Rua>Rua da Engenharia</Rua> <Numero>497</Numero> <Codigopostal>5497-156</Codigopostal> </Morada> <Nome>Barak Obama</Nome> <DataNascimento> <Dia>25</Dia> <Mes>12</Mes> <Ano>1943</Ano> </DataNascimento> <Contactos> <Telemovel>912345684</Telemovel> <Email>barak.obama@nba.com</Email> </Contactos> </Proprietario> </Armazem> </Condominio> <!-- Condominio 2--> <Condominio id="2"> <Morada> <Rua>Rua do Relógio</Rua> <Numero>99</Numero> <Codigopostal>6590-234</Codigopostal> </Morada> <Caracteristicas> <Listagem> <item>Vista para Big Ben</item> <item>Perto de transportes</item> </Listagem> </Caracteristicas> <!-- Prédio 1--> <Predio id="1"> <Caracteristicas> <Listagem> <item>Ginásio no rés-do-chão</item> </Listagem> </Caracteristicas> <Fraccoes> <!-- Fracção 1--> <Fraccao id="1"> <Morada> <Rua>Rua do Relógio</Rua> <Numero>99</Numero> <Andar>RC</Andar> <Codigopostal>6590-234</Codigopostal> </Morada> <Valor>1000€</Valor> <Tipo>Comércio</Tipo> <Proprietario bi="344567086"> <Morada> <Rua>Rua dos Anjos</Rua> <Numero>56</Numero> <Codigopostal>2130-123</Codigopostal> </Morada> <Nome>Boges Foot</Nome> <DataNascimento> <Dia>06</Dia> <Mes>07</Mes> <Ano>1991</Ano> </DataNascimento> <Contactos> <Telefone>23756878</Telefone> <Email>boges@mail.pt</Email> </Contactos> </Proprietario> </Fraccao> </Fraccoes> </Predio> <!-- Prédio 2--> <Predio id="2"> <Caracteristicas> <Listagem> <item>Acesso a cormércio local</item> </Listagem> </Caracteristicas> <Fraccoes> <!-- Fracção 1--> <Fraccao id="1"> <Morada> <Rua>Rua das Horas</Rua> <Numero>32</Numero> <Andar>2º E</Andar> <Codigopostal>3456-007</Codigopostal> </Morada> <Valor>375€</Valor> <Tipo>Apartamento</Tipo> <Proprietario bi="56756765"> <Morada> <Rua>Rua de Los Angeles</Rua> <Numero>125</Numero> <Codigopostal>2355-235</Codigopostal> </Morada> <Nome>Kobe Bryant</Nome> <DataNascimento> <Dia>12</Dia> <Mes>01</Mes> <Ano>1986</Ano> </DataNascimento> <Contactos> <Telefone>4364576</Telefone> <Email>k-bryant@lakers.pt</Email> </Contactos> </Proprietario> </Fraccao> <!-- Fracção 2--> <Fraccao id="2"> <Morada> <Rua>Rua dos Segundos</Rua> <Numero>3464</Numero> <Andar>RC D</Andar> <Codigopostal>4536-790</Codigopostal> </Morada> <Valor>250€</Valor> <Tipo>Apartamento</Tipo> <Proprietario bi="346346343"> <Morada> <Rua>Rua do General</Rua> <Numero>78</Numero> <Codigopostal>4770-048</Codigopostal> </Morada> <Nome>Hitler</Nome> <DataNascimento> <Dia>26</Dia> <Mes>12</Mes> <Ano>1949</Ano> </DataNascimento> <Contactos> <Telefone>344647543</Telefone> <Email>hitler@kill.pt</Email> </Contactos> </Proprietario> </Fraccao> </Fraccoes> </Predio> <!-- Prédio 3--> <Predio id="3"> <Caracteristicas> <Listagem> <item>Apartamentos de luxo</item> </Listagem> </Caracteristicas> <Fraccoes> <!-- Fracção 1--> <Fraccao id="1"> <Morada> <Rua>Rua Fancy</Rua> <Numero>23</Numero> <Andar>12º E</Andar> <Codigopostal>3644-435</Codigopostal> </Morada> <Valor>1275€</Valor> <Tipo>Apartamento</Tipo> <Proprietario bi="2353253"> <Morada> <Rua>Rua de Miami</Rua> <Numero>500</Numero> <Codigopostal>5556-334</Codigopostal> </Morada> <Nome>Horatio Cane</Nome> <DataNascimento> <Dia>05</Dia> <Mes>04</Mes> <Ano>1976</Ano> </DataNascimento> <Contactos> <Telefone>324364363</Telefone> <Email>cane@csi.pt</Email> </Contactos> </Proprietario> </Fraccao> <!-- Fracção 2--> <Fraccao id="2"> <Morada> <Rua>Rua dos Segundos</Rua> <Numero>3464</Numero> <Andar>4º D</Andar> <Codigopostal>2242-098</Codigopostal> </Morada> <Valor>850€</Valor> <Tipo>Apartamento</Tipo> <Proprietario bi="12432563"> <Morada> <Rua>Rua do Jardim</Rua> <Numero>86</Numero> <Codigopostal>5475-545</Codigopostal> </Morada> <Nome>Andrew Bruxe</Nome> <DataNascimento> <Dia>10</Dia> <Mes>09</Mes> <Ano>1967</Ano> </DataNascimento> <Contactos> <Telefone>224578657</Telefone> <Email>a.bruxe@mail.pt</Email> </Contactos> </Proprietario> <Inquilino bi="3534636334"> <Nome>Chance Miller</Nome> <DataNascimento> <Dia>14</Dia> <Mes>02</Mes> <Ano>1945</Ano> </DataNascimento> <Contactos> <Telefone>3245346346</Telefone> <Email>miller@sorch.pt</Email> </Contactos> </Inquilino> </Fraccao> </Fraccoes> </Predio> </Condominio> <!-- Condominio 3--> <Condominio id="3"> <Morada> <Rua>Rua das Ferramentas</Rua> <Numero>666</Numero> <Codigopostal>1214-309</Codigopostal> </Morada> <Caracteristicas> <Listagem> <item>Bem apertado</item> <item>Boa resistência</item> </Listagem> </Caracteristicas> <!-- Armazém 1--> <Armazem id="1"> <Area>550</Area> <Caracteristicas> <Listagem> <item>Espaçoso</item> <item>Zona de cargas e descargas</item> </Listagem> </Caracteristicas> <Fim>Arrendar</Fim> <Proprietario bi="3252523"> <Morada> <Rua>Rua do Fumo</Rua> <Numero>2023</Numero> <Codigopostal>3523-616</Codigopostal> </Morada> <Nome>Bob Marley</Nome> <DataNascimento> <Dia>26</Dia> <Mes>06</Mes> <Ano>1987</Ano> </DataNascimento> <Contactos> <Telemovel>204567845</Telemovel> <Email>marley@jamaica.com</Email> </Contactos> </Proprietario> </Armazem> <!-- Armazém 2--> <Armazem id="2"> <Area>1250</Area> <Caracteristicas> <Listagem> <item>Espaçoso</item> <item>Zona de cargas e descargas</item> </Listagem> </Caracteristicas> <Fim>Vender</Fim> <Proprietario bi="2352352352"> <Morada> <Rua>Rua da Banana</Rua> <Numero>497</Numero> <Codigopostal>1224-678</Codigopostal> </Morada> <Nome>King Kong</Nome> <DataNascimento> <Dia>11</Dia> <Mes>02</Mes> <Ano>1963</Ano> </DataNascimento> <Contactos> <Telemovel>913525384</Telemovel> <Email>king.kong@nyc.com</Email> </Contactos> </Proprietario> </Armazem> <!-- Armazém 3--> <Armazem id="3"> <Area>600</Area> <Caracteristicas> <Listagem> <item>Espaçoso</item> <item>Zona de cargas e descargas</item> </Listagem> </Caracteristicas> <Fim>Alugar</Fim> <Proprietario bi="124124121"> <Morada> <Rua>Avenida do Guarda-Chuvas</Rua> <Numero>131</Numero> <Codigopostal>4363-132</Codigopostal> </Morada> <Nome>António Seabra</Nome> <DataNascimento> <Dia>24</Dia> <Mes>02</Mes> <Ano>1985</Ano> </DataNascimento> <Contactos> <Telemovel>9123453352</Telemovel> <Email>avo.seabra@constituicao.com</Email> </Contactos> </Proprietario> </Armazem> </Condominio> </Condominios> E pretendo utilizar um outro ficheiro XSL para fazer uma transformação para um novo XML com a informação parcial do original. O documento XSL é o seguinte: <?xml version="1.0" encoding="UTF-8"?> <!--Autores:--> <!--1090593 - João Magalhães--> <!--1090625 - Mário Nogueira--> <!--Data da última alteração: 25 de Maio de 2011--> <!--Inicio do ficheiro de tranformação XML para condos_donos.XML--> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:template match="/"> <Proprietarios> <xsl:apply-templates select="//Proprietarios"> <xsl:sort select="."/> </xsl:apply-templates> </Proprietarios> </xsl:template> <xsl:template match="Proprietario"> <xsl:element name="Proprietario"> <xsl:attribute name="bi"><xsl:value-of select="@bi"/></xsl:attribute> <xsl:element name="Morada"> <xsl:element name="Rua"><xsl:value-of select="."/></xsl:element> <xsl:element name="Numero"><xsl:value-of select="."/></xsl:element> <xsl:element name="Andar"><xsl:value-of select="."/></xsl:element> <xsl:element name="Codigopostal"><xsl:value-of select="."/></xsl:element> </xsl:element> <xsl:element name="Nome"><xsl:value-of select="."/></xsl:element> <xsl:element name="DataNascimento"> <xsl:element name="Dia"><xsl:value-of select="."/></xsl:element> <xsl:element name="Mes"><xsl:value-of select="."/></xsl:element> <xsl:element name="Ano"><xsl:value-of select="."/></xsl:element> </xsl:element> <xsl:element name="Contactos"> <xsl:element name="Telefone"><xsl:value-of select="."/></xsl:element> <xsl:element name="Telemovel"><xsl:value-of select="."/></xsl:element> <xsl:element name="Email"><xsl:value-of select="."/></xsl:element> </xsl:element> </xsl:element> </xsl:template> </xsl:stylesheet> Mas não consigo gerar absolutamente nada. Alguém me pode ajudar? Obrigado!
  12. Boas pessoal! Venho com mais uma dúvida de XSLT . Tenho este código XML: E este XSLT: Quando fazer o transform o erro que me dá é "Cannot transform: Erro at line 0: Invalid Expression" Este erro já me deu antes e era simplesmente um erro de escrita de alguma tag mas desta vez não consigo encontrar o erro e se um par de olhos frescos podesse olhar para isto 🙂 Obrigado!
  13. Boas pessoal, Estou a escrever um ficheiro XSLT para transformar a informação contida num XML para HTML mas estou a ter um problema. Queria colocar um <xsl:value-of select="mail"/> dentro de um tipico <a href="AQUI FICA O VALOR DE MAIL">URL</a> mas não consigo . Dá-me um erro na validação do ficheiro. Alguém pode ajudar ?
  14. Boas.... esta-me dando o erro "unable to parse schema file" quando tento validar validar um ficheiro xml pelo ficheiro xsd construido. Os cabeçalhos dos ficheiros xml e xsd sao, respectivamente: <?xml version="1.0" encoding="ISO-8859-1"?> <?xml-stylesheet type="text/xsl" href="xsdTrabalho.xslt"?> <Hospitais xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="xsdTrabalho.xsd" id="1" > <?xml version="1.0" encoding="ISO-8859-1"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified"> se alguem puder ajudar agradecia :/ cumps
  15. Viva, Cá vai mais uma dúvida de XML. Tenho algo definido em XML (não interessa bem o que porque é apenas um exemplo) e agora através de transformações XSLT e CSS quero que o XML seja mostrado no browser de uma forma mais agradável ao utilizador. Abaixo segue todo o código que tenho como exemplo: definição XML ; XSD Schema ; folha de estilos CSS ; transformador XSL . XML <?xml version="1.0" encoding="utf-8" ?> <?xml-stylesheet type="text/xsl" href="joke.xsl" ?> <jokes xsi:noNamespaceSchemaLocation="joke.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <joke id="1" category="animals"> <title>Two Cows in a Field</title> <author>John Smith</author> <setup>Two cows are standing in a field eating grass.</setup> <setup>The first cow says: "Moooo!"</setup> <punchline>The second cow says: "Hey, I was just gonna say that!"</punchline> </joke> <joke id="2" category="animals"> <title>Mad Cows</title> <author>Jane Doe</author> <setup>Two cows are talking.</setup> <setup>The first cow: "Hey, did you hear about that mad cow disease?"</setup> <setup>The second cow: "Yeah, but I'm not worried about it."</setup> <setup>The first cow: "Why not?"</setup> <punchline>The second cow: "I'm a duck."</punchline> </joke> </jokes> XSD <?xml version="1.0" encoding="UTF-8"?> <xs:schema elementFormDefault="unqualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="joke"> <xs:complexType> <xs:sequence> <xs:element name="title" type="xs:string"/> <xs:element name="author" type="xs:string" minOccurs="0"/> <xs:element name="setup" type="xs:string" minOccurs="0" maxOccurs="unbounded"/> <xs:element name="punchline" type="xs:string"/> </xs:sequence> <xs:attribute name="id" use="required" type="xs:unsignedLong"/> <xs:attribute name="category" type="xs:string" use="required"/> </xs:complexType> </xs:element> <xs:element name="jokes"> <xs:complexType> <xs:sequence><xs:element ref="joke" minOccurs="0" maxOccurs="unbounded"/></xs:sequence> </xs:complexType> <xs:unique name="joke-id"> <xs:selector xpath=".//joke"/> <xs:field xpath="@id"/> </xs:unique> </xs:element> </xs:schema> CSS html { margin: 0; padding: 0; } i { color: maroon; } body { font: 75% georgia, sans-serif; line-height: 2; color: white; background: #fff url(cows.gif) repeat top left; margin: 20px; padding: 0; } a:link, a:visited { font-weight: bold; text-decoration: none; color: yellow; } a:hover, a:active { text-decoration: underline; color: white; } p { margin-top: 5px; text-align: justify; } h1 { color: maroon; } h3 { font: italic normal 1.5em georgia, sans-serif; letter-spacing: 1px; margin-bottom: 0; color: maroon; } ul { margin: 20px; } li { line-height: 2ex; margin-bottom: 5px; } XSL <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="html"/> <xsl:template match="jokes"> <html> <head> <title>Jokes</title> <link type="text/css" rel="stylesheet" href="joke.css" /> </head> <body> <h1>Jokes</h1> <ul><xsl:apply-templates select="joke" mode="summary"/></ul> <xsl:apply-templates select="joke" mode="full"/> <hr/> </body> </html> </xsl:template> <xsl:template match="joke" mode="summary"> <li><a href="#{@id}" ><xsl:value-of select="title"/></a></li> </xsl:template> <xsl:template match="joke" mode="full"> <hr/> <h3><a name="#{@id}"><xsl:value-of select="title"/></a></h3> <i><xsl:value-of select="author"/></i> <ul> <xsl:apply-templates select="setup"/> <xsl:apply-templates select="punchline"/> </ul> </xsl:template> <xsl:template match="setup | punchline"> <li> <xsl:value-of select="."/> </li> </xsl:template> </xsl:stylesheet> Dúvida: O XML é perfeitamente mostrado no Firefox 4.0 e Opera 11.10, mas o mesmo não acontece com Google Chrome 12.0.742.12! (Sistema Linux 64 bits) ? ? Alguém tem ideia do que poderá ser? ? cumps 😞
  16. Boas, tou com um problema e espero que me possam ajudar. tenho um ficheiro xml que me vai criar as tabs de um TabContainer e dar-lhes o respectivo nome. tenho também um ficheiro xslt que me vai transformar o conteudo que está no ficheiro xml para o colocar nas diferentes tabs. A minha dúvida agora é a seguinte, como é que consigo com um único xslt transformar o conteudo do xml e colocar na tab correcta à medida que se vão criando as tabs?
  17. Boas. <?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <xsl:for-each select="//mynode"> <div id=""></div> </xsl:for-each> </xsl:template> <xsl:stylesheet> Como posso fazer para o atributo "id" do "div" ser o numero do "mynode" actual ?
  18. Estou a fazer uns exercícios sobre xml pra um exame e surgiu em mais que um exame, algo que não consigo resolver(esta tudo relacionado) Ignorar os comentários, eram alineas do exame. Aqui vai parte do XML <?xml encoding="UTF-8"?> <!--1a)Falta a versão do xml. <?xml version="1.0" encoding="UTF-8"?>--> <!DOCTYPE eleicao SYSTEM "eleicao.dtd" > <?xml-stylesheet type="text/xsl" href="eleicao.xslt"?> <eleicao> <tipo>presidencial</tipo> <totalEleitores>8806400</totalEleitores> <candidatos> <candidato id="c1" apoios="p2">Acabado</candidato> <candidato id="c2">Cassete</candidato> <candidato id="c3" apoios="p2 p3">Trotska</candidato> </candidatos> <partidos> <partido id="p1" nome="Laranja"/> <partido id="p2" nome="Rosa"/> <partido id="p3" nome="Lima"/> <!--1b)id é o tipo ID, logo unico. não podes existir 2 partidos com o id=p3"--> <partido id="p3" nome="Abacate"/> </partidos> <eleicao> Ao fazer expressões xquery, xslt e xpath notei que se um atributo tiver multiplos ids, não os consigo obter(ou melhor não os consigo separar e percorrer) por exemplo no bocado do xml em baixo <candidato id="c1" apoios="p2">Acabado</candidato> Obter o partido de id="p2" é simples, seja em qualquer tipo de expressão. mas em <candidato id="c3" apoios="p2 p3">Trotska</candidato> não consigo separar o p2 e p3 para obter a informação de cada apoio. Alguém dá uma ajuda, em principio com a ajuda em xpath devo conseguir derivar para xslt e xquery Uma questão extra, se: <candidato id="c1" apoios="p2">Acabado</candidato> Se apoios for definido(no dtd por exemplo) como IDref, so pode ter um ID, se for definido como IDrefs pode ter multiplos ID's. A questão é: Ao ter multiplos ID's, obriga que sejam todos do mesmo tipo(referir o mesmo tipo de elementos) Cumps Blueomega
  19. Vivas, Queria agarrar num XML, fazer algo com XSLT ou XQUERY e gravar o resultado num novo XML , é possível ? Concretamente, seria agarrar numa base dados XML que têm imensos campos e criar um novo ficheiro só com ID e o nome e telefone. Obrigado
  20. Tou a importar um ficheiro XML para uma página ASP.NET e no código do XSL tenho uma pequena duvida: "Como é que faço para importar texto e transforma-lo em link?" Exemplo: <img src=<xsl:value-of select="linkimagem"/> alt=<xsl:value-of select="altimagem" /> width="96" height="96" hspace="5" vspace="5" border="0" align="left" /> Mas este exemplo não está correcto....a parte "<xsl:value-of select="linkimagem"/>" esta errada...nao sei o que fazer... ou entao aqui: Exemplo: <a href=<xsl:value-of select="link" />> <xsl:value-of select="altdownload" /></a> Se quiserem o codigo do ficheiro completo, peçam aqui...se for preciso claro... 👍
  21. Iniciando com XML Antes de tudo deve-se ter noções básicas de elementos, atributos e valores e de como montar um documento em XML. Elementos (normalmente contem texto). Ex: <nome>filip_e</nome> <empresa> Impacta Tecnologia</empresa> Atributo (descreve o texto). Ex.: <nome cargo='Instrutor'>filip_e</nome> Aqui o atributo cargo descreve que filip_e e instrutor Exemplo: cadastro.xml <?xml version="1.0"?> <cadastro> <ficha n="1"> <nome cargo="Instrutor">filip_e</nome> <periodo>Integral</periodo> <forum status="Moderador">XML</forum> </ficha> </cadastro> Importante Ha diferença entre maiúsculas e minúsculas, ou seja, Nome não e igual a nome As tags de fechamento são obrigatórias E obrigatório o elemento raiz - root (elemento que contem todos os elementos) Não e obrigatório o uso do prolog <?xml version='1.0'?> O documento xml pode conter comentários como o HTML COD1 - O documento XML do projeto <?xml version="1.0" ?> <agenda> <contato> <campo id="Nome" taborder="1"> <valor>filip_e</valor> </campo> <campo id="Sobrenome" taborder="2"> <valor>Costa</valor> </campo> <campo id="residencial" taborder="3"> <valor>Rua Bandeirantes</valor> </campo> <campo id="Comercial" taborder="4"> <valor>Paulista, 1009</valor> </campo> <campo id="telefone" taborder="5"> <valor>944446</field_value> </campo> <campo id="email" taborder="6"> <valor>propileneglicol@zipmail.com.br</valor> </campo> </contato> </agenda> Este e o documento XML do projeto. Se aberto no Browser (IE 5.0) terá como resposta uma estrutura de arvore como a do código acima. Agora precisamos apresenta-lo de uma forma agradável ao cliente. Esta e uma característica importante do XML, ele separar apresentação e dados. Definindo que a única tarefa do XML e o gerenciamento dos dados, e que o XML vem com o poder inigualável de conseguir reutilizar os dados espalhos em um pagina Web, visto que ele esta demarcada com tags que auxiliam sua descrição e filtragem. Formatando os dados Agora precisara de uma folha de estilo que formate os dados de seus documentos XML e os exiba no Browser. Com estas folhas de estilo, denominadas XSLT pode-se separa dados, filtra-los ou reordena-los de acordo com uma regra ou condição estipulada no código. Perceba aqui enorme diferença para as folhas de estilos para HTML, no caso CSS, que apenas formatam texto, como HTML. Um documento XSLT, como um documento XML, deve iniciar com a prolog de declaração de tipo de documento XML. Logo, apos devem ser declarados a namespce para a folha de estilo: <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> Logo apos isto o processador procura um modelo a ser aplicado ao root <xsl: template match="/" e inicia-se a criação do documento em HTML com a seleção dos elementos que desejamos selecionar do documento XML. Esta seleção é feita através de <xsl:value-of select="expr" /> Porem vale ressaltar que anteriormente foi selecionado um caminho através do atributo SELECT, <xsl:for-each select="cadastro/ficha"> onde esta sendo selecionado ficha do elemento cadastro. Veja como ficaria uma folha de estilo para o arquivo de exemplo cadastro.xml Exemplo XSLT: (cadastro.xsl) <?xml version="1.0" ?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl"> <xsl:template match="/"> <table border="1"> <tr> <td> <font face="verdana" size="-1"><center>Nome</center></font> </td> <td> <font face="verdana" size="-1"><center>Periodo</center></font> </td> </tr> <xsl:for-each select="cadastro/ficha"> <tr> <td> <font face="verdana" size="-1"> <b> <xsl:value-of select="nome" /> </b> </font> </td> <td> <font face="verdana" size="-1"> <xsl:value-of select="periodo" /> </font> </td> </tr> </xsl:for-each> </table> </xsl:template> </xsl:stylesheet> A prologolog abaixo deve ser inserida no documento XML para chamar a folha de estilo <?xml:stylesheet type="text/xsl" href="cadastro.xsl"?> Agora abra o documento XML no IE e veja o resultado.
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.