[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] 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@m...> | | 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] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|