Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: using For each witin xslt

From: "Big D" <BigDaddy@---------.------>
To: NULL
Date: 3/3/2007 3:55:00 PM

Tried doing the following but still getting stylesheet errors when running:


<xslt:if test="@CName = 'Win32_NetworkAdapter'">

<xsl:variable name="Win32_NetworkAdapter"
select="Class[Property[@PName='IPEnabled:Win32_NetworkAdapterConfiguration' 
and Value='true']]" />

<xsl:value-of 
select="$ActiveNetAdaptor/Property[@PName='MACAddress"]/@Value" />
<xsl:value-of 
select="$ActiveNetAdaptorProperty[@PName='IPAddress:Win32_NetworkAdapterConfiguration"]/@Value" 
/>
</xslt:if>


"Big D" <BigDaddy@n...> wrote in message 
news:uWWQXdcXHHA.2640@T......
> OK, I appogise as I have been struggling.....Your right I do not need a 
> For each. I thought that I would.
>
> Below is my xslt code
>
> <xslt:if test="@CName = 'Win32_NetworkAdapter'">
>    <IPAddress>
>     <xslt:value-of 
> select="Property[@PName='IPAddress:Win32_NetworkAdapterConfiguration']/@Value" 
> />
>    </IPAddress>
>  </xslt:if>
>
>
> My result in my xml file is as follows:
>
> <IPAddress>N/A</IPAddress>
>  <IPAddress>N/A</IPAddress>
>  <IPAddress>N/A</IPAddress>
>  <IPAddress>10.176.152.2</IPAddress>
>  <IPAddress>N/A</IPAddress>
>  <IPAddress>N/A</IPAddress>
>  <IPAddress>N/A</IPAddress>
>  <IPAddress>N/A</IPAddress>
>
> I I have multiple entries and maybe I am using the code you provided 
> wrong. I know what needs to be done to eliminate the additonal xml tags 
> that are not IpAddresses.
>
> The below property name when the value is "True" is the only time i should 
> grab the IPAddress and MAC.(Left MAC field out for simplicity) I know the 
> field below when true is the adapters information I need and should 
> probably exist outside the tag <IPAddress>
>
> "IPEnabled:Win32_NetworkAdapterConfiguration"
>
> '''Modified with psuedo code but unsure of how to incorprate into 
> stylesheet code.
>
> <xslt:if test="@CName = 'Win32_NetworkAdapter'">
>
>        'gET the adapter Property value if the device in the enabled 
> one.(IPEnabled:Win32_NetworkAdapterConfiguration)
>         <xslt:if test="IPEnabled:Win32_NetworkAdapterConfiguration" = 
> True> 'When true inventory the adapter for IPAddress and MAC, otherwise 
> goto the next one.
>    <IPAddress>
>     <xslt:value-of 
> select="Property[@PName='IPAddress:Win32_NetworkAdapterConfiguration']/@Value" 
> />
>    </IPAddress>
>
>        </xsl:if>
> </xslt:if>
>
> Any help is definently appreciated as I did npot think this would be as 
> difficult.
>
>
>
>
>
>
>
>
>
>
> "Anthony Jones" <Ant@y...> wrote in message 
> news:eA8Svf$WHHA.4076@T......
>>
>> "Big D" <BigDaddy@n...> wrote in message
>> news:%23CfEmW$WHHA.2212@T......
>>> I only put two instances of the Win32_NetworkAdapter but typically see 
>>> at
>>> most 8. Basically I need to interate through all adapters AND
>>>
>>>  IF IPEnabled:Win32_NetworkAdapterConfiguration = True
>>>     Grab the Ipaddress and Macaddress properties.        'When true that
>>> means the adapter is the active one.
>>>
>>> Else If IPEnabled:Win32_NetworkAdapterConfiguration =False
>>>     'Do nothing and move on until there are no adapters.
>>> End If
>>>
>>>
>>> Normally any inactive adapter will be false and is not adapter with the 
>>> IP
>>> infomration.
>>>
>>
>> If you are going to do nothing with the adapters where IPEnabled is false
>> why to you need to iterate at all.  Surely what you are saying is you 
>> need
>> to select the Class where IPEnabled:Win32_NetworkAdapterConfiguration = 
>> True
>> ??
>>
>> <xsl:variable name="ActiveNetAdaptor"
>> select="Class[Property[@PName='IPEnabled:Win32_NetworkAdapterConfiguration'
>> and Value='true']]" />
>>
>> <xsl:value-of
>> select="$ActiveNetAdaptor/Property[@PName='MACAddress"]/@Value" />
>> <xsl:value-of
>> select="$ActiveNetAdaptorProperty[@PName='IPAddress:Win32_NetworkAdapterConf
>> iguration"]/@Value" />
>>
>>
>>
>>
>>
>>>
>>> I hope this is clearer.
>>>
>>> Thanks again for your help!
>>> "Anthony Jones" <Ant@y...> wrote in message
>>> news:e$WqlZ%23WHHA.996@T......
>>> >
>>> > "Big D" <BigDaddy@n...> wrote in message
>>> > news:uZc4xY6WHHA.996@T......
>>> >> I have an xml file and the data in the xml file is WMI information. I
>> am
>>> >> using a stylesheet(xslt  file) to get the data I actually need from 
>>> >> the
>>> > file
>>> >> that has all kinds of information. Where I have run into a problem is
>>> >> when
>>> >> WMI properties is having multipe instances. For example, the
>>> >> Win32_NetworkAdapter can have up to eight instances or more. I do not
>>> >> want
>>> >> to extract all 8 instances of the adapters but rather the only adater 
>>> >> I
>>> > care
>>> >> about is the one with the MAC address and IP Aaddress.(Active 
>>> >> Adapter)
>>> > This
>>> >> information can be in any instance of the eight(1-8) and I am not 
>>> >> able
>> to
>>> >> key off of a instance.
>>> >>
>>> >> How can I within my stylesheet do the logic to look grab the
>> information
>>> >> needed where the IPAddress and MAC are not null. All other adapters 
>>> >> are
>>> >> Null.
>>> >>
>>> >> Pseudo code of what i want to acomplish
>>> >>
>>>
>>>> -------------------------------------------------------------------------
>> -
>>> > ----
>>> >> select each Win32_NetworkAdapter instance and where
>>> >> "IPEnabled:Win32_NetworkAdapterConfiguration" Value="true" IS TRUE.
>>> >>
>>> >> IF true Then get the following values within that instance....
>>> >>
>>> >> IPAddress:Win32_NetworkAdapterConfiguration" Value="10.112.14.5"
>>> >> "MACAddress:Win32_NetworkAdapterConfiguration"
>> Value="00:90:FB:0B:83:ED"
>>>
>>>> -------------------------------------------------------------------------
>> -
>>> > ----
>>> >
>>> > Hmm your psuedo code does match your text description above.  Are you
>>> > saying
>>> > the criteria for selection is that the class needs to have:-
>>> >
>>> > 1) IPAddress and MACAddress
>>> > OR
>>> > 2) IPAddress or MACAddress
>>> > OR
>>> > 3) only one will be  IPEnabled anyway so fetch that one and get the
>> values
>>> > of IPAddress and MACAddress
>>> >
>>> > I'll take 3 let me know otherwise.
>>> >
>>> >>
>>> >>   <xsl:for-each
>>> >>
>>> > select="Property[@PName='IPAddress:Win32_NetworkAdapterConfiguration']">
>>> >>   </xsl:for-each>
>>> >
>>> > <xsl:for-each
>>> >
>>> >
>> select="Class[Property[@PName=IPEnabled:Win32_NetworkAdapterConfiguration'
>>> > and Value='true']]">
>>> > </xsl:for-each>
>>> >
>>> > Given the context is the root node holding the Class elements the 
>>> > above
>>> > returns all Class elements that have a property with a PName attribute 
>>> > =
>>> > IPEnabled and a Value attribute = true.
>>> >
>>> >
>>> >>
>>> >>
>>> >>
>>> >> Example, XML file
>>> >> <Class CName="Win32_NetworkAdapter" CInstance="0">
>>> >> <Property PName="AdapterType" Value="Ethernet 802.3" PInstance="0"
>>> > Index="0"
>>> >> DType="8"/>
>>> >> <Property PName="Description" Value="Intel(R) PRO/100 VM Network
>>> > Connection"
>>> >> PInstance="0" Index="0" DType="8"/>
>>> >> <Property PName="Index" Value="0" PInstance="0" Index="0" 
>>> >> DType="19"/>
>>> >> <Property PName="Installed" Value="true" PInstance="0" Index="0"
>>> >> DType="11"/>
>>> >> <Property PName="MACAddress" Value="00:90:FB:0B:83:ED" PInstance="0"
>>> >> Index="0" DType="8"/>
>>> >> <Property PName="Manufacturer" Value="Intel" PInstance="0" Index="0"
>>> >> DType="8"/>
>>> >> <Property PName="ServiceName" Value="E100B" PInstance="0" Index="0"
>>> >> DType="8"/>
>>> >> <Property PName="TimeOfLastReset" Value="02/25/2007 22:44:35"
>>> > PInstance="0"
>>> >> Index="0" DType="101"/>
>>> >> <Property PName="DefaultIPGateway:Win32_NetworkAdapterConfiguration"
>>> >> Value="10.112.14.1" PInstance="0" Index="0" DType="8"/>
>>> >> <Property PName="DHCPEnabled:Win32_NetworkAdapterConfiguration"
>>> >> Value="false" PInstance="0" Index="0" DType="11"/>
>>> >> <Property PName="DNSHostName:Win32_NetworkAdapterConfiguration"
>>> >> Value="VSSRES001403" PInstance="0" Index="0" DType="8"/>
>>> >> <Property PName="Index:Win32_NetworkAdapterConfiguration" Value="0"
>>> >> PInstance="0" Index="0" DType="19"/>
>>> >> <Property PName="IPAddress:Win32_NetworkAdapterConfiguration"
>>> >> Value="10.112.14.5" PInstance="0" Index="0" DType="8"/>
>>> >> <Property PName="IPEnabled:Win32_NetworkAdapterConfiguration"
>>> >> Value="true"
>>> >> PInstance="0" Index="0" DType="11"/>
>>> >> <Property PName="IPSubnet:Win32_NetworkAdapterConfiguration"
>>> >> Value="255.255.255.0" PInstance="0" Index="0" DType="8"/>
>>> >> <Property PName="MACAddress:Win32_NetworkAdapterConfiguration"
>>> >> Value="00:90:FB:0B:83:ED" PInstance="0" Index="0" DType="8"/>
>>> >> <Property PName="ServiceName:Win32_NetworkAdapterConfiguration"
>>> >> Value="E100B" PInstance="0" Index="0" DType="8"/>
>>> >> </Class>
>>> >>
>>> >> <Class CName="Win32_NetworkAdapter" CInstance="1">
>>> >> <Property PName="Description" Value="RAS Async Adapter" PInstance="0"
>>> >> Index="0" DType="8"/>
>>> >> <Property PName="Index" Value="1" PInstance="0" Index="0" 
>>> >> DType="19"/>
>>> >> <Property PName="Installed" Value="true" PInstance="0" Index="0"
>>> >> DType="11"/>
>>> >> <Property PName="TimeOfLastReset" Value="02/25/2007 22:44:35"
>>> > PInstance="0"
>>> >> Index="0" DType="101"/>
>>> >> <Property PName="DefaultIPGateway:Win32_NetworkAdapterConfiguration"
>>> >> Value="N/A" PInstance="0" Index="0" DType="8"/>
>>> >> <Property PName="Description:Win32_NetworkAdapterConfiguration"
>>> >> Value="RAS
>>> >> Async Adapter" PInstance="0" Index="0" DType="8"/>
>>> >> <Property PName="DHCPEnabled:Win32_NetworkAdapterConfiguration"
>>> >> Value="false" PInstance="0" Index="0" DType="11"/>
>>> >> <Property PName="Index:Win32_NetworkAdapterConfiguration" Value="1"
>>> >> PInstance="0" Index="0" DType="19"/>
>>> >> <Property PName="IPAddress:Win32_NetworkAdapterConfiguration"
>> Value="N/A"
>>> >> PInstance="0" Index="0" DType="8"/>
>>> >> <Property PName="IPEnabled:Win32_NetworkAdapterConfiguration"
>>> > Value="false"
>>> >> PInstance="0" Index="0" DType="11"/>
>>> >> <Property PName="IPSubnet:Win32_NetworkAdapterConfiguration"
>> Value="N/A"
>>> >> PInstance="0" Index="0" DType="8"/>
>>> >> <Property PName="ServiceName:Win32_NetworkAdapterConfiguration"
>>> >> Value="AsyncMac" PInstance="0" Index="0" DType="8"/>
>>> >> </Class>
>>> >>
>>> >>
>>> >
>>> >
>>>
>>>
>>
>>
>
> 




transparent
Print
Mail
Like It
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent