Subject: Re: [xsl] Outputting from more than one source From: Joerg Heinicke <joerg.heinicke@xxxxxx> Date: Mon, 14 Oct 2002 11:26:01 +0200 |
<xsl:apply-templates select="xx:node-set($reg)"> <xsl:sort select="nome"/> </xsl:apply-templates> </xsl:template>
I don't understand that both processors should have this bug.
Now they are three: Saxon also brought the same result. I guess it is not a bug: it simply does not join the documents before sorting. But I'm surprised with the fact that it is not possible.
I'm starting to think about changing my Java code, as Liao suggested. Anyway I'll still be searching for a solution for this. So, if you guys have some another idea, please contact me.
I put the last code I tried below, in case someone wants to give a last shot. (Comments and omissions are between ...[ ]...)
Thanks for all your help, Gustavo Moreira
--clientes.xsl----------------------------------- <?xml version="1.0"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/"> <xsl:apply-templates select="document('clientes_ora.xml')/clientes_ora/registro |
document('clientes_sqlsrv.xml')/clientes_sqlsrv/registro"> <xsl:sort select="nome"/> </xsl:apply-templates> </xsl:template>
<xsl:template match="*"> <b><xsl:number value="position()"/>- <xsl:value-of select="nome"/></b><br/> <xsl:value-of select="endereco"/>- <xsl:value-of select="cidade"/><br/><br/> </xsl:template>
</xsl:stylesheet>
--Results: -------------------------------
1- 3P CONSTRUÇÕES E INCORPORAÇÕES LTDA. RUA DOMINGOS DE ALMEIDA, 3670 - 6 ANDAR- URUGUAIANA
2- 3R INFORMÁTICA LTDA AV. PROTÁSIO ALVES, 3240 - LOJA 07 E 08- PORTO ALEGRE
3- A & L REPRESENTAÇÕES E SERVIÇOS LTDA. RUA EVARISTO DA VEIGA, 151- PORTO ALEGRE
4- A ADVENTUS ELETRICISTAS LTDA TRAVESSA SERAFIM TERRA, 207- PORTO ALEGRE
5- A FURNINHA HOTEIS E TURISMO LTDA RUA JOAQUIM PORTO, 281- TORRES
... [plus 3911 clients - the next two are the last from clientes_ora.xml]... ... [note that in 3919 it starts to bring the records from clientes_sqlsrv.xml]...
3917- ZONTA UNIFORMES E PECAS LTDA RUA PALMEIRINHAS, 330- CRICIÚMA
3918- ZORTEA CONSTRUCOES LTDA RUA CEL. FARRAPOS, 1141 - Tlx 492479- CAMPOS NOVOS
3919 - A.ARAUJO ENGENHARIA E MONTAGENS RUA MARIA URUTAITI, 441- ESTADO DE SÃO PAULO
3920 - A.C.DA CUNHA CONSTR.E INCORP.LTDA RUA DOMINGOS DE ALMEIDA, 1541- URUGUAIANA
3921 - A.J. SILVA E CERCATO LTDA AV. SALVADOR LEAO, 402- PORTO ALEGRE
...[plus the rest of the clients from clientes_sqlsrv.xml]...
---------------------------------------------------------------------
----- Original Message ----- From: "Joerg Heinicke" <joerg.heinicke@xxxxxx> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Sent: Sunday, October 13, 2002 5:51 PM Subject: Re: [xsl] Outputting from more than one source
graduation.I didn't really expect it to work, it was only a possibility. Sometimes ago MSXML had a bug with Result Tree Fragments: stored in a variable they became node sets. There was the possibility that the same works here.
I don't understand that both processors should have this bug. But client processing is more or less unreliable - what if the client has no XML / XSLT browser? Is server processing possible? Or at least try your code with another processor like Saxon or Xalan.
Regards,
Joerg
Gustavo Moreira wrote:
Joerg: It brings the same, even with this variable. I'm using MSXML 4.0 (IE6) and Mozilla. In both the result is the same. Do you have another suggestion?
Liao: I could change the Java code to produce only one document. But I don't want to change the specification of my project. Just for the record, this project is a parcial requisite for my
Let's say I'll change my Jave code as a last option.
----- Original Message ----- From: "Joerg Heinicke" <joerg.heinicke@xxxxxx> To: <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Sent: Sunday, October 13, 2002 7:39 AM Subject: Re: [xsl] Outputting from more than one source
1stHmm, it should work - at least it looks ok. What processor are you using? What happens if you do it in the following way:
<xsl:variable name="reg" select="/clients_ora/reg | document('other.xml')/clients_sqlsrv/reg | document('another.xml')/clients_db2/reg"/>
<xsl:apply-templates select="$reg"> <xsl:sort select="name"/> </xsl:apply-templates>
Regards,
Joerg
Gustavo Moreira wrote:
Yes, but what if there are three or more documents?
This, for instance, would this work?:
xsl:apply-templates select="/clients_ora/reg | document('other.xml')/clients_sqlsrv/reg | document('another.xml')/clients_db2/reg"> <xsl:sort select="name"/> </xsl:apply-templates>
I am using this:
<xsl:apply-templates select="document('clients_sqlsrv.xml')//clients_sqlsrv/reg | document('clients_ora.xml')//clients_ora/reg"> <xsl:sort select="name"/> </xsl:apply-templates>
...and it doesn't work because it brings first all the clients from the
theyfile (ordered), then it follows with all the clients from the 2nd file (ordered). What I want is all clients from all files ordered, no matter what file
come from.
Gustavo Moreira
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
System Development VIRBUS AG Fon +49(0)341-979-7419 Fax +49(0)341-979-7409 joerg.heinicke@xxxxxxxxx www.virbus.de
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Outputting from more than, Gustavo Moreira | Thread | RE: [xsl] Outputting from more than, Kevin Collins |
Re: [xsl] Retrieving unknown attrib, Peter Davis | Date | RE: [xsl] Error xsl:param may not b, Andrew Welch |
Month |