Skip to content Skip to sidebar Skip to footer

Can Xslt Be Improved Further?

I have 2 XSLs: GET ID

Solution 1:

Would something like this work for you?

XSLT 1.0

<xsl:stylesheetversion="1.0"xmlns:xsl="http://www.w3.org/1999/XSL/Transform"xmlns:oval-res="http://oval.mitre.org/XMLSchema/oval-results-5"xmlns:oval-def="http://oval.mitre.org/XMLSchema/oval-definitions-5"exclude-result-prefixes="oval-def oval-res"><xsl:outputmethod="xml"version="1.0"encoding="UTF-8"indent="yes"/><xsl:keyname="result"match="oval-res:definition"use="@definition_id" /><xsl:templatematch="/oval-res:oval_results"><output><xsl:for-eachselect="oval-def:oval_definitions/oval-def:definitions/oval-def:definition"><def><RuleID><xsl:value-ofselect="@id" /></RuleID><Title><xsl:value-ofselect="oval-def:metadata/oval-def:title"/></Title><Status><xsl:value-ofselect="key('result', @id)/@result"/></Status></def></xsl:for-each></output></xsl:template></xsl:stylesheet>

For ease of testing, I have made this return an XML result. Applied to your input example, the result will be:

<?xml version="1.0" encoding="UTF-8"?><output><def><RuleID>oval:com.vmware.test.linux:def:3</RuleID><Title>Rule 3 - /etc/passwd file is group-owned by root</Title><Status>true</Status></def><def><RuleID>oval:com.vmware.test.linux:def:2</RuleID><Title>Rule 2 - /etc/passwd file is owned by root</Title><Status>true</Status></def><def><RuleID>oval:com.vmware.test.linux:def:1</RuleID><Title>Rule 1 - /etc/passwd file has permissions of 644 or more restrictive</Title><Status>true</Status></def></output>

Post a Comment for "Can Xslt Be Improved Further?"