xslt help
Debbie <[email protected]>
| Newsgroups | gmane.text.xml.xslt.extensions |
|---|---|
| Message-ID | <[email protected]> |
Forgive me if I'm doing this wrong. Would you be able to help me with an XSLT 1.0 problem? I got this email from the postings I receive from my subscription. If I should do this another way please let me know. I am using XSLT 1.0 that is transformed into a PDF by FOP. I have a template in XSLT 1.0 that iterates through the questions in each section of a report and brings back a unique response per section. This is working fine. The problem I'm having is that it prints many blank lines in the report. I've tried everything I can find in FAQ sections of forums and nothing takes out the blank lines. The report prints as follows: 1-0-0 (section) N/a (a unique response that may have occurred 10 times in this section but N/a only outputs once) 10 (tally of how many times N/a occurred in section 1 No 15 2-0-0 N/a 5 No 3 Yes 4 What i need it to look like is: 1-0-0 N/a 10 No 15 2-0-0 N/a 5 No 3 Yes 4 Can you help or could you direct me to someone who could help me? I have attached my stylesheet, xml doc and report. I really hope you can help me...i've spent way too much time on this. Thanks Debbie _______________________________________________ exslt mailing list [email protected] http://www.exslt.org/list
tallyReport.xsl
(text/xml, 24.3 KB)
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Document : tallyReport.xsl
Created on : July 17, 2006
Author : dpower
Description:
Combination of corrective action report and tally report. Now referred to
as Summary Report
Revision: July 18/2006
-->
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:date="http://exslt.org/dates-and-times"
xmlns:fo="http://www.w3.org/1999/XSL/Format"
xmlns:xalan="http://xml.apache.org/xalan"
xmlns:java="http://xml.apache.org/xslt/java"
xmlns:exsl="http://exslt.org/common" extension-element-prefixes="exsl">
<xsl:output method='xml' version='1.0' encoding='UTF-8' indent='no'/>
<xsl:strip-space elements="*"/>
<!-- TODO customize transformation rules
syntax recommendation http://www.w3.org/TR/xslt
-->
<!-- keys for the Tally Report-->
<xsl:key name="response" match="audit_response" use="resp"/>
<xsl:key name="responseNum" match="report/audit/questions/question" use="resp_num"/>
<xsl:key name="car" match="report/audit/questions/question" use="audit_response/corr_acts/corr_act"/>
<xsl:key name="response2" match="report/audit/questions/question" use="audit_response/resp" />
<xsl:key name="corracts" match="report/audit/questions/question" use="audit_response/corr_acts/corr_act/id" />
<xsl:key name="keys_sec_id" match="report/audit/questions/question" use="sec_id" />
<!--end of keys-->
<xsl:template match="/">
<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
<fo:layout-master-set>
<fo:simple-page-master master-name="simpleA4" page-height="10in" page-width="8in" margin-top="1cm" margin-bottom="1cm" margin-left="1cm" margin-right="1cm">
<fo:region-before region-name="rptHeader" extent="4.8cm" />
<fo:region-body margin-bottom="2.8cm" margin-top="4.8cm" />
<fo:region-after extent="2cm"/>
</fo:simple-page-master>
</fo:layout-master-set>
<fo:page-sequence master-reference="simpleA4">
<fo:static-content flow-name="rptHeader" >
<!-- REPORT HEADER -->
<fo:table table-layout="fixed" inline-progression-dimension="18cm" cell-spacing="0" cell-padding="0">
<fo:table-column column-width="6cm" />
<fo:table-column column-width="9cm" />
<fo:table-column column-width="3.5cm" />
<fo:table-body>
<fo:table-row>
<fo:table-cell >
<fo:external-graphic width="2.0in" height="0.75in" src="file:xsl/IATAlogo.jpg"/>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell number-columns-spanned="3">
<fo:block font-size="12pt" text-align="right" font="Arial" font-weight="bold" >Summary Report</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell number-columns-spanned="3">
<fo:block border-bottom-style="solid"
border-bottom-color="#000000" border-top-color="#000000" border-bottom-width="thin"
border-top-width="thin" space-after="5px" >
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<fo:table table-layout="fixed" inline-progression-dimension="18cm" cell-spacing="0" cell-padding="0">
<fo:table-column column-width="6cm" />
<fo:table-column column-width="9cm" />
<fo:table-column column-width="3.5cm" />
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block font="Arial" font-size="9pt" font-weight="bold">Customer:</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font="Arial" font-size="9pt">
<xsl:value-of select="report/audit/customername" />
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block font-size="9pt" font="Arial" font-weight="bold">Audit Location:</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font="Arial" font-size="9pt">
<xsl:value-of select="report/audit/levelstring" />
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block font-size="9pt" font="Arial" font-weight="bold">Audit Name:</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font="Arial" font-size="9pt">
<xsl:value-of select="report/audit/auditname" />
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block font="Arial" font-size="9pt" font-weight="bold">Audit Date:</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font="Arial" font-size="9pt" space-afer="5px">
<xsl:value-of select="report/audit/audit_date" />
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell number-columns-spanned="3">
<fo:block border-bottom-style="solid"
border-bottom-color="#000000" border-top-color="#000000" border-bottom-width="thin"
border-top-width="thin" space-after="5px" >
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:static-content>
<!--Ends report header-->
<!--Begins Report footer-->
<fo:static-content flow-name="xsl-region-after">
<fo:block font-size="10pt" font-weight="normal">
<fo:table table-layout="fixed" inline-progression-dimension="18cm">
<fo:table-column column-width="1.5cm" />
<fo:table-column column-width="14.5cm"/>
<fo:table-column column-width="2cm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block font-size="8pt" font-weight="normal">
<xsl:variable name="date"><xsl:value-of select="date:date-time()" /></xsl:variable>
<xsl:value-of select="substring($date,1,10)" />
</fo:block>
</fo:table-cell>
<fo:table-cell>
</fo:table-cell>
<fo:table-cell>
<fo:block font-size="8pt" font-weight="normal">Page <fo:page-number/> / <fo:page-number-citation ref-id="last-page"/></fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
</fo:block>
</fo:static-content>
<!--Ends report footer-->
<!--Begins region body-->
<fo:flow flow-name="xsl-region-body">
<!-- beginning of Tally Report -->
<fo:table table-layout="fixed" inline-progression-dimension="18.5cm" cell-spacing="0" cell-padding="0">
<fo:table-column column-width="8cm"/>
<fo:table-column column-width="1cm"/>
<fo:table-column column-width="2cm"/>
<fo:table-column column-width="1.5cm"/>
<fo:table-column column-width=".1cm"/>
<fo:table-column column-width="1.5cm"/>
<fo:table-body>
<fo:table-row>
<fo:table-cell >
<fo:block font-size="12pt" font="Arial" font-weight="bold" space-after="5px" >
Results Tally By Section
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell number-columns-spanned="6">
<fo:block border-bottom-style="solid"
border-bottom-color="#000000" border-top-color="#000000" border-bottom-width="thin"
border-top-width="thin" space-after="5px" >
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<fo:table table-layout="fixed" inline-progression-dimension="18.5cm" cell-spacing="0" cell-padding="0">
<fo:table-column column-width="8cm" />
<fo:table-column column-width="1cm" />
<fo:table-column column-width="2cm" />
<fo:table-column column-width="1.5cm"/>
<fo:table-column column-width=".1cm" />
<fo:table-column column-width="1.5cm" />
<fo:table-body>
<xsl:for-each select="report/audit/questions/question">
<xsl:sort data-type="number" select="sec_id"/>
<xsl:sort data-type="number" select="sec_id"/>
<xsl:sort data-type="number" select="sub_sec_id"/>
<xsl:sort data-type="number" select="item_id"/>
<!--<fo:table-row>-->
<xsl:choose>
<xsl:when test="sec_id">
<xsl:variable name="test" select="sec_id"/>
<xsl:if test="(sec_id >=0) and sub_sec_id=0 and item_id=0 ">
<fo:table-row>
<fo:table-cell>
<fo:block font="Arial" text-align="left" font-size="8pt" font-weight="normal" space-after="2px">
<xsl:value-of select="sec_id"/>-<xsl:value-of select="sub_sec_id"/>-<xsl:value-of select="item_id"/>
<xsl:text disable-output-escaping="yes">&#160;&#160;&#160;</xsl:text>
<xsl:value-of select="itemdescription"/>
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:if>
<!--brings back unique responses -->
<fo:table-row>
<fo:table-cell>
<fo:block font="Arial" text-align="left" font-size="8pt" font-weight="normal" >
<xsl:call-template name="getResponses">
<xsl:with-param name="resp" select="audit_response/resp" />
</xsl:call-template>
</fo:block>
</fo:table-cell>
<!-- brings back a tally of the responses -->
<xsl:variable name="group" select="audit_response/resp[1][not(.=preceding::audit_response/resp[1])] | audit_response/resp[1][not(.=following::audit_response/resp[1])]"/>
<fo:table-cell />
<fo:table-cell>
<fo:block font="Arial" text-align="center" font-size="8pt" font-weight="normal" space-after="5px">
<xsl:if test="not(sec_id >=0 and sub_sec_id >=0 and item_id=0)">
<xsl:if test="sec_id=$test">
<xsl:if test="$group != ''">
<xsl:choose> <!--begins the outside choose -->
<xsl:when test="sec_id">
<fo:block font="Arial" text-align="center" font-size="8pt" font-weight="normal" space-after="5px">
<xsl:variable name="sec_id" select="sec_id"/>
<xsl:value-of select="count(../question[sec_id = $sec_id]/audit_response/resp[.=$group])"/>
</fo:block>
</xsl:when>
</xsl:choose>
</xsl:if>
</xsl:if>
</xsl:if>
</fo:block>
</fo:table-cell>
</fo:table-row>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</fo:table-body>
</fo:table>
<!--</xsl:when>
</xsl:choose>
</fo:table-row>
</xsl:for-each>
</fo:table-body>
</fo:table>-->
<!--Ends first section of Tally Report-->
<!-- Tally Report - Summary Section-->
<fo:table table-layout="fixed" inline-progression-dimension="18.5cm" cell-spacing="0" cell-padding="0" space-after="10px">
<fo:table-column column-width="8cm" />
<fo:table-column column-width="1cm" />
<fo:table-column column-width="2cm" />
<fo:table-column column-width="1.5cm" />
<fo:table-column column-width=".1cm" />
<fo:table-column column-width="1.5cm" />
<fo:table-body>
<fo:table-row>
<fo:table-cell number-columns-spanned="7">
<fo:block border-bottom-style="solid"
border-bottom-color="#000000" border-top-color="#000000" border-bottom-width="thin"
border-top-width="thin" space-after="5px" >
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell >
<fo:block font-size="12pt" font="Arial" font-weight="bold" space-after="5px" >
Results Tally Summary
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell >
<fo:block font="Arial" text-align="left" font-size="8pt" font-weight="normal" space-after="2px">
<xsl:for-each select="report/audit/questions/question[generate-id() = generate-id(key('response2',audit_response/resp)[1])]">
<xsl:if test="not(audit_response/resp='')" >
<fo:block></fo:block>
<xsl:value-of select="audit_response/resp"/>
</xsl:if>
</xsl:for-each>
</fo:block>
</fo:table-cell>
<fo:table-cell />
<fo:table-cell >
<fo:block font="Arial" text-align="center" font-size="8pt" font-weight="normal" space-after="2px">
<xsl:for-each select="report/audit/questions/question[count(.| key('response2', audit_response/resp)[1]) = 1]">
<xsl:if test="not(audit_response/resp='')" >
<fo:block></fo:block>
<xsl:if test="not(count(key('response2',audit_response/resp))=0)">
<xsl:value-of select="count(key('response2',audit_response/resp))"/>
</xsl:if>
</xsl:if>
</xsl:for-each>
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell >
<fo:block font="Arial" text-align="left" font-size="10pt" font-weight="normal" space-after="6px" >
Corrective Action Records (CARs)
</fo:block>
</fo:table-cell>
<fo:table-cell />
<!-- brings back a count of the cars per answered question -->
<fo:table-cell>
<fo:block font="Arial" text-align="center" font-size="8pt" font-weight="normal" space-after="2px">
<xsl:choose>
<xsl:when test="/report/audit/questions/question">
<xsl:if test="not(audit_response/resp='')" >
<xsl:if test="not(audit_response/corr_acts/corr_act='')">
<xsl:if test="not(audit_response/corr_acts/corr_act/id=0)">
<xsl:value-of select="count(//corr_act) div 2"/>
</xsl:if>
</xsl:if>
</xsl:if>
</xsl:when>
</xsl:choose>
</fo:block>
</fo:table-cell>
</fo:table-row>
<!--end of CAR code -->
</fo:table-body>
</fo:table>
<!--Ends Tally Report-->
<fo:table table-layout="fixed" inline-progression-dimension="18.5cm" cell-spacing="0" cell-padding="0" space-after="10px">
<fo:table-column column-width="8cm" />
<fo:table-column column-width="1cm" />
<fo:table-column column-width="2cm" />
<fo:table-column column-width="1.5cm" />
<fo:table-column column-width="2.5cm" />
<fo:table-column column-width=".5cm" />
<fo:table-body>
<fo:table-row>
<fo:table-cell number-columns-spanned="7">
<fo:block border-bottom-style="solid"
border-bottom-color="#000000" border-top-color="#000000" border-bottom-width="thin"
border-top-width="thin" space-after="5px" >
</fo:block>
</fo:table-cell>
</fo:table-row>
<fo:table-row>
<fo:table-cell>
<fo:block font-size="12pt" font="Arial" font-weight="bold" space-before="4px" space-after="5px" >
Corrective Action Records
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<xsl:apply-templates select="report/audit/corr_acts/corr_act"/>
<fo:block id="last-page"/>
</fo:flow>
</fo:page-sequence>
</fo:root>
</xsl:template>
<xsl:template match="report/audit/corr_acts/corr_act">
<fo:block font="Arial" font-size="10pt" background-color="rgb(200,200,200)">
Corrective Action Status: <fo:inline color="red">
<xsl:choose>
<xsl:when test="status = 1">
Open
</xsl:when>
<xsl:when test="status = 2">
Interim Completed
</xsl:when>
<xsl:when test="status = 3">
Final Completed
</xsl:when>
<xsl:when test="status = 4">
Review
</xsl:when>
<xsl:when test="status = 5">
Closed
</xsl:when>
</xsl:choose>
</fo:inline>
</fo:block>
<fo:block font="Arial" font-size="8pt" space-after="7px">
<fo:block font="Arial" font-size="10pt" font-weight="bold" space-before="5px" space-after="3px"
text-decoration="underline" >
Basis For Corrective Action
</fo:block>
<fo:table table-layout="fixed" inline-progression-dimension="12cm">
<fo:table-column column-width="10cm" />
<fo:table-column column-width="3cm" />
<fo:table-column column-width="3cm" />
<fo:table-body>
<fo:table-row>
<fo:table-cell>
<fo:block font="Arial" font-size="8pt" space-after="3px" >
<fo:inline font-weight="bold">Initiated By: </fo:inline>
<xsl:call-template name="getUserName">
<xsl:with-param name="customerId" select="/report/audit/cust_id" />
<xsl:with-param name="userId" select="init_by" />
</xsl:call-template>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font="Arial" font-size="8pt" space-after="3px" >
<fo:inline font-weight="bold">Date: </fo:inline>
<xsl:value-of select="date_init"/>
</fo:block>
</fo:table-cell>
<fo:table-cell>
<fo:block font="Arial" font-size="8pt" space-after="3px">
<fo:inline font-weight="bold">Priority: </fo:inline>
<xsl:choose>
<xsl:when test="priority = 1">
High
</xsl:when>
<xsl:when test="priority = 2">
Medium
</xsl:when>
<xsl:when test="priority = 3">
Low
</xsl:when>
</xsl:choose>
</fo:block>
</fo:table-cell>
</fo:table-row>
</fo:table-body>
</fo:table>
<fo:block font="Arial" font-size="8pt" space-after="3px" >
<fo:inline font-weight="bold">Type(s): </fo:inline>
<xsl:apply-templates select="types/type"/>
</fo:block>
<fo:block font="Arial" font-size="8pt" space-after="3px" >
<fo:inline font-weight="bold">
<xsl:call-template name="getSections">
<xsl:with-param name="caId" select="id" />
</xsl:call-template>
</fo:inline>
<xsl:call-template name="getQuestionText">
<xsl:with-param name="caId" select="id" />
</xsl:call-template>
</fo:block>
<fo:block font="Arial" font-size="8pt" space-after="3px" >
<fo:inline font-weight="bold">Description: </fo:inline>
<xsl:value-of select="act_desc"/>
</fo:block>
</fo:block>
</xsl:template>
<xsl:template match="report/corr_acts/corr_act/types/type">
<xsl:variable name="cId" select="/report/audit/cust_id"/>
<xsl:variable name="typeId" select="id"/>
<xsl:if test="position() = last()">
<xsl:value-of select="/report/customer_info/customer[id=$cId]/ca_types/ca_type[id=$typeId]/type_name"/>
</xsl:if>
<xsl:if test="position() != last()">
<xsl:value-of select="concat(/report/customer_info/customer[id=$cId]/ca_types/ca_type[id=$typeId]/type_name,', ')"/>
</xsl:if>
</xsl:template>
<xsl:template match="/report/audit/questions/question/audit_response/corr_acts/corr_act">
</xsl:template>
<!--Gets a user name based on CustomerId ans UserId-->
<xsl:template match="node()" name="getUserName">
<xsl:param name="customerId" select="." />
<xsl:param name="userId" select="." />
<xsl:value-of select="concat(/report/customer_info/customer[id=$customerId]/users/user[id=$userId]/first_name,' ',/report/customer_info/customer[id=$customerId]/users/user[id=$userId]/last_name)" />
</xsl:template>
<!--Gets Question Text based on Corrective Action ID-->
<xsl:template match="node()" name="getQuestionText">
<xsl:param name="caId" select="." />
<!--<xsl:if test="/report/audit/questions/question/audit_response/corr_acts/corr_act[id=$caId]/id = $caId">
</xsl:if>-->
<xsl:for-each select="/report/audit/questions/question/audit_response/corr_acts/corr_act[id=$caId]">
<fo:block>
<!--<xsl:value-of select="concat(../../../sec_id,'-',../../../sub_sec_id,'-',../../../item_id,' ',../../../itemdescription)"/>-->
<xsl:value-of select="(../../../itemdescription)"/>
</fo:block>
</xsl:for-each>
</xsl:template>
<!--Gets sec-id,sub-sec-id and item-id Text based on Corrective Action ID-->
<xsl:template match="node()" name="getSections">
<xsl:param name="caId" select="." />
<xsl:for-each select="/report/audit/questions/question/audit_response/corr_acts/corr_act[id=$caId]">
<xsl:sort data-type="number" select="sec_id"/>
<xsl:sort data-type="number" select="sub_sec_id"/>
<xsl:sort data-type="number" select="item_id"/>
<fo:block>
Question(s): <xsl:value-of select="concat(../../../sec_id,'-',../../../sub_sec_id,'-',../../../item_id)" />
</fo:block>
</xsl:for-each>
</xsl:template>
<!--Gets responses-->
<xsl:template match="node()" name="getResponses">
<xsl:text /><xsl:param name="resp" select="."/><text />
<xsl:for-each select="audit_response/resp[1][not(.=preceding::audit_response/resp[1])] | audit_response/resp[1][not(.=following::audit_response/resp[1])]">
<xsl:if test="string-length(.) > 0 or (text()[.] ) ">
<xsl:text /><xsl:value-of select="translate(normalize-space(.),' 
	', '')"/><xsl:text />
