Subject: Antw: Re: [xsl] join two files - plz help From: "Michael Donabauer" <michael.donabauer@xxxxxxxxxxxx> Date: Mon, 20 Jun 2005 15:32:24 +0200 |
Hi, thank you very much for your reply, when i try to compile this source, i get no results (blank page with "<?xml version="1.0" encoding="ISO-8859-1"?>" in the first line. But no syntax errors. The problem is, that i'm new to xslt. In general i always think "read the fucking manual", but this time there are only dead-ends from my point of view! Whats's wrong here? <?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/SymCLI_ML/Symmetrix/Device"> <xsl:for-each select="document('lspv_lirp33.xml')/Front_End/Port[@pd_name=current()/@pd_name]/@aix_vg"> <tr> <td><xsl:value-of select="@dev_name"/></td> <td><xsl:value-of select="Front_End/Port/@pd_name"/></td> <td><xsl:value-of select="Front_End/Port/@aix_vg"/></td> </tr> </xsl:for-each> </xsl:template> </xsl:stylesheet> ciao & thanks for every help ::mike >>> sdc@xxxxxxxxxx 06/20/05 2:08 >>> On Mon, 2005-06-20 at 12:57 +0200, Michael Donabauer wrote: > Hi *, > > i have two files which have to be joined trough xslt. I am using the > msxsl.exe from the mircosoft page. I hope this is anyhow the adequate > list. > > Here is an excerpt of the first XML-File, there is an object called > ".../Device/Front_End/Port/@pd_name" inside: > > <?xml version="1.0" standalone="yes" ?> > > <SymCLI_ML> > <Symmetrix id="000287970171"> > <Device dev_name="0007" status="Ready" configuration="2-Way Mir"> > <Flags worm_protected="False" grouped="False" meta="None"/> > <Capacity megabytes="3"/> > <Front_End> > <Port pd_name="/dev/rhdiskpower0" director="02C" port="0"/> > </Front_End> > <Back_End> > <Disk director="16A" interface="C" tid="3"/> > </Back_End> > </Device> > <Device dev_name="0008" status="Ready" configuration="2-Way Mir"> > <Flags worm_protected="False" grouped="False" meta="None"/> > <Capacity megabytes="3"/> > <Front_End> > <Port pd_name="/dev/rhdiskpower1" director="02C" port="0"/> > </Front_End> > <Back_End> > <Disk director="01B" interface="C" tid="3"/> > </Back_End> > </Device> > ... > > With Unix-Shell (on AIX 5.3) i have generated an XML-File with the > Output of the AIX-Command lspv (list physical volumes). The content of > this valid xml-file looks like this: > > <?xml version="1.0" standalone="yes" ?> > <SymCLI_ML> > <Symmetrix id="000287970171"> > <Device> > <Front_End> > <Port pd_name="/dev/rhdiskpower49" aix_vg="oraclevg"> > </Port> > <Port pd_name="/dev/rhdisk0" aix_vg="rootvg"> > </Port> > <Port pd_name="/dev/rhdisk1" aix_vg="rootvg"> > </Port> > <Port pd_name="/dev/rhdiskpower4" aix_vg="oraclevg"> > </Port> > <Port pd_name="/dev/rhdiskpower5" aix_vg="tsmvg"> > </Port> > <Port pd_name="/dev/rhdiskpower6" aix_vg="tsmvg"> > > ... > > You see, in both files there are entries called "pd_name". Plz. could > you tell me how to join these two files? I need a report that shows at > least every "dev_name" and "*hdiskpower*" in the first mentioned sample > with the correct "aix_vg" in the second snippet. I have already read > many examples, but i can't make the grade. Any hint would be > appreciated. You need to use the document function. See: http://www.w3.org/TR/xslt#function-document What you'll want is something like this: document("foo.xml")//Port[@pd_name=current()/@pd_name]/@aix_vg sdc > Thanks in advance > ::mike
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: Antw: Re: [xsl] join two files , Michael Kay | Thread | Antw: Re: [xsl] join two files - pl, Michael Donabauer |
Antw: Re: [xsl] join two files - pl, Michael Donabauer | Date | Antw: Re: [xsl] join two files - pl, Michael Donabauer |
Month |