XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
XSLT call-template question

I have an XML doc and XSLT that look that looks like the following
samples.  What I want to do is to pull the description of the
vulnerability from a separate document.  The problem is that when I
call the FINDING_DETAILS template for some reason I cannot access the
FINDING_ID of the FINDING that I'm currently processing.  I tried, just
to see what I got <xsl:variable name="FID"><xsl:value-of
select="self::*"/><xsl:value-of select="$FID"/> and what I got was the
whole finding that I'm processing.  That said.  How the heck do I
select the FINDING_ID item so that I can assign that value to the
variable and then I use this to pull the correct description from the
external document.

--- BEGIN XML ---
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='DCID_Open.xslt'?>
<IMPORT_FILE xmlns="urn:FindingImport"
xmlns:xi="http://www.w3.org/2001/XInclude/";>
   <FINDING>
      <FINDING_ID>V0006670</FINDING_ID>
      <FINDING_STATUS>NR</FINDING_STATUS>
      <VUL_NAME>Mechanism in place for key recovery</VUL_NAME>
      <SEVERITY>3</SEVERITY>
   </FINDING>
   .
   Repate this many, many times
   .
</IMPORT_FILE>
--- END XML ---

--- BEGIN XSLT ---
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";
xmlns:imp="urn:FindingImport">
<xsl:template match="/">
   <HTML>
   <HEAD>
         <TITLE>Findings Report</TITLE>
   </HEAD>
   <BODY style="font-family: sans-serif">
   <h3Findings:</h3>
      <xsl:apply-templates
select="//imp:FINDING[imp:FINDING_STATUS='O'">
         <xsl:sort select="imp:SEVERITY" order="ascending"
data-type="number" />
         <xsl:sort select="imp:FINDING_ID" order="ascending"
data-type="text" />
      </xsl:apply-templates>
   </BODY>
   </HTML>
</xsl:template>

<xsl:template match="//imp:FINDING[imp:FINDING_STATUS='O'">
   <dl>
      <table>
         <tr>
            <td>
               <table>
                  <tr>
                     <td><xsl:apply-templates select="imp:SEVERITY" />
</td>
                     <td><xsl:apply-templates select="imp:FINDING_ID"
/> </td>
                  </tr>
                  <tr>
                     <td colspan="2"><xsl:apply-templates
select="imp:VUL_NAME" /></td>
                  </tr>
               </table>
            </td>
         </tr>
         <tr><td><xsl:call-template name="FINDING_DETAILS" /></td></tr>
         <tr><td><xsl:apply-templates select="imp:SCRIPT_RESULTS"
/></td></tr>
         <tr><td><xsl:call-template name="TEST" /></td></tr>
      </table>
   </dl>
</xsl:template>
<xsl:template name="FINDING_DETAILS">
   <dd><b><SPAN STYLE="font-style:italic">Details:</SPAN></b></dd>
   <dd>
      <xsl:variable name="FID"><xsl:value-of
select="..//imp:FINDING_ID/text()"/>
      <xsl:value-of
select="document('BaseVulns.xml')//VULNERABILITIES/VULNERABILITY[V_6X=$
FID]/DESCRIPTION" />
   </dd>
</xsl:template>
.
Just ignore the rest of the templates they work just fine...
.
</xsl:stylesheet>
--- END XSLT ---


+------------------------------------------
| José J. Cintrón - <jcintron@mitre.org>
|
| MITRE Corporation
| 7515 Colshire Drive
| Mail Stop T330
| McLean, VA  22102-7508
|
| Phone: 703.983.3040
| Fax: 703.983.1397
+------------------------------------------


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS