[PATCH] fixed table-srgmap to also map Groups

Jeffrey Blank blank at eclipse.ncsc.mil
Wed May 2 23:28:31 UTC 2012


Signed-off-by: Jeffrey Blank <blank at eclipse.ncsc.mil>
---
 rhel6/src/Makefile                     |    4 ++--
 rhel6/src/transforms/table-srgmap.xslt |   17 +++++++++--------
 2 files changed, 11 insertions(+), 10 deletions(-)

diff --git a/rhel6/src/Makefile b/rhel6/src/Makefile
index 9d75999..c41c412 100644
--- a/rhel6/src/Makefile
+++ b/rhel6/src/Makefile
@@ -88,8 +88,8 @@ table-refs: shorthand-guide shorthand2xccdf
 	xsltproc --html -o $(OUT)/rhel6-table-nistrefs-delim-sorted.html $(TRANS)/table-sortbyref.xslt $(OUT)/rhel6-table-nistrefs-delim.html
 
 table-srgmap: shorthand-guide shorthand2xccdf
-# the map-to-rules filename must be provided relative to the root of the main document being processed
-	xsltproc -stringparam map-to-rules "../$(OUT)/rhel6-xccdf.xml" -o $(OUT)/rhel6-table-srgmap.html $(TRANS)/table-srgmap.xslt $(REFS)/disa-os-srg-v1r1.xml
+# the map-to-items filename must be provided relative to the root of the main document being processed
+	xsltproc -stringparam map-to-items "../$(OUT)/rhel6-xccdf.xml" -o $(OUT)/rhel6-table-srgmap.html $(TRANS)/table-srgmap.xslt $(REFS)/disa-os-srg-v1r1.xml
 
 tables: table-refs table-profilenistrefs table-srgmap
 
diff --git a/rhel6/src/transforms/table-srgmap.xslt b/rhel6/src/transforms/table-srgmap.xslt
index b7f68a7..c2eac87 100644
--- a/rhel6/src/transforms/table-srgmap.xslt
+++ b/rhel6/src/transforms/table-srgmap.xslt
@@ -7,9 +7,10 @@
 
 <xsl:include href="constants.xslt"/>
 
-<xsl:variable name="rules" select="document($map-to-rules)//cdf:Rule" />
-<!-- expecting external variable "map-to-rules" is filename to an XCCDF document with Rules -->
-<xsl:variable name="title" select="document($map-to-rules)/cdf:Benchmark/cdf:title" />
+<!-- expecting external variable "map-to-items", a filename to an XCCDF document with Rules and Groups -->
+<!-- put everything in it with a reference into "items" (should only be Rules and Groups) -->
+<xsl:variable name="items" select="document($map-to-items)//*[cdf:reference]" />
+<xsl:variable name="title" select="document($map-to-items)/cdf:Benchmark/cdf:title" />
 
 	<xsl:template match="/">
 		<html>
@@ -79,9 +80,9 @@
 		  <td> <xsl:value-of select="$srg_title"/> </td>
 		  <td> <xsl:call-template name="extract-vulndiscussion"><xsl:with-param name="desc" select="$srg_desc"/></xsl:call-template> </td>
 		  <td>
-      		<!-- iterate over the Rules in the (externally-provided) XCCDF document -->
-			<xsl:for-each select="$rules">
-				<xsl:variable name="rule" select="."/>
+      		<!-- iterate over the items (everything with references) in the (externally-provided) XCCDF document -->
+			<xsl:for-each select="$items">
+				<xsl:variable name="item" select="."/>
 				<xsl:if test="cdf:reference[@href=$disa-cciuri]" > 
 				<table>
 				<xsl:for-each select="cdf:reference[@href=$disa-cciuri]"> 
@@ -89,8 +90,8 @@
 				    <xsl:variable name="cci_expanded" select="concat('CCI-', $cci_formatted)"  />
 			  		<xsl:if test="$cci_expanded=$srg_cci" >
 						<tr>
-						<td> <xsl:value-of select="$rule/cdf:title"/> </td>
-						<td> <xsl:apply-templates select="$rule/cdf:description"/> </td>
+						<td> <xsl:value-of select="$item/cdf:title"/> </td>
+						<td> <xsl:apply-templates select="$item/cdf:description"/> </td>
 				  		</tr>
 			  		</xsl:if>
 				</xsl:for-each>
-- 
1.7.1



More information about the scap-security-guide mailing list