home *** CD-ROM | disk | FTP | other *** search
/ developer.apple.com / developer.apple.com.tar / developer.apple.com / appleapplications / SystemReport.dmg / sysinfo2inventory.xsl < prev   
Extensible Markup Language  |  2007-04-15  |  2KB  |  53 lines

  1. <?xml version='1.0' encoding='utf-8' ?>
  2. <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  3. <xsl:output method="xml" omit-xml-declaration="yes"/><!-- output an XML fragment -->
  4.  
  5. <!-- defaults -->
  6. <xsl:param name="NetworkAddress">Address</xsl:param>
  7. <xsl:param name="ShowSpeed">1</xsl:param>
  8. <xsl:param name="ShowKernel">0</xsl:param>
  9. <xsl:param name="ShowSerialNumber">0</xsl:param>
  10.  
  11. <!--
  12.     This XML transform takes a flattened property list from system_profiler,
  13.     extracts the specific nodes of interest, and output a single row of an HTML table.
  14.     -->
  15. <xsl:template match="plist">
  16.     <tr>
  17.         <td><xsl:value-of select="string[@key='local_host_name']"/></td>
  18.         <td><xsl:value-of select="$NetworkAddress"/></td>
  19.         <td>
  20.             <!-- Not all versions of system_profiler report a machine_name property -->
  21.             <!-- If machine_name isn't available, fall back on machine_model or "Unknown" -->
  22.             <xsl:choose>
  23.                 <xsl:when test="string[@key='machine_name']">
  24.                     <xsl:value-of select="string[@key='machine_name']"/>
  25.                 </xsl:when>
  26.                 <xsl:when test="string[@key='machine_model']">
  27.                     <xsl:value-of select="string[@key='machine_model']"/>
  28.                 </xsl:when>
  29.                 <xsl:otherwise>
  30.                     Unknown
  31.                 </xsl:otherwise>
  32.             </xsl:choose>
  33.         </td>
  34.         <td><xsl:value-of select="string[@key='cpu_type']"/></td>
  35.         <xsl:if test="$ShowSpeed=1">
  36.             <td><xsl:value-of select="string[@key='current_processor_speed']"/></td>
  37.         </xsl:if>
  38.         <td><xsl:value-of select="string[@key='physical_memory']"/></td>
  39.         <td><xsl:value-of select="string[@key='os_version']"/></td>
  40.         <xsl:if test="$ShowKernel=1">
  41.             <td><xsl:value-of select="string[@key='kernel_version']"/></td>
  42.         </xsl:if>
  43.         <xsl:if test="$ShowSerialNumber=1">
  44.             <td><xsl:value-of select="string[@key='serial_number']"/></td>
  45.         </xsl:if>
  46.     </tr>
  47. </xsl:template>
  48.  
  49. <!-- discard any loose text nodes -->
  50. <xsl:template match="text()"/>
  51.  
  52. </xsl:stylesheet>
  53.