|
[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
[expletive deleted] 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
|

Cart








