<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>Open SCAP Library: Validation</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.4 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">Open SCAP Library</div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li><a href="files.html"><span>Files</span></a></li> </ul> </div> </div> <div class="header"> <div class="summary"> <a href="#typedef-members">Typedefs</a> | <a href="#enum-members">Enumerations</a> | <a href="#func-members">Functions</a> </div> <div class="headertitle"> <div class="title">Validation</div> </div> <div class="ingroups"><a class="el" href="group__COMMON.html">Common</a></div></div> <div class="contents"> <p>XML schema based validation of XML representations of SCAP documents. <a href="#details">More...</a></p> <table class="memberdecls"> <tr><td colspan="2"><h2><a name="typedef-members"></a> Typedefs</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac979f1141240cd8d0a762a2be9341965"></a><!-- doxytag: member="VALID::oscap_document_type_t" ref="gac979f1141240cd8d0a762a2be9341965" args="" --> typedef enum <a class="el" href="group__VALID.html#gae11fc65de255d812d72c1f563146200f">oscap_document_type</a> </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VALID.html#gac979f1141240cd8d0a762a2be9341965">oscap_document_type_t</a></td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">SCAP document type identifiers. <br/></td></tr> <tr><td colspan="2"><h2><a name="enum-members"></a> Enumerations</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">enum  </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VALID.html#gae11fc65de255d812d72c1f563146200f">oscap_document_type</a> { <br/>   <a class="el" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fafc43196d876e7510c731e9329268b270">OSCAP_DOCUMENT_OVAL_DEFINITIONS</a> = 1, <a class="el" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa1beeca5febf1d503ef68b382a515ac0a">OSCAP_DOCUMENT_OVAL_VARIABLES</a>, <a class="el" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fae8e342ea95744c96444f967671f19fa6">OSCAP_DOCUMENT_OVAL_SYSCHAR</a>, <a class="el" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200faf668682d31530ba654ad6a501ff2c558">OSCAP_DOCUMENT_OVAL_RESULTS</a>, <br/>   <a class="el" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa3f530686b986be0046ea4b043a3c0ade">OSCAP_DOCUMENT_XCCDF</a>, <a class="el" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200faae51c5951377f65c31e676fdd2e7acf0">OSCAP_DOCUMENT_CPE_LANGUAGE</a>, <a class="el" href="group__VALID.html#ggae11fc65de255d812d72c1f563146200fa2a2868aeedeafe930100ee5b7695d75f">OSCAP_DOCUMENT_CPE_DICTIONARY</a> <br/> }</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">SCAP document type identifiers. <a href="group__VALID.html#gae11fc65de255d812d72c1f563146200f">More...</a><br/></td></tr> <tr><td colspan="2"><h2><a name="func-members"></a> Functions</h2></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VALID.html#gac6aa74cf46267b053514f7579d010717">oscap_validate_document</a> (const char *xmlfile, <a class="el" href="group__VALID.html#gac979f1141240cd8d0a762a2be9341965">oscap_document_type_t</a> doctype, const char *version, <a class="el" href="group__Reporters.html#gada96dbbbb54a7659c3acf1c00a7d7ad3">oscap_reporter</a> reporter, void *arg)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Validate a SCAP document file against a XML schema. <a href="#gac6aa74cf46267b053514f7579d010717"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VALID.html#ga8c155b31c77a4e546a968321e140f671">oscap_apply_xslt</a> (const char *xmlfile, const char *xsltfile, const char *outfile, const char **params)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Apply a XSLT stylesheet to a XML file. <a href="#ga8c155b31c77a4e546a968321e140f671"></a><br/></td></tr> <tr><td class="memItemLeft" align="right" valign="top">bool </td><td class="memItemRight" valign="bottom"><a class="el" href="group__VALID.html#gaca7e3b5061c71dfdd6f589fc2741b4e7">oscap_apply_xslt_var</a> (const char *xmlfile, const char *xsltfile, const char *outfile, const char **params, const char *pathvar, const char *defpath)</td></tr> <tr><td class="mdescLeft"> </td><td class="mdescRight">Apply XSLT stylesheet to a XML file. <a href="#gaca7e3b5061c71dfdd6f589fc2741b4e7"></a><br/></td></tr> </table> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <p>XML schema based validation of XML representations of SCAP documents. </p> <hr/><h2>Enumeration Type Documentation</h2> <a class="anchor" id="gae11fc65de255d812d72c1f563146200f"></a><!-- doxytag: member="oscap.h::oscap_document_type" ref="gae11fc65de255d812d72c1f563146200f" args="" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">enum <a class="el" href="group__VALID.html#gae11fc65de255d812d72c1f563146200f">oscap_document_type</a></td> </tr> </table> </div> <div class="memdoc"> <p>SCAP document type identifiers. </p> <dl><dt><b>Enumerator: </b></dt><dd><table border="0" cellspacing="2" cellpadding="0"> <tr><td valign="top"><em><a class="anchor" id="ggae11fc65de255d812d72c1f563146200fafc43196d876e7510c731e9329268b270"></a><!-- doxytag: member="OSCAP_DOCUMENT_OVAL_DEFINITIONS" ref="ggae11fc65de255d812d72c1f563146200fafc43196d876e7510c731e9329268b270" args="" -->OSCAP_DOCUMENT_OVAL_DEFINITIONS</em> </td><td> <p>OVAL Definitions file. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggae11fc65de255d812d72c1f563146200fa1beeca5febf1d503ef68b382a515ac0a"></a><!-- doxytag: member="OSCAP_DOCUMENT_OVAL_VARIABLES" ref="ggae11fc65de255d812d72c1f563146200fa1beeca5febf1d503ef68b382a515ac0a" args="" -->OSCAP_DOCUMENT_OVAL_VARIABLES</em> </td><td> <p>OVAL Variables. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggae11fc65de255d812d72c1f563146200fae8e342ea95744c96444f967671f19fa6"></a><!-- doxytag: member="OSCAP_DOCUMENT_OVAL_SYSCHAR" ref="ggae11fc65de255d812d72c1f563146200fae8e342ea95744c96444f967671f19fa6" args="" -->OSCAP_DOCUMENT_OVAL_SYSCHAR</em> </td><td> <p>OVAL system characteristics file. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggae11fc65de255d812d72c1f563146200faf668682d31530ba654ad6a501ff2c558"></a><!-- doxytag: member="OSCAP_DOCUMENT_OVAL_RESULTS" ref="ggae11fc65de255d812d72c1f563146200faf668682d31530ba654ad6a501ff2c558" args="" -->OSCAP_DOCUMENT_OVAL_RESULTS</em> </td><td> <p>OVAL results file. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggae11fc65de255d812d72c1f563146200fa3f530686b986be0046ea4b043a3c0ade"></a><!-- doxytag: member="OSCAP_DOCUMENT_XCCDF" ref="ggae11fc65de255d812d72c1f563146200fa3f530686b986be0046ea4b043a3c0ade" args="" -->OSCAP_DOCUMENT_XCCDF</em> </td><td> <p>XCCDF benchmark file. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggae11fc65de255d812d72c1f563146200faae51c5951377f65c31e676fdd2e7acf0"></a><!-- doxytag: member="OSCAP_DOCUMENT_CPE_LANGUAGE" ref="ggae11fc65de255d812d72c1f563146200faae51c5951377f65c31e676fdd2e7acf0" args="" -->OSCAP_DOCUMENT_CPE_LANGUAGE</em> </td><td> <p>CPE language file. </p> </td></tr> <tr><td valign="top"><em><a class="anchor" id="ggae11fc65de255d812d72c1f563146200fa2a2868aeedeafe930100ee5b7695d75f"></a><!-- doxytag: member="OSCAP_DOCUMENT_CPE_DICTIONARY" ref="ggae11fc65de255d812d72c1f563146200fa2a2868aeedeafe930100ee5b7695d75f" args="" -->OSCAP_DOCUMENT_CPE_DICTIONARY</em> </td><td> <p>CPE dictionary file. </p> </td></tr> </table> </dd> </dl> </div> </div> <hr/><h2>Function Documentation</h2> <a class="anchor" id="ga8c155b31c77a4e546a968321e140f671"></a><!-- doxytag: member="oscap.h::oscap_apply_xslt" ref="ga8c155b31c77a4e546a968321e140f671" args="(const char *xmlfile, const char *xsltfile, const char *outfile, const char **params)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool oscap_apply_xslt </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>xmlfile</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>xsltfile</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>outfile</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char ** </td> <td class="paramname"><em>params</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Apply a XSLT stylesheet to a XML file. </p> <p>Stylesheets are searched relative to path specified by the OSCAP_XSLT_PATH environment variable, which contains a list of colon-separated paths. If the variable does not exist a default path is used (usually something like $PREFIX/share/openscap/schemas).</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">xmlfile</td><td>File to be transformed. </td></tr> <tr><td class="paramname">xsltfile</td><td>XSLT filename </td></tr> <tr><td class="paramname">outfile</td><td>Result file shall be written here (NULL for stdout). </td></tr> <tr><td class="paramname">params</td><td>list of key-value pairs to pass to the stylesheet. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Success or failure. </dd></dl> </div> </div> <a class="anchor" id="gaca7e3b5061c71dfdd6f589fc2741b4e7"></a><!-- doxytag: member="oscap.h::oscap_apply_xslt_var" ref="gaca7e3b5061c71dfdd6f589fc2741b4e7" args="(const char *xmlfile, const char *xsltfile, const char *outfile, const char **params, const char *pathvar, const char *defpath)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool oscap_apply_xslt_var </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>xmlfile</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>xsltfile</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>outfile</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char ** </td> <td class="paramname"><em>params</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>pathvar</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>defpath</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Apply XSLT stylesheet to a XML file. </p> <p>This function lets user specify environment variable with a XSL stylesheet search path(s) and a fallback path if the variable is not defined. Except for this it is completely identical to <a class="el" href="group__VALID.html#ga8c155b31c77a4e546a968321e140f671" title="Apply a XSLT stylesheet to a XML file.">oscap_apply_xslt()</a>.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">xmlfile</td><td>File to be transformed. </td></tr> <tr><td class="paramname">xsltfile</td><td>XSLT filename </td></tr> <tr><td class="paramname">outfile</td><td>Result file shall be written here (NULL for stdout). </td></tr> <tr><td class="paramname">params</td><td>list of key-value pairs to pass to the stylesheet. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Success or failure. </dd></dl> </div> </div> <a class="anchor" id="gac6aa74cf46267b053514f7579d010717"></a><!-- doxytag: member="oscap.h::oscap_validate_document" ref="gac6aa74cf46267b053514f7579d010717" args="(const char *xmlfile, oscap_document_type_t doctype, const char *version, oscap_reporter reporter, void *arg)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">bool oscap_validate_document </td> <td>(</td> <td class="paramtype">const char * </td> <td class="paramname"><em>xmlfile</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__VALID.html#gac979f1141240cd8d0a762a2be9341965">oscap_document_type_t</a> </td> <td class="paramname"><em>doctype</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const char * </td> <td class="paramname"><em>version</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype"><a class="el" href="group__Reporters.html#gada96dbbbb54a7659c3acf1c00a7d7ad3">oscap_reporter</a> </td> <td class="paramname"><em>reporter</em>, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>arg</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td></td> </tr> </table> </div> <div class="memdoc"> <p>Validate a SCAP document file against a XML schema. </p> <p>Schemas are searched relative to path specified by the OSCAP_SCHEMA_PATH environment variable, which contains a list of colon-separated paths. If the variable does not exist a default path is used (usually something like $PREFIX/share/openscap/schemas).</p> <p>Directory structure must adhere $SCHEMA_PATH/$STANDARD/$VERSION/$SCHEMAFILE.xsd structure, where $STANDARD is oval, xccdf, etc., and $VERSION is a version of the standard.</p> <dl><dt><b>Parameters:</b></dt><dd> <table class="params"> <tr><td class="paramname">xmlfile</td><td>File to be validated. </td></tr> <tr><td class="paramname">doctype</td><td>Document type represented by the file. </td></tr> <tr><td class="paramname">version</td><td>Version of the document, use NULL for library's default. </td></tr> <tr><td class="paramname">reporetr</td><td>A reporter to by notified of encountered issues. Can be NULL, if a binary document validates / does not validate answer is satisfactonary. </td></tr> <tr><td class="paramname">arg</td><td>Argument for the reporter. </td></tr> </table> </dd> </dl> <dl class="return"><dt><b>Returns:</b></dt><dd>Success or failure. </dd></dl> </div> </div> </div> <hr class="footer"/><address class="footer"><small>Generated on Mon Jul 25 2011 for Open SCAP Library by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>