Xml > Html

Any

Power Member
Boas a todos...

Estou com um pekeno problema...

Ando a tentar descobrir como fazer a importação de dados dum ficheiro XML num servidor remoto para uma pagina HTML presente num alojamento, ja googlei que nem um maluco... mas ate agora nada :(

Sera que havera algum expert aki nesta materia que me podera dar uma ajuda?

tnks in advance
 
O único modo que me lembro que não te dê muito trabalho é usares o PHP para criares um conversor de XML para HTML, no entanto como o XML é um tipo de documento estruturado para troca de dados na internet, não tem um padrão especifico e cada ficheiro xml distinto pode necessitar de um interpretador.

mais info aqui : pt.php.net/manual/pt_BR/ref.xml.php
 
Ola Jose...

O ficheiro XML que kero "apresentar" na pagina e sempre o mmo... ou seja a estrutura do mesmo e exactamente sempre a mesma, so mudando o conteudo do mesmo...

Não existe nenhuma forma de "incluir" as referencias do xml directamente no html evitando o php?
 
Ja tive a dar uma vista de olhos nisso de xslt... so q no site da macromedia diz que o dreamweaver converte automaticamente um html para xslt, mas o que eu tenho aki que sakei da net (versao trial) n tem essa opcao... apenas da para converter para xhtml. sera que e necessario uma extensao ou qq coisa???
 
XSLT é uma linguagem de transformação que ao ser aplicada a um documento XML pode transformar a sua informação em HTML, ou em nada no limite :).

Não têm lógica o dreamwever desta forma converter um html num xslt, deves ter confundido algo ..

Pode existir a dedução no entanto de um documento xml para html, gerando um xslt simples que depois pode ser alterado à medida. Não sei se é este o caso.

Se queres apreender XSLT prepara-te já que a curva de aprendizagem é relativamente agressiva (fora coisas muito simples).
 
Aqui tens um exemplo de um ficheiro XSLT, que penso que te ajudará:

Código:
<?xml version="1.0" encoding="windows-1252" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

	<xsl:template match="Nome do node a fazer parse">
		<head>
			<meta http-equiv="pragma" content="no-cache"/>
			<title>Titulo da Página</title>
			<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
		</head>
		<html>
			<body>
			    <table id="tblMain" align="center" cellpadding="0" cellspancing="0" border="0">
				  <tr>
				    <td colspan="6" align="left">
						<img src="XSLT/Imagens/Logotipo.bmp" />
					</td>
				  </tr>			    
                  <tr>
				    <td colspan="6" align="center"><xsl:text> </xsl:text></td>
                  </tr>
				  <tr>
				    <td colspan="6" align="center">
				      <span class="clsTitle">Título</span>
				    </td>
				  </tr>			    
				  <tr>
				    <td colspan="6" align="center"><xsl:text> </xsl:text></td>
				  </tr>			    
				  <tr>
				    <td colspan="6" align="center">
				      <div id="divLine1" class="clsDivLine"></div>
				    </td>
				  </tr>			    
				  <tr>
				    <td colspan="6">
					  <xsl:text> </xsl:text>
				    </td>
				  </tr>			    

                  <tr>
                    <td colspan="6">
					  <table width="100%" cellpadding="0" cellspancing="0" border="0">
					    <tr>
					      <td width="25%" class="clsLabel">
                            Label com texto 1
					      </td>
					      <td class="clsText">
	                        <xsl:value-of select="Dados/Dados1" /> AAA
					      </td>
					      <td width="25%" class="clsLabel">
                            Label com texto 2			      
					      </td>
					      <td width="25%" class="clsText">
	                        <xsl:value-of select="Dados/Dados2" /> AAA
					      </td>
					    </tr>                      
					    <tr>
					      <td width="25%" class="clsLabel">
                            Label com texto 3
					      </td>
					      <td width="25%" class="clsText">
	                        <xsl:value-of select="Dados/Dados3" /> AAA
					      </td>
					      <td width="25%" class="clsLabel">
                            Label com texto 4
					      </td>
					      <td class="clsText">
	                        <xsl:value-of select="Dados/Dados4" /> AAA
					      </td>
					    </tr>                      
					    <tr>
					      <td width="25%" class="clsLabel">
                            Label com texto 5
					      </td>
					      <td width="25%" class="clsText">
	                        <xsl:value-of select="Dados/Dados5" />
					      </td>
					      <td width="25%" class="clsLabel">
                            Label com texto 6
					      </td>
					      <td class="clsText">
						    <xsl:if test="Dados/Dados6='0'">
								Escolha1
							</xsl:if>
						    <xsl:if test="Dados/Dados6='1'">
								Escolha2
							</xsl:if>
						    <xsl:if test="Dados/Dados6='2'">
								Escolha3
							</xsl:if>
						    <xsl:if test="Dados/Dados6='3'">
								Escolha4
							</xsl:if>
						    <xsl:if test="Dados/Dados6='4'">
								Escolha5
							</xsl:if>
					      </td>
					    </tr>                      
                      </table>
                    </td>
                  </tr>

				  <tr>
				    <td colspan="6">
					  <xsl:text> </xsl:text>
				    </td>
				  </tr>			    
				  <tr>
				    <td class="clsLabel" align="center">
					  Label com texto 7
					</td>
				    <td class="clsLabel" align="center">
					  Label com texto 8
					</td>
				    <td class="clsLabel" align="center">
					  Label com texto 9
					</td>
				    <td class="clsLabel" align="center">
					  Label com texto 10
					</td>
				    <td class="clsLabel" align="center">
					  Label com texto 11
					</td>
				    <td class="clsLabel" align="center">
					  Label com texto 12
					</td>
				  </tr>
				  <xsl:for-each select="Node sobre o qual correr uma iteração">
					<tr>
						<td class="clsText" align="center">
						  <xsl:value-of select="Dados7" />
						</td>
						<td class="clsText" align="center">
						  <xsl:value-of select="Dados8" />
						</td>
						<td class="clsText" align="center">
						  <xsl:value-of select="Dados9" />
						</td>
						<td class="clsText" align="center">
						  <xsl:value-of select="Dados10" />
						</td>
						<td class="clsText" align="center">
						  <xsl:value-of select="Dados11" />
						</td>
						<td class="clsText" align="center">
						  <xsl:value-of select="Dados12" />
						</td>
					</tr>
				  </xsl:for-each>

			    </table>
			</body>
		</html>
	</xsl:template>

</xsl:stylesheet>
 
É engraçado ver o tipo de programadores que andam aqui pelo fórum. Qualquer coisinha é logo "usa o xpto do php". Quando é preciso puxar pela cabeça para fazer qualquer coisa sem php, começam logo a andar aos papéis. Bons velhos tempos em que se programavam páginas em notepad, e em que o pessoal ainda sabia o que significa 'html'.


ATENÇÃO: isto não é uma crítica dirigida a ninguém em especial, é apenas uma constatação.
 
Back
Topo