Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732

    xml + xsl, mettere un link in un elemento dell'xml...

    premesso che di xml ne so quasi niente

    avrei bisogno di inserire dei link all'interno di testi che andrebbero a finire in un file xml... e poi processati da un xsl. non riesco a capire come funzionano i link

    per ora il codice è questo:

    XML:
    codice:
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="diario.xsl" ?>
    
    <!DOCTYPE diario [
     <!ELEMENT diario (blog*)>
     <!ELEMENT blog  (data , (titolo? , descrizione?)+)>
     
     <!ELEMENT data (#PCDATA)>
     <!ELEMENT titolo (#PCDATA)>
     <!ELEMENT descrizione (#PCDATA)>
    ]>
    
    <diario>
    	<blog>
    		<data>26/10/2004</data>
    		<titolo>Prova secondo giorno</titolo>
    		<descrizione>
    			Bla2 bla2 bla2 bla2...vedi link
    		</descrizione>
        </blog>
        <blog>
    		<data>25/10/2004</data>
    		<titolo>Prova primo giorno</titolo>
    		<descrizione>
    			Bla bla bla bla...
    		</descrizione>
        </blog>
    
    </diario>

    XSL:
    codice:
    <?xml version="1.0"?>
    
    
    
    <xsl:stylesheet 
    
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
    
        xmlns="http://www.w3.org/1999/xhtml"
    
        result-ns=""
    
        xmlns:rdf="http://w3.org/TR/1999/PR-rdf-syntax-19990105#">
    
    
    
    <xsl:template match="/">
    
       <html>	  
    
    	<head>
    
    		<title>Diario di Tox</title>
    		<style type="text/css">
    			body{
    				font-family: sans-serif;
    				color: #484848;
    				background-color: #F5F5F5;
    				font-size: 10px;
    				margin-left: 10px;
    				margin-right: 10px;
    				margin-top: 10px;
    				margin-bottom: 10px;
    				}
    			a
    				{
    				color: #566c9c;
    				text-decoration: none;
    				}
    				
    			a:hover
    				{
    				color: #566c9c;
    				border-bottom-style: dashed; border-bottom-width: 1px;
    				}
    				
    			.intestazione
    				{
    				position: relative;
    				text-align: center;
    				font-size: 32px;
    				color: #45389c;
    				margin-top: 10px;
    				margin-left: 10px;
    				margin-bottom: 10px;
    				margin-right: 10px;
    				}
    				
    			.data
    				{
    				position: relative;
    				font-size: 12px;
    				font-weight: bold;
    				color: #253a52;
    				margin-left: 10px;
    				}
    				
    			.titolo
    				{
    				position: relative;
    				font-size: 11px;
    				font-weight: bold;
    				margin-left: 10px;
    				}
    				
    			.descrizione
    				{
    				margin-left: 20px;
    				}
    		</style>
    
    	</head>
    
    	<body>
    	
    		<div class="intestazione">Il diario di ToX</div>
    		
    
    		<xsl:apply-templates/>
    		
    
    	</body>
    
       </html>
    
    </xsl:template>
    
    
    
    <xsl:template match = "diario">
    
         <xsl:for-each select="blog">
    
         		<div class="data">
    
    					<xsl:value-of select="data"/>
    
    			</div>
    
    			<div class="titolo">
    
    					<xsl:value-of select="titolo"/>
    
    	        </div>
    
         		<div class="descrizione">
    
    					<xsl:value-of select="descrizione"/>
    
    	        </div>
    	        <hr/>
    
         </xsl:for-each>	
    
    </xsl:template>
    	
    </xsl:stylesheet>

    qualcuno sa darmi una mano?

  2. #2
    Se dai uno sguardo all'esempio relativo all'Inclusione di più documenti XML presente sul sito di HTML.it forse riuscirari da solo a trovare la soluzione!
    My space! Voglio Arthur!!!
    Ho fatto strike!!!
    dotty78

    Prima di postare in “XML, XSL, Smil” dai uno sguardo ai Link utili!

  3. #3
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    ho guardato, ma mi pare una cosa diversa da ciò che voglio fare io... o no?

    a me interesserebbe mettere del testo in stile html, quindi avere la possibilità di inserire nel testo almeno immagini o link...


    ora cmq provo a rileggere, a stomaco pieno si ragiona meglio

  4. #4
    Utente di HTML.it L'avatar di lnessuno
    Registrato dal
    Feb 2002
    Messaggi
    2,732
    ho quasi risolto, in modo un pò incasinato a dire il vero... non so se è il modo migliore. con l'aiuto di un amico (diciamo pure che senza di lui starei ancora provando a smanettare )

    XML:
    codice:
    <?xml version="1.0"?>
    <?xml-stylesheet type="text/xsl" href="diario.xsl" ?>
    
    <!DOCTYPE diario [
     <!ELEMENT diario (blog*)>
     <!ELEMENT blog  (data, (titolo?, descrizione?)+)>
     
     <!ELEMENT data (#PCDATA)>
     <!ELEMENT titolo (#PCDATA)>
     
     <!ELEMENT descrizione (parti+)>
     <!ELEMENT parti (testo+,link+, nomelink+)>
     <!ELEMENT testo (#PCDATA)>
     <!ELEMENT link (CDATA)>
     <!ELEMENT nomelink (CDATA)>
    ]>
    
    <diario>
        <blog>
    	<data>26/10/2004</data>
    	<titolo>Prova primo giorno</titolo>
    	<descrizione>
    		<parti>
    			<testo>Bla bla bla bla... 
    			</testo>
    			<link>pippo.html</link>
    			<nomelink>Pippo</nomelink>
    		</parti>
    		<parti>
    			<testo> di nuovo bla bla bla </testo>
    			<link>pippo2.html</link>
    			<nomelink>Pippo 2</nomelink>
    		</parti>
    	</descrizione>
        </blog>
        <blog>
    	<data>27/10/2004</data>
    	<titolo>Prova secondo giorno</titolo>
    	<descrizione>
    	<parti>
    		<testo>Bla2 bla2 bla2 bla2...</testo>
    	</parti>
    	</descrizione>
        </blog>
    </diario>

    XSL:
    codice:
    <?xml version="1.0"?>
    
    
    
    
    
    <xsl:stylesheet 
    
        xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"
    
        xmlns="http://www.w3.org/1999/xhtml"
    
        result-ns=""
    
        xmlns:rdf="http://w3.org/TR/1999/PR-rdf-syntax-19990105#">
    
    
    
    <xsl:template match="/">
    
       <html>	  
    
    	<head>
    
    		<title>Diario di Tox</title>
    		<link rel="stylesheet" href="stile.css" type="text/css" />
    
    	</head>
    
    	<body>
    
    	
    
    		<div class="intestazione">Il diario di ToX</div>
    
    		
    
    		<xsl:apply-templates/>
    
    		
    
    	</body>
    
       </html>
    
    </xsl:template>
    
    
    
    <xsl:template match = "diario">
    
         <xsl:for-each select="blog">
    
         		<div class="data">
    
    					<xsl:value-of select="data"/>
    
    			</div>
    
    			<div class="titolo">
    
    					<xsl:value-of select="titolo"/>
    
    	        </div>
    
         		<div class="descrizione">
    
    		<xsl:for-each select="descrizione/parti">
    
    					<xsl:value-of select="testo"/>
    
    					 <a target="_blank">
    
          				<xsl:attribute name="href">
    
         					<xsl:value-of select="link"/>
    
          				</xsl:attribute>
    
          				<xsl:value-of select="nomelink"/>
    
           			</a>
    
    		</xsl:for-each>
    
    	        </div>
    
    	        <hr/>
    
         </xsl:for-each>	
    
    </xsl:template>
    
    	
    
    </xsl:stylesheet>

    l'unica "rottura" è dover aprire e chiudere il tag parti ogni volta che metto un link...

  5. #5
    io ho letto i primi tutorial xml ieri, quindi ne so meno di te, ma credo tu possa mettere testo html in un elemento xml se lo delimiti con il CDATA no? così non lo parseggia...

    fammi sapere

  6. #6

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.