Newsgroup: it.lavoro.informatica
Titolo: [OT] - XSLT - Aiuto...

Ciao a tutti,
Ho bisogno di trasformare un documento xml da un formato ad un altro.
Il mio doc. XML sorgente ha un tag, il cui valore e' una lista di
codici separati da virgole:
<mytag>1,2,33,44,55,6,7,88,99,...,nn</mytag>
Quello che vorrei ottenere e' un formato cosi':
<MyNewTags>
 <MyNewTag>1</MyNewTag>
 <MyNewTag>2</MyNewTag>
 <MyNewTag>33</MyNewTag>
 <MyNewTag>44</MyNewTag>
 <MyNewTag>55</MyNewTag>
 <MyNewTag>6/MyNewTag>
 <MyNewTag>7</MyNewTag>
 <MyNewTag>88</MyNewTag>
 <MyNewTag>99</MyNewTag>
...
 <MyNewTag>nn</MyNewTag>
</MyNewTags>
Come si fa con XSLT?
Sapete dove posso remperire info dettagliate?
Non ho trovato nulla sul tutorial del W3C!!!
Ciao e grazie a tutti, Himgi.

 Come si fa con XSLT?
Semplice. Non si fa con XSLT.
Devi fare il parsing del contenuto di un tag, ciò non lo puoi delegare
al transformer.

Vincent Vega ha scritto:

E allora cosa devo usare?

 E allora cosa devo usare?
La tua testolina e le tue manine, semplice.
:D

>Semplice. Non si fa con XSLT.
Semplice. Si fa con xslt.
qualsiasi documento xml puo' essere trasformato in un altro xml (o xhtml) 
con xslt.

 Semplice. Si fa con xslt.
ma l'informatica non era una scienza esatta ? 

Kaizen wrote:

Lui deve trasformare un contenuto CSV in XML.

 E allora cosa devo usare?
SAX per fare il parsing XML, l'olio di gomito (e neanche tanto...)
quando arrivi al CSV che vuoi parsare.

 Come si fa con XSLT?
purtroppo sono anni che non tocco XSLT e non mi ricordo di preciso la
sintassi corretta, però si fa. C'era una funzionina che prendeva i
valori separati da un qualsiasi carattere (tu separi la virgola), la
combini con il xsl:for-each ed il gioco è fatto.
Mi dispiace non ricordarmi i passaggi precisi, ma spero di essere stato
d'auito, se non altro per confermarti che si può fare...

 SAX per fare il parsing XML,
o DOM
N
--------------------------------
Inviato via 
http://arianna.libero.it/usenet/

 o DOM
Eviterei di caricarmi il documento in memoria.
Deve fare il parsing del contenuto, non manipolare il documento.

 con xslt.
Vero ma non puoi processare e trasformare un insieme di valori separati
da virgola (csv) in piu' tags xml contenenti i singoli valori.
L'unica e' parsificare e effettuare la trasformazione via codice.
Ciao

 Non ho trovato nulla sul tutorial del W3C!!!
Qualcosa tipo questo:
<xsl:template name="tokenizer">
  <xsl:param name="string" />
  <xsl:param name="delimiter" select="' '" />
  <xsl:choose>
   <xsl:when test="$delimiter and contains($string, $delimiter)">
           <token>  <xsl:value-of
select="substring-before($string,$delimiter)" /> </token>
           <xsl:call-template name="tokenizer">
           <xsl:with-param name="string"
select="substring-after($string,$delimiter)" />
           <xsl:with-param name="delimiter"     select="$delimiter" />
           </xsl:call-template>
    </xsl:when>
    <xsl:otherwise>
    <token>  <xsl:value-of select="$string" /></token>
    </xsl:otherwise>
 </xsl:choose>
 </xsl:template>
(trovato su 
http://www.xslt.com/html/xsl-list/2005-04/msg00031.html
)
ciao, U.

 da virgola (csv) in piu' tags xml contenenti i singoli valori.
mmmm basterebbe usare una funzioncina dentro xslt (che sicuramente c'e' ma 
non mi ricordo)
che estrae ogni singolo carattere separato dalla virgola....e poi fare un 
<apply-template/> per ogni elemento estratto.....
vabbuo' si deve smanettare un po pero' secondo me ci si riesce....
:))

 :))
infatti hanno postato la soluzione :) non si finisce mai d'impare...
ciao

UC ha scritto:

Grazie a tutti per le risposte!

 ha scritto nel messaggio 
news:1154552058.6...@i42g2000cwa.googlegroups.com...

imparare in questo caso e' una parola grossa...