Accedi per seguire   
Seguaci 0
lesya

Come Fare... In Xsl

10 messaggi in questa discussione

ho una pagina che "genera" il seguente codice:

code:<SEGMENTS>

<SEGMENT NAME="webcluster">

<RESULTPAGE>

<QUERYTRANSFORMS>

<QUERYTRANSFORM ACTION="NOP" MSG="A=0,B=0,C=0,D=0.20

ecc, ecc, ecc.

sapresti dirmi come posso scrivere in una XSL di prendermi i valori di "C" e di "D"?

grazie

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

[ben]lesya[/ben] :P:P:)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Premettendo che non ho mai usato XSL :P ...

Dovrebbe esserci un tag: <xsl:param...> che permette di puntare ad una variabile...e prenderne il valore.

<xsl:param name=QName select=Expression>
template body
...

QName= The name of the parameter

Expression= The default value of the parameter if no explicit value is supplied by the caller.

Spero possa esseri utile... :)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti
Premettendo che non ho mai usato XSL :P ...

Dovrebbe esserci un tag: <xsl:param...> che permette di puntare ad una variabile...e prenderne il valore.

<xsl:param name=QName select=Expression>
template body
...

QName= The name of the parameter

Expression= The default value of the parameter if no explicit value is supplied by the caller.

Spero possa esseri utile... :)

I parametri sono un'altra cosa :P

Se ho capito bene, tu vuoi recuperare il valore di un attributo specifico del tag XML...

Per fare questo puoi utilizzare la funzione

xsl:value-of

Il tuo codice:

<SEGMENTS>
 <SEGMENT NAME="webcluster">
	  <RESULTPAGE>
		   <QUERYTRANSFORMS>
			 <QUERYTRANSFORM ACTION="NOP" MSG="A=0,B=0,C=0,D=0.20 />
		</QUERYTRANSFORMS>
	</RESULTPAGE>
</SEGMENT>
</SEGMENTS>

Per recuperare C e D:

<xsl:value-of select="/SEGMENTS/SEGMENT/RESULTQUERY/QUERYTRANSFORMS/QUERYTRANSFORM/@C" />

<xsl:value-of select="/SEGMENTS/SEGMENT/RESULTQUERY/QUERYTRANSFORMS/QUERYTRANSFORM/@D" />

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

I parametri sono un'altra cosa :)

Se ho capito bene, tu vuoi recuperare il valore di un attributo specifico del tag XML...

Per fare questo puoi utilizzare la funzione

xsl:value-of

Il tuo codice:

<SEGMENTS>
 <SEGMENT NAME="webcluster">
	  <RESULTPAGE>
		   <QUERYTRANSFORMS>
			 <QUERYTRANSFORM ACTION="NOP" MSG="A=0,B=0,C=0,D=0.20 />
		</QUERYTRANSFORMS>
	</RESULTPAGE>
</SEGMENT>
</SEGMENTS>

Per recuperare C e D:

<xsl:value-of select="/SEGMENTS/SEGMENT/RESULTQUERY/QUERYTRANSFORMS/QUERYTRANSFORM/@C" />

<xsl:value-of select="/SEGMENTS/SEGMENT/RESULTQUERY/QUERYTRANSFORMS/QUERYTRANSFORM/@D" />

Ho recuperato in azienda un manuale in inglese...

Quoto <xsl:value-of...>...

:P:P:wub:

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

ciao a tutti!

ho un file xml, devo operare una trsformazione xslt per creare poi un file vxml.

ho qualche problemino con xPath, qualcuno piò darmi una mano??

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

magari mi spiego meglio...

ho un file xml. a questo devo applicare una trasformazione xslt. devo individuare i "pezzi" di xml che mi servono tramite xpath e questi servono poi per creare un'applicazione vxml.

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE page SYSTEM "page.dtd">

<?xml-stylesheet type="text/xsl" href="stile2.xslt"?>

<page>

<Description_class about="FEED">

<label lang="it">FEED</label>

<subClassOf resource="thing"/>

<type resource="class"/>

</Description_class>

<Description_class about="CATEGORIA">

<label lang="it">CATEGORIA</label>

<subClassOf resource="FEED"/>

<type resource="class"/>

</Description_class>

[....etc etc]

<Description_class about="Cinema">

<label lang="it">Cinema</label>

<subClassOf resource="Categoria"/>

<type resource="class"/>

</Description_class>

[....etc etc]

devo selezionare solo quelle parti che abbiano come sottoclasse categoria (subClassOf resource="Categoria"/>) e il testo che c'è nel tag <label>

come faccio??

maledetto xpath :leggi:

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE page SYSTEM "page.dtd">
<?xml-stylesheet type="text/xsl" href="stile2.xslt"?>
<page>
<Description_class about="FEED">
	<label lang="it">FEED</label>
	<subClassOf resource="thing"/>
	<type resource="class"/>
</Description_class>
<Description_class about="CATEGORIA">
	<label lang="it">CATEGORIA</label>
	<subClassOf resource="FEED"/>
	<type resource="class"/>
</Description_class>
[....etc etc]
<Description_class about="Cinema">
	<label lang="it">Cinema</label>
	<subClassOf resource="Categoria"/>
	<type resource="class"/>
</Description_class>
[....etc etc]

Ecco una prima versione veloce della trasformazione XSLT

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions" xmlns:xdt="http://www.w3.org/2005/xpath-datatypes">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="/">
	<xsl:for-each select="/page/Description_class">
			<xsl:for-each select="subClassOf[@resource='Categoria']">
				<xsl:value-of select="parent::*/label" />
			</xsl:for-each>
	</xsl:for-each>
</xsl:template>	
</xsl:stylesheet>

Questa trasformazione ricava tutti i valori label delle subClassOf con resource = 'Categoria'... (Non conosco la sintassi vxml... Per ora ricavo solo il valore di label :)

C'è il problema dei valori 'CATEGORIA' o 'categoria' o 'Categoria' che sono visti come stringhe diverse...

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

non ci posso credere....

mi viene da piangereeeeee...funzionaaaaaaaaa

GRAZIEEEEEEEEEEEEEEEE

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

non ci posso credere....

mi viene da piangereeeeee...funzionaaaaaaaaa

GRAZIEEEEEEEEEEEEEEEE

Prego :P

Questa è la versione del controllo che non fa differenza tra CATEGORIA, Categoria, categoria, CaTEgoria, ecc...

			<xsl:for-each select="subClassOf[lower-case(@resource)='categoria']">

Naturalmente l'espressione

<xsl:value-of select="parent::*/label" />

va inserita all'interno dei tag vxml corretti ;-)

P.S.

In bocca al lupo per la tesi :P

:)

Condividi questo messaggio


Link di questo messaggio
Condividi su altri siti

Crea un account o accedi per lasciare un commento

Devi essere un utente registrato per partecipare

Crea un account

Iscriviti per un nuovo account nella nostra community. È facile!


Registra un nuovo account

Accedi

Sei già registrato? Accedi qui.


Accedi Ora
Accedi per seguire   
Seguaci 0