Ik probeer nu al een tijdje de ServerStatusReport.xml afkomstig van mn Win2000SBS server er anders uit te laten zien.
Met dank aan w3schools.org en wat zoeken hier lukt dat al aardig, echter loop ik tegen een probleem op, for-each weigert te werken omdat de gegenereerde XML niet helemaal volgens de regeltjes gemaakt is.
hier een beknipte versie ervan om jullie een beetje een beeld te geven:)
ik roep hierbij een xsl op die een xsl:for-each gebruikt om van de <Win32_PerfRawData> elke keer de <Win32_PerfRawData_Name> en <Win32_PerfRawData_Value> naast elkaar te zetten in <div>'s
Echter omdat de bron XML niet elke regel start met een <Win32_PerfRawData> en eindigd met een </Win32_PerfRawData> werkt for each niet. En dus weergeeft het resultaat alleen de 1e regel uit <Win32_PerfRawData> en daarna vind ie dat ie klaar is.
Ik ben er redelijk nieuw in maar vind maar geen oplossing of workaround, heb al geprobeerd een repeat te gebruiken maar ook dat mocht niet helpen.
Ik ben benieuwd of iemand hier me wat pointers kan geven zodat ik verder kan zoeken of zelfs een oplossing (al dokter ik t liever zelf uit
)
Met dank aan w3schools.org en wat zoeken hier lukt dat al aardig, echter loop ik tegen een probleem op, for-each weigert te werken omdat de gegenereerde XML niet helemaal volgens de regeltjes gemaakt is.
hier een beknipte versie ervan om jullie een beetje een beeld te geven:)
XML:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| <?xml version="1.0"?> <server_stat_report> <report_info> <customer_name></customer_name> <date>6/6/2006</date> <time>6:00:04 AM</time> </report_info> <server_grp_blk> <server_grp_name></server_grp_name> <server_status><server_name>GRAASVELD</server_name><Microsoft_HMSystemStatus_State>0</Microsoft_HMSystemStatus_State> <Win32_PerfRawData>Performance Counters <Win32_PerfRawData_Name>Memory - Available Bytes</Win32_PerfRawData_Name><Win32_PerfRawData_Value>3805184</Win32_PerfRawData_Value> <Win32_PerfRawData_Name>Memory - Committed Bytes</Win32_PerfRawData_Name><Win32_PerfRawData_Value>711294976</Win32_PerfRawData_Value> <Win32_PerfRawData_Name>Memory - Pool Nonpaged Bytes</Win32_PerfRawData_Name><Win32_PerfRawData_Value>17756160</Win32_PerfRawData_Value> <Win32_PerfRawData_Name>Memory - Cache Faults/sec</Win32_PerfRawData_Name><Win32_PerfRawData_Value>2 </Win32_PerfRawData_Value> <Win32_PerfRawData_Name>Memory - Page Faults/sec</Win32_PerfRawData_Name><Win32_PerfRawData_Value>209 </Win32_PerfRawData_Value> <Win32_PerfRawData_Name>Memory - Page Reads/sec</Win32_PerfRawData_Name><Win32_PerfRawData_Value>1 </Win32_PerfRawData_Value> <Win32_PerfRawData_Name>Memory - Pages Input/sec</Win32_PerfRawData_Name><Win32_PerfRawData_Value>15 </Win32_PerfRawData_Value> <Win32_PerfRawData_Name>Memory - Pages/sec</Win32_PerfRawData_Name><Win32_PerfRawData_Value>15 </Win32_PerfRawData_Value> <Win32_PerfRawData_Name>Memory - % Free Memory</Win32_PerfRawData_Name><Win32_PerfRawData_Value>0 </Win32_PerfRawData_Value> </Win32_PerfRawData> <Win32_Service>Service Status <State>Running</State><StartMode>Auto</StartMode><DisplayName>Alerter</DisplayName> <State>Stopped</State><StartMode>Manual</StartMode><DisplayName>Application Management</DisplayName> <State>Stopped</State><StartMode>Manual</StartMode><DisplayName>ASP.NET State Service</DisplayName> </Win32_Service> <Microsoft_HMRuleStatus>Alerts </Microsoft_HMRuleStatus></server_status></server_grp_blk> </server_stat_report> |
ik roep hierbij een xsl op die een xsl:for-each gebruikt om van de <Win32_PerfRawData> elke keer de <Win32_PerfRawData_Name> en <Win32_PerfRawData_Value> naast elkaar te zetten in <div>'s
Echter omdat de bron XML niet elke regel start met een <Win32_PerfRawData> en eindigd met een </Win32_PerfRawData> werkt for each niet. En dus weergeeft het resultaat alleen de 1e regel uit <Win32_PerfRawData> en daarna vind ie dat ie klaar is.
Ik ben er redelijk nieuw in maar vind maar geen oplossing of workaround, heb al geprobeerd een repeat te gebruiken maar ook dat mocht niet helpen.
Ik ben benieuwd of iemand hier me wat pointers kan geven zodat ik verder kan zoeken of zelfs een oplossing (al dokter ik t liever zelf uit