<!--<text /><xsl:value-of select="ancestor::*[.][1]" /><text />-->
</xsl:if>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
tallyReport.pdf
(application/pdf, 3.8 KB) - not displayed
tally.xml
(text/xml, 15.2 KB)
<?xml version="1.0" encoding="UTF-8"?> <report><audit><auditid>159</auditid><auditlevel_id>21</auditlevel_id><levelstring>AUDIT LIBRARY</levelstring><auditname>Cory</auditname><cust_id>2</cust_id><ld>1</ld><li>8</li><questions><question><id>13756</id><sec_id>0</sec_id><sub_sec_id>0</sub_sec_id><item_id>0</item_id><questiontype>Header</questiontype><resp_num>1</resp_num><itemdescription>Cory</itemdescription><possible_score>10.00</possible_score><score_criteria/><udf_info/><audit_response><id>13389</id><questionid>13756</questionid><resp/><narr/><score>.00</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><answered>0</answered><udf_info/><corr_acts/></audit_response></question><question><id>13757</id><sec_id>1</sec_id><sub_sec_id>0</sub_sec_id><item_id>0</item_id><questiontype>Header</questiontype><resp_num>1</resp_num><itemdescription>Section 1 - Enter section 1 description.</itemdescription><possible_score>10.00</possible_score><score_criteria/><udf_info/><audit_response><id>13390</id><questionid>13757</questionid><resp/><narr/><score>.00</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><answered>0</answered><udf_info/><corr_acts/></audit_response></question><question><id>13758</id><sec_id>1</sec_id><sub_sec_id>1</sub_sec_id><item_id>0</item_id><questiontype>Header</questiontype><resp_num>1</resp_num><itemdescription>Section 1, SubSection 1 - Enter section 1, subsection 1 description.</itemdescription><possible_score>10.00</possible_score><score_criteria/><udf_info/><audit_response><id>13391</id><questionid>13758</questionid><resp/><narr/><score>.00</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><answered>0</answered><udf_info/><corr_acts/></audit_response></question><question><id>13761</id><sec_id>1</sec_id><sub_sec_id>2</sub_sec_id><item_id>0</item_id><questiontype>Header</questiontype><resp_num>1</resp_num><itemdescription>Section 1, SubSection 2 - Enter section 1, subsection 2 description.</itemdescription><possible_score>10.00</possible_score><score_criteria/><udf_info/><audit_response><id>13392</id><questionid>13761</questionid><resp/><narr/><score>.00</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><answered>0</answered><udf_info/><corr_acts/></audit_response></question><question><id>13764</id><sec_id>2</sec_id><sub_sec_id>0</sub_sec_id><item_id>0</item_id><questiontype>Header</questiontype><resp_num>1</resp_num><itemdescription>Section 2 - Enter section 1 description.</itemdescription><possible_score>10.00</possible_score><score_criteria/><udf_info/><audit_response><id>13393</id><questionid>13764</questionid><resp/><narr/><score>.00</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><answered>0</answered><udf_info/><corr_acts/></audit_response></question><question><id>13765</id><sec_id>2</sec_id><sub_sec_id>1</sub_sec_id><item_id>0</item_id><questiontype>Header</questiontype><resp_num>1</resp_num><itemdescription>Section 2, SubSection 1 - Enter section 2, subsection 1 description.</itemdescription><possible_score>10.00</possible_score><score_criteria/><udf_info/><audit_response><id>13394</id><questionid>13765</questionid><resp/><narr/><score>.00</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><answered>0</answered><udf_info/><corr_acts/></audit_response></question><question><id>13770</id><sec_id>2</sec_id><sub_sec_id>2</sub_sec_id><item_id>0</item_id><questiontype>Header</questiontype><resp_num>1</resp_num><itemdescription>Section 2, SubSection 2 - Enter section 2, subsection 2 description.</itemdescription><possible_score>10.00</possible_score><score_criteria/><udf_info/><audit_response><id>13395</id><questionid>13770</questionid><resp/><narr/><score>.00</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><answered>0</answered><udf_info/><corr_acts/></audit_response></question><question><id>13759</id><sec_id>1</sec_id><sub_sec_id>1</sub_sec_id><item_id>1</item_id><questiontype>SelectResponse</questiontype><resp_num>3</resp_num><itemdescription>Standard Action Test</itemdescription><possible_score>10.00</possible_score><score_criteria/><s_rs><s_r><seq>3</seq><narr>Standard Action Test Narrative</narr><followup>efdqde</followup></s_r></s_rs><udf_info/><audit_response><id>13396</id><question_id>13759</question_id><resp>N/a</resp><narr>Standard Action Test Narrative</narr><score>0.0</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><question_type>SelectResponse</question_type><answered>1</answered><recordChanged>Y</recordChanged><corr_acts><corr_act><id>456</id></corr_act><corr_act><id>460</id></corr_act></corr_acts></audit_response></question><question><id>13762</id><sec_id>1</sec_id><sub_sec_id>2</sub_sec_id><item_id>1</item_id><questiontype>SelectResponse</questiontype><resp_num>1</resp_num><itemdescription>Section 1, Subsection 2, Item 1 - Enter an audit definition / question.</itemdescription><possible_score>10.00</possible_score><score_criteria>Testing **********</score_criteria><udf_info><udf><id>491</id><type>1</type><label>Test UDF</label><data/><udforder>1</udforder></udf><udf><id>492</id><type>4</type><label>Color</label><data>Red,Blue,Green</data><udforder>2</udforder></udf></udf_info><audit_response><id>13397</id><question_id>13762</question_id><resp>No</resp><narr/><score>0.0</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><question_type>SelectResponse</question_type><answered>1</answered><recordChanged>Y</recordChanged><udf_info><udf><id>491</id><type>0</type><label>null</label><value/></udf><udf><id>492</id><type>0</type><label>null</label><value/></udf></udf_info><corr_acts><corr_act><id>458</id></corr_act></corr_acts></audit_response></question><question><id>13766</id><sec_id>2</sec_id><sub_sec_id>1</sub_sec_id><item_id>1</item_id><questiontype>SelectResponse</questiontype><resp_num>1</resp_num><itemdescription>Section 2, Subsection 1, Item 1 - Enter an audit definition / question.</itemdescription><possible_score>10.00</possible_score><score_criteria/><udf_info/><audit_response><id>13398</id><question_id>13766</question_id><resp>No</resp><narr/><score>0.0</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><question_type>SelectResponse</question_type><answered>1</answered><recordChanged>Y</recordChanged><corr_acts><corr_act><id>459</id></corr_act></corr_acts></audit_response></question><question><id>13768</id><sec_id>2</sec_id><sub_sec_id>2</sub_sec_id><item_id>1</item_id><questiontype>SelectResponse</questiontype><resp_num>1</resp_num><itemdescription>Section 2, Subsection 2, Item 1 - Enter an audit definition / question.</itemdescription><possible_score>10.00</possible_score><score_criteria/><udf_info/><audit_response><id>13399</id><question_id>13768</question_id><resp>No</resp><narr/><score>0.0</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><question_type>SelectResponse</question_type><answered>1</answered><recordChanged>Y</recordChanged></audit_response></question><question><id>13760</id><sec_id>1</sec_id><sub_sec_id>1</sub_sec_id><item_id>2</item_id><questiontype>SelectResponse</questiontype><resp_num>1</resp_num><itemdescription>Section 1, Subsection 1, Item 2 - Enter an audit definition / question.</itemdescription><possible_score>10.00</possible_score><score_criteria/><udf_info/><audit_response><id>13400</id><question_id>13760</question_id><resp>No</resp><narr/><score>0.0</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><question_type>SelectResponse</question_type><answered>1</answered><recordChanged>Y</recordChanged></audit_response></question><question><id>13763</id><sec_id>1</sec_id><sub_sec_id>2</sub_sec_id><item_id>2</item_id><questiontype>SelectResponse</questiontype><resp_num>1</resp_num><itemdescription>Section 1, Subsection 2, Item 2 - Enter an audit definition / question.</itemdescription><possible_score>10.00</possible_score><score_criteria/><udf_info/><audit_response><id>13401</id><question_id>13763</question_id><resp>No</resp><narr/><score>0.0</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><question_type>SelectResponse</question_type><answered>1</answered><recordChanged>Y</recordChanged></audit_response></question><question><id>13767</id><sec_id>2</sec_id><sub_sec_id>1</sub_sec_id><item_id>2</item_id><questiontype>SelectResponse</questiontype><resp_num>1</resp_num><itemdescription>Section 2, Subsection 1, Item 2 - Enter an audit definition / question.</itemdescription><possible_score>10.00</possible_score><score_criteria/><udf_info/><audit_response><id>13402</id><question_id>13767</question_id><resp>No</resp><narr/><score>0.0</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><question_type>SelectResponse</question_type><answered>1</answered><recordChanged>Y</recordChanged></audit_response></question><question><id>13769</id><sec_id>2</sec_id><sub_sec_id>2</sub_sec_id><item_id>2</item_id><questiontype>SelectResponse</questiontype><resp_num>1</resp_num><itemdescription>Section 2, Subsection 2, Item 1 - Enter an audit definition / question.</itemdescription><possible_score>10.00</possible_score><score_criteria/><udf_info/><audit_response><id>13403</id><question_id>13769</question_id><resp>No</resp><narr/><score>0.0</score><p_o>0</p_o><n_o>0</n_o><p_f>0</p_f><n_f>0</n_f><question_type>SelectResponse</question_type><answered>1</answered><recordChanged>Y</recordChanged></audit_response></question></questions><corr_acts><corr_act><id>456</id><date_init>06/20/2006</date_init><date_due> </date_due><date_comp/><assign_to>24</assign_to><init_by>48</init_by><act_desc>dfasfdas</act_desc><fu_desc/><interim_act_req/><fu_act/><rc_assign_to>0</rc_assign_to><rc_date_due> </rc_date_due><root_cause/><priority>2</priority><status>1</status><interim_assign_to>0</interim_assign_to><interim_due_date> </interim_due_date><cc_to> </cc_to><interim_act_comp/><interim_comp_by>0</interim_comp_by><interim_comp_date/><fu_comp_by>0</fu_comp_by><cust_id>2</cust_id><level_id>1</level_id><level_depth>8</level_depth><record_type>old</record_type><types><type><id>8</id></type></types></corr_act></corr_acts><corr_acts><corr_act><id>458</id><cust_id>2</cust_id><li>8</li><ld>1</ld><qrid>0</qrid><date_init>06/23/2006</date_init><date_due/><date_comp/><assign_to>24</assign_to><init_by>23</init_by><act_desc>dfafdasfda</act_desc><fu_desc/><interim_act_req/><fu_act/><root_cause/><priority>2</priority><status>1</status><interim_assign_to>0</interim_assign_to><interim_due_date/><cc_to/><interim_act_comp/><interim_comp_by>0</interim_comp_by><interim_comp_date/><fu_comp_by>0</fu_comp_by><record_type>new</record_type><rc_assign_to>0</rc_assign_to><rc_date_due/><xref_qids><qid>13762</qid></xref_qids><types><type><id>8</id></type></types></corr_act><corr_act><id>460</id><cust_id>2</cust_id><li>8</li><ld>1</ld><qrid>0</qrid><date_init>07/03/2006</date_init><date_due/><date_comp/><assign_to>24</assign_to><init_by>24</init_by><act_desc>Standard Action Test Narrative</act_desc><fu_desc/><interim_act_req/><fu_act/><root_cause/><priority>2</priority><status>1</status><interim_assign_to>0</interim_assign_to><interim_due_date/><cc_to/><interim_act_comp/><interim_comp_by>0</interim_comp_by><interim_comp_date/><fu_comp_by>0</fu_comp_by><record_type>new</record_type><rc_assign_to>0</rc_assign_to><rc_date_due/><xref_qids><qid>13759</qid></xref_qids><types><type><id>8</id></type></types></corr_act><corr_act><id>459</id><cust_id>2</cust_id><li>8</li><ld>1</ld><qrid>0</qrid><date_init>06/29/2006</date_init><date_due/><date_comp/><assign_to>24</assign_to><init_by>24</init_by><act_desc>test</act_desc><fu_desc/><interim_act_req/><fu_act/><root_cause/><priority>2</priority><status>1</status><interim_assign_to>0</interim_assign_to><interim_due_date/><cc_to/><interim_act_comp/><interim_comp_by>0</interim_comp_by><interim_comp_date/><fu_comp_by>0</fu_comp_by><record_type>new</record_type><rc_assign_to>0</rc_assign_to><rc_date_due/><xref_qids><qid>13766</qid></xref_qids><types><type><id>8</id></type></types></corr_act></corr_acts><auditcompletedby>1</auditcompletedby><user_name>sa</user_name><customername>Q5 Systems</customername><comments/><recommendations/><action/><audit_date>Jun 20 2006 9:38AM</audit_date></audit><customer_info><customer><id>19</id><cust_name>AllansCustomer</cust_name><users><user><id>63</id><last_name>Kid</last_name><first_name>Karate</first_name></user><user><id>64</id><last_name>Ripper</last_name><first_name>Jackson</first_name></user><user><id>60</id><last_name>Smith</last_name><first_name>Allan</first_name></user><user><id>61</id><last_name>T</last_name><first_name>Mr</first_name></user><user><id>62</id><last_name>Wiggin</last_name><first_name>Ender</first_name></user></users><ca_types/></customer><customer><id>2</id><cust_name>Q5 Systems</cust_name><users><user><id>23</id><last_name>Administrator</last_name><first_name>Customer</first_name></user><user><id>24</id><last_name>Black</last_name><first_name>Bob</first_name></user><user><id>53</id><last_name>Bush</last_name><first_name>George</first_name></user><user><id>48</id><last_name>Cramm</last_name><first_name>Cory</first_name></user><user><id>33</id><last_name>Davis</last_name><first_name>Dave</first_name></user><user><id>28</id><last_name>Dawe</last_name><first_name>Dorothy</first_name></user><user><id>2</id><last_name>Dicks</last_name><first_name>Brian</first_name></user><user><id>34</id><last_name>Edwards</last_name><first_name>Ed</first_name></user><user><id>3</id><last_name>Feltham</last_name><first_name>Larry</first_name></user><user><id>32</id><last_name>Goode</last_name><first_name>Johnny</first_name></user><user><id>19</id><last_name>Haines</last_name><first_name>Krista</first_name></user><user><id>12</id><last_name>House</last_name><first_name>Steve</first_name></user><user><id>13</id><last_name>Jefferd</last_name><first_name>Lois</first_name></user><user><id>47</id><last_name>me</last_name><first_name>me</first_name></user><user><id>25</id><last_name>Mooney</last_name><first_name>Matthew</first_name></user><user><id>51</id><last_name>Murphy</last_name><first_name>Mike</first_name></user><user><id>11</id><last_name>One</last_name><first_name>User</first_name></user><user><id>26</id><last_name>Power</last_name><first_name>Debbie</first_name></user><user><id>58</id><last_name>Reports</last_name><first_name>Crystal</first_name></user><user><id>18</id><last_name>simpson</last_name><first_name>homer</first_name></user><user><id>21</id><last_name>Test Account</last_name><first_name>Another</first_name></user><user><id>20</id><last_name>User Account</last_name><first_name>Test</first_name></user><user><id>22</id><last_name>Whelan</last_name><first_name>Michael</first_name></user><user><id>49</id><last_name>z</last_name><first_name>z</first_name></user></users><ca_types><ca_type><id>7</id><type_name>Customer Complaint</type_name></ca_type><ca_type><id>8</id><type_name>Audit Non Conformance</type_name></ca_type><ca_type><id>9</id><type_name>Preventative Action </type_name></ca_type><ca_type><id>10</id><type_name>Observation (non audit)</type_name></ca_type><ca_type><id>11</id><type_name>Public Safety</type_name></ca_type><ca_type><id>13</id><type_name>Testing</type_name></ca_type><ca_type><id>14</id><type_name>Field Observation</type_name></ca_type><ca_type><id>17</id><type_name>Security</type_name></ca_type><ca_type><id>21</id><type_name>APTA non conformance</type_name></ca_type></ca_types></customer><customer><id>18</id><cust_name>Q5AIMS demo customer</cust_name><users><user><id>59</id><last_name>Pardy</last_name><first_name>Wayne</first_name></user></users><ca_types/></customer></customer_info></report>