xsl-list
[Top] [All Lists]

Re: join two files - plz help

2005-06-20 05:08:51
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[(_at_)pd_name=current()/@pd_name]/@aix_vg

sdc

Thanks in advance
::mike

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>