[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Antw: Re: join two files - plz help
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 fu...... 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|