Cosmetic changes
This commit is contained in:
@@ -20,6 +20,7 @@
|
|||||||
Any additional work will be charged separately. An hourly
|
Any additional work will be charged separately. An hourly
|
||||||
rate for additional work will be agreed upon before starting this work.
|
rate for additional work will be agreed upon before starting this work.
|
||||||
</p>
|
</p>
|
||||||
|
<p>A detailed breakdown of the requested services can be found below:</p>
|
||||||
|
|
||||||
<generate_service_breakdown format="table"/>
|
<generate_service_breakdown format="table"/>
|
||||||
</section>
|
</section>
|
||||||
|
|||||||
@@ -19,11 +19,12 @@
|
|||||||
<company_short/> will test for the presence of the most common
|
<company_short/> will test for the presence of the most common
|
||||||
vulnerabilities, using both publicly available vulnerability scanning
|
vulnerabilities, using both publicly available vulnerability scanning
|
||||||
tools and manual testing. <company_short/> shall perform a
|
tools and manual testing. <company_short/> shall perform a
|
||||||
<p_duration/>-day (<p_persondays/>-personday)
|
<p_duration/>-day
|
||||||
<p_boxtype/> intrusive test via the
|
<p_boxtype/> intrusive test via the
|
||||||
internet.
|
internet (total estimated effort is <p_persondays/> persondays). A breakdown of the requested services can be found below:
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
|
|
||||||
<generate_service_breakdown format="list"/>
|
<generate_service_breakdown format="list"/>
|
||||||
|
|
||||||
<!--Not Needed if Disclaimer is Included; Duplicate Text-->
|
<!--Not Needed if Disclaimer is Included; Duplicate Text-->
|
||||||
|
|||||||
@@ -46,7 +46,7 @@
|
|||||||
these vulnerabilities.
|
these vulnerabilities.
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<p>A sample Pentest report can be found here</p>
|
<p>A sample Pentest report can be found here: </p>
|
||||||
<ul>
|
<ul>
|
||||||
<li>
|
<li>
|
||||||
<a
|
<a
|
||||||
|
|||||||
@@ -129,8 +129,8 @@
|
|||||||
<xsl:template name="findingsSummaryContent">
|
<xsl:template name="findingsSummaryContent">
|
||||||
<fo:table-row xsl:use-attribute-sets="TableFont">
|
<fo:table-row xsl:use-attribute-sets="TableFont">
|
||||||
<xsl:if test="position() mod 2 != 0">
|
<xsl:if test="position() mod 2 != 0">
|
||||||
<xsl:attribute name="background-color">#ededed</xsl:attribute>
|
<xsl:attribute name="background-color">#ededed</xsl:attribute>
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
<fo:table-cell xsl:use-attribute-sets="td">
|
<fo:table-cell xsl:use-attribute-sets="td">
|
||||||
<fo:block>
|
<fo:block>
|
||||||
<!-- attach id to first finding of each threatLevel so pie charts can link to it -->
|
<!-- attach id to first finding of each threatLevel so pie charts can link to it -->
|
||||||
@@ -231,8 +231,8 @@
|
|||||||
<xsl:template name="recommendationsSummaryContent">
|
<xsl:template name="recommendationsSummaryContent">
|
||||||
<fo:table-row xsl:use-attribute-sets="TableFont">
|
<fo:table-row xsl:use-attribute-sets="TableFont">
|
||||||
<xsl:if test="position() mod 2 != 0">
|
<xsl:if test="position() mod 2 != 0">
|
||||||
<xsl:attribute name="background-color">#ededed</xsl:attribute>
|
<xsl:attribute name="background-color">#ededed</xsl:attribute>
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
<fo:table-cell xsl:use-attribute-sets="td">
|
<fo:table-cell xsl:use-attribute-sets="td">
|
||||||
<fo:block>
|
<fo:block>
|
||||||
<fo:basic-link xsl:use-attribute-sets="link">
|
<fo:basic-link xsl:use-attribute-sets="link">
|
||||||
@@ -252,7 +252,8 @@
|
|||||||
<fo:block>
|
<fo:block>
|
||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when test="recommendation_summary">
|
<xsl:when test="recommendation_summary">
|
||||||
<xsl:apply-templates select="recommendation_summary" mode="summarytable"/>
|
<xsl:apply-templates select="recommendation_summary" mode="summarytable"
|
||||||
|
/>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
<xsl:otherwise>
|
<xsl:otherwise>
|
||||||
<xsl:apply-templates select="recommendation" mode="summarytable"/>
|
<xsl:apply-templates select="recommendation" mode="summarytable"/>
|
||||||
@@ -481,60 +482,73 @@
|
|||||||
</fo:list-item>
|
</fo:list-item>
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
</xsl:for-each>
|
</xsl:for-each>
|
||||||
|
<fo:list-item xsl:use-attribute-sets="li">
|
||||||
|
<!-- insert a bullet -->
|
||||||
|
<fo:list-item-label end-indent="label-end()">
|
||||||
|
<fo:block>
|
||||||
|
<fo:inline>•</fo:inline>
|
||||||
|
</fo:block>
|
||||||
|
</fo:list-item-label>
|
||||||
|
<fo:list-item-body start-indent="body-start()">
|
||||||
|
<fo:block xsl:use-attribute-sets="bold">
|
||||||
|
<xsl:text>Total effort: </xsl:text>
|
||||||
|
<xsl:call-template name="calculatePersonDays"/>
|
||||||
|
<xsl:text> days</xsl:text>
|
||||||
|
</fo:block>
|
||||||
|
</fo:list-item-body>
|
||||||
|
</fo:list-item>
|
||||||
</fo:list-block>
|
</fo:list-block>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
<xsl:when test="@format = 'table'">
|
<xsl:when test="@format = 'table'">
|
||||||
<fo:block>
|
<fo:table xsl:use-attribute-sets="breakdowntable">
|
||||||
<fo:table xsl:use-attribute-sets="fwtable borders">
|
<fo:table-column column-width="proportional-column-width(6)"
|
||||||
<fo:table-column column-width="proportional-column-width(6)"
|
xsl:use-attribute-sets="borders"/>
|
||||||
xsl:use-attribute-sets="borders"/>
|
<fo:table-column column-width="proportional-column-width(2)"
|
||||||
<fo:table-column column-width="proportional-column-width(2)"
|
xsl:use-attribute-sets="borders"/>
|
||||||
xsl:use-attribute-sets="borders"/>
|
<fo:table-column column-width="proportional-column-width(3)"
|
||||||
<fo:table-column column-width="proportional-column-width(3)"
|
xsl:use-attribute-sets="borders"/>
|
||||||
xsl:use-attribute-sets="borders"/>
|
<fo:table-column column-width="proportional-column-width(4)"
|
||||||
<fo:table-column column-width="proportional-column-width(4)"
|
xsl:use-attribute-sets="borders"/>
|
||||||
xsl:use-attribute-sets="borders"/>
|
<fo:table-body>
|
||||||
<fo:table-body>
|
<fo:table-row>
|
||||||
|
<fo:table-cell xsl:use-attribute-sets="th">
|
||||||
|
<fo:block> Description </fo:block>
|
||||||
|
</fo:table-cell>
|
||||||
|
<fo:table-cell xsl:use-attribute-sets="th">
|
||||||
|
<fo:block> Effort </fo:block>
|
||||||
|
</fo:table-cell>
|
||||||
|
<fo:table-cell xsl:use-attribute-sets="th">
|
||||||
|
<fo:block> Hourly rate </fo:block>
|
||||||
|
</fo:table-cell>
|
||||||
|
<fo:table-cell xsl:use-attribute-sets="th">
|
||||||
|
<fo:block> Fee </fo:block>
|
||||||
|
</fo:table-cell>
|
||||||
|
</fo:table-row>
|
||||||
|
<xsl:for-each select="$serviceNodeSet/entry">
|
||||||
<fo:table-row>
|
<fo:table-row>
|
||||||
<fo:table-cell xsl:use-attribute-sets="th">
|
<xsl:if test="position() mod 2 != 0">
|
||||||
<fo:block> Description </fo:block>
|
<xsl:attribute name="background-color">#ededed</xsl:attribute>
|
||||||
</fo:table-cell>
|
</xsl:if>
|
||||||
<fo:table-cell xsl:use-attribute-sets="th">
|
<fo:table-cell xsl:use-attribute-sets="td">
|
||||||
<fo:block> Effort </fo:block>
|
<xsl:if
|
||||||
</fo:table-cell>
|
test="not(normalize-space(d)) and not(normalize-space(h))">
|
||||||
<fo:table-cell xsl:use-attribute-sets="th">
|
<xsl:attribute name="number-columns-spanned"
|
||||||
<fo:block> Hourly rate </fo:block>
|
>3</xsl:attribute>
|
||||||
</fo:table-cell>
|
|
||||||
<fo:table-cell xsl:use-attribute-sets="th">
|
|
||||||
<fo:block> Fee </fo:block>
|
|
||||||
</fo:table-cell>
|
|
||||||
</fo:table-row>
|
|
||||||
<xsl:for-each select="$serviceNodeSet/entry">
|
|
||||||
<fo:table-row>
|
|
||||||
<xsl:if test="position() mod 2 != 0">
|
|
||||||
<xsl:attribute name="background-color"
|
|
||||||
>#ededed</xsl:attribute>
|
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
|
<fo:block>
|
||||||
|
<xsl:value-of select="desc"/>
|
||||||
|
</fo:block>
|
||||||
|
</fo:table-cell>
|
||||||
|
<xsl:if test="d">
|
||||||
<fo:table-cell xsl:use-attribute-sets="td">
|
<fo:table-cell xsl:use-attribute-sets="td">
|
||||||
<xsl:if
|
|
||||||
test="not(normalize-space(d)) and not(normalize-space(h))">
|
|
||||||
<xsl:attribute name="number-columns-spanned"
|
|
||||||
>3</xsl:attribute>
|
|
||||||
</xsl:if>
|
|
||||||
<fo:block>
|
<fo:block>
|
||||||
<xsl:value-of select="desc"/>
|
<xsl:value-of select="d"/>
|
||||||
</fo:block>
|
</fo:block>
|
||||||
</fo:table-cell>
|
</fo:table-cell>
|
||||||
<xsl:if test="d">
|
<xsl:choose>
|
||||||
<fo:table-cell xsl:use-attribute-sets="td">
|
<xsl:when test="normalize-space(h)">
|
||||||
<fo:block>
|
<fo:table-cell xsl:use-attribute-sets="td">
|
||||||
<xsl:value-of select="d"/>
|
<fo:block text-align="right">
|
||||||
</fo:block>
|
|
||||||
</fo:table-cell>
|
|
||||||
<xsl:choose>
|
|
||||||
<xsl:when test="normalize-space(h)">
|
|
||||||
<fo:table-cell xsl:use-attribute-sets="td">
|
|
||||||
<fo:block text-align="right">
|
|
||||||
<xsl:call-template name="getDenomination">
|
<xsl:call-template name="getDenomination">
|
||||||
<xsl:with-param name="placeholderElement"
|
<xsl:with-param name="placeholderElement"
|
||||||
select="."/>
|
select="."/>
|
||||||
@@ -543,67 +557,67 @@
|
|||||||
<xsl:with-param name="n" select="h"/>
|
<xsl:with-param name="n" select="h"/>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
<xsl:text> excl. VAT</xsl:text>
|
<xsl:text> excl. VAT</xsl:text>
|
||||||
</fo:block>
|
</fo:block>
|
||||||
</fo:table-cell>
|
</fo:table-cell>
|
||||||
|
</xsl:when>
|
||||||
|
<xsl:otherwise>
|
||||||
|
<fo:table-cell xsl:use-attribute-sets="td">
|
||||||
|
<fo:block text-align="right">-</fo:block>
|
||||||
|
</fo:table-cell>
|
||||||
|
</xsl:otherwise>
|
||||||
|
</xsl:choose>
|
||||||
|
</xsl:if>
|
||||||
|
<fo:table-cell xsl:use-attribute-sets="td">
|
||||||
|
<fo:block text-align="right">
|
||||||
|
<xsl:choose>
|
||||||
|
<xsl:when test="not(f/min = f/max)">
|
||||||
|
<xsl:call-template name="getDenomination">
|
||||||
|
<xsl:with-param name="placeholderElement"
|
||||||
|
select="."/>
|
||||||
|
</xsl:call-template>
|
||||||
|
<xsl:number value="f/min" grouping-separator=","
|
||||||
|
grouping-size="3"/>
|
||||||
|
<xsl:text> - </xsl:text>
|
||||||
|
<xsl:call-template name="getDenomination">
|
||||||
|
<xsl:with-param name="placeholderElement"
|
||||||
|
select="."/>
|
||||||
|
</xsl:call-template>
|
||||||
|
<xsl:call-template name="prettyMissingDecimal">
|
||||||
|
<xsl:with-param name="n" select="f/max"/>
|
||||||
|
</xsl:call-template>
|
||||||
</xsl:when>
|
</xsl:when>
|
||||||
<xsl:otherwise>
|
<xsl:otherwise>
|
||||||
<fo:table-cell xsl:use-attribute-sets="td">
|
<xsl:call-template name="getDenomination">
|
||||||
<fo:block text-align="right">-</fo:block>
|
<xsl:with-param name="placeholderElement"
|
||||||
</fo:table-cell>
|
select="."/>
|
||||||
|
</xsl:call-template>
|
||||||
|
<xsl:call-template name="prettyMissingDecimal">
|
||||||
|
<xsl:with-param name="n" select="f/min"/>
|
||||||
|
</xsl:call-template>
|
||||||
</xsl:otherwise>
|
</xsl:otherwise>
|
||||||
</xsl:choose>
|
</xsl:choose>
|
||||||
</xsl:if>
|
|
||||||
<fo:table-cell xsl:use-attribute-sets="td">
|
|
||||||
<fo:block text-align="right">
|
|
||||||
<xsl:choose>
|
|
||||||
<xsl:when test="not(f/min = f/max)">
|
|
||||||
<xsl:call-template name="getDenomination">
|
|
||||||
<xsl:with-param name="placeholderElement"
|
|
||||||
select="."/>
|
|
||||||
</xsl:call-template>
|
|
||||||
<xsl:value-of select="f/min"/>
|
|
||||||
<xsl:text> - </xsl:text>
|
|
||||||
<xsl:call-template name="getDenomination">
|
|
||||||
<xsl:with-param name="placeholderElement"
|
|
||||||
select="."/>
|
|
||||||
</xsl:call-template>
|
|
||||||
<xsl:call-template name="prettyMissingDecimal">
|
|
||||||
<xsl:with-param name="n" select="f/max"/>
|
|
||||||
</xsl:call-template>
|
|
||||||
</xsl:when>
|
|
||||||
<xsl:otherwise>
|
|
||||||
<xsl:call-template name="getDenomination">
|
|
||||||
<xsl:with-param name="placeholderElement"
|
|
||||||
select="."/>
|
|
||||||
</xsl:call-template>
|
|
||||||
<xsl:call-template name="prettyMissingDecimal">
|
|
||||||
<xsl:with-param name="n" select="f/min"/>
|
|
||||||
</xsl:call-template>
|
|
||||||
</xsl:otherwise>
|
|
||||||
</xsl:choose>
|
|
||||||
<xsl:text> excl. VAT</xsl:text>
|
|
||||||
<xsl:if test="@estimate = true()">*</xsl:if>
|
|
||||||
</fo:block>
|
|
||||||
</fo:table-cell>
|
|
||||||
</fo:table-row>
|
|
||||||
</xsl:for-each>
|
|
||||||
<fo:table-row xsl:use-attribute-sets="totalRow">
|
|
||||||
<fo:table-cell number-columns-spanned="4"
|
|
||||||
xsl:use-attribute-sets="td">
|
|
||||||
<fo:block xsl:use-attribute-sets="totalcell">
|
|
||||||
<xsl:text>Total</xsl:text>
|
|
||||||
<xsl:if test="$serviceNodeSet/entry/@estimate">
|
|
||||||
(estimate)</xsl:if>
|
|
||||||
<xsl:text>:</xsl:text>
|
|
||||||
<fo:leader leader-pattern="space"/>
|
|
||||||
<xsl:call-template name="calculateTotal"/>
|
|
||||||
<xsl:text> excl. VAT</xsl:text>
|
<xsl:text> excl. VAT</xsl:text>
|
||||||
|
<xsl:if test="@estimate = true()">*</xsl:if>
|
||||||
</fo:block>
|
</fo:block>
|
||||||
</fo:table-cell>
|
</fo:table-cell>
|
||||||
</fo:table-row>
|
</fo:table-row>
|
||||||
</fo:table-body>
|
</xsl:for-each>
|
||||||
</fo:table>
|
<fo:table-row xsl:use-attribute-sets="totalRow">
|
||||||
</fo:block>
|
<fo:table-cell number-columns-spanned="4" xsl:use-attribute-sets="td">
|
||||||
|
<fo:block xsl:use-attribute-sets="totalcell">
|
||||||
|
<xsl:text>Total</xsl:text>
|
||||||
|
<xsl:if test="$serviceNodeSet/entry/@estimate">
|
||||||
|
(estimate)</xsl:if>
|
||||||
|
<xsl:text>:</xsl:text>
|
||||||
|
<fo:leader leader-pattern="space"/>
|
||||||
|
<xsl:call-template name="calculateTotal"/>
|
||||||
|
<xsl:text> excl. VAT</xsl:text>
|
||||||
|
</fo:block>
|
||||||
|
</fo:table-cell>
|
||||||
|
</fo:table-row>
|
||||||
|
</fo:table-body>
|
||||||
|
</fo:table>
|
||||||
|
|
||||||
|
|
||||||
<xsl:if test="$serviceNodeSet/entry/@estimate = true()">
|
<xsl:if test="$serviceNodeSet/entry/@estimate = true()">
|
||||||
<fo:block text-align="right">
|
<fo:block text-align="right">
|
||||||
@@ -640,7 +654,7 @@
|
|||||||
select="$allDenominationsAreEqual"/>
|
select="$allDenominationsAreEqual"/>
|
||||||
<xsl:with-param name="denoms" select="$denoms"/>
|
<xsl:with-param name="denoms" select="$denoms"/>
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
<xsl:value-of select="$totalMinFees"/>
|
<xsl:number value="$totalMinFees" grouping-separator="," grouping-size="3"/>
|
||||||
<xsl:text> - </xsl:text>
|
<xsl:text> - </xsl:text>
|
||||||
<xsl:call-template name="checkDenomination">
|
<xsl:call-template name="checkDenomination">
|
||||||
<xsl:with-param name="allDenominationsAreEqual"
|
<xsl:with-param name="allDenominationsAreEqual"
|
||||||
@@ -705,7 +719,7 @@
|
|||||||
<xsl:template name="prettyMissingDecimal">
|
<xsl:template name="prettyMissingDecimal">
|
||||||
<xsl:param name="n"/>
|
<xsl:param name="n"/>
|
||||||
<xsl:if test="floor($n) = $n">
|
<xsl:if test="floor($n) = $n">
|
||||||
<xsl:value-of select="$n"/>
|
<xsl:number value="$n" grouping-separator="," grouping-size="3"/>
|
||||||
<xsl:text>.-</xsl:text>
|
<xsl:text>.-</xsl:text>
|
||||||
</xsl:if>
|
</xsl:if>
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|||||||
@@ -8,13 +8,13 @@
|
|||||||
<xsl:choose>
|
<xsl:choose>
|
||||||
<xsl:when
|
<xsl:when
|
||||||
test="$placeholderElement/ancestor-or-self::*[@denomination][1]/@denomination = 'eur'"
|
test="$placeholderElement/ancestor-or-self::*[@denomination][1]/@denomination = 'eur'"
|
||||||
>€</xsl:when>
|
><xsl:text>€ </xsl:text></xsl:when>
|
||||||
<xsl:when
|
<xsl:when
|
||||||
test="$placeholderElement/ancestor-or-self::*[@denomination][1]/@denomination = 'usd'"
|
test="$placeholderElement/ancestor-or-self::*[@denomination][1]/@denomination = 'usd'"
|
||||||
>$</xsl:when>
|
><xsl:text>$ </xsl:text></xsl:when>
|
||||||
<xsl:when
|
<xsl:when
|
||||||
test="$placeholderElement/ancestor-or-self::*[@denomination][1]/@denomination = 'gbp'"
|
test="$placeholderElement/ancestor-or-self::*[@denomination][1]/@denomination = 'gbp'"
|
||||||
>£</xsl:when>
|
><xsl:text>£ </xsl:text></xsl:when>
|
||||||
<xsl:otherwise>
|
<xsl:otherwise>
|
||||||
<xsl:call-template name="displayErrorText">
|
<xsl:call-template name="displayErrorText">
|
||||||
<xsl:with-param name="string">WARNING: NO DENOMINATION FOUND</xsl:with-param>
|
<xsl:with-param name="string">WARNING: NO DENOMINATION FOUND</xsl:with-param>
|
||||||
@@ -475,19 +475,9 @@
|
|||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:template match="todo">
|
<xsl:template match="todo">
|
||||||
<xsl:choose>
|
<xsl:call-template name="displayErrorText">
|
||||||
<xsl:when test="@desc">
|
<xsl:with-param name="string">### TODO<xsl:if test="@desc">: <xsl:value-of select="@desc"/></xsl:if> ###</xsl:with-param>
|
||||||
<xsl:call-template name="displayErrorText">
|
|
||||||
<xsl:with-param name="string">### TODO: <xsl:value-of select="@desc"/>
|
|
||||||
###</xsl:with-param>
|
|
||||||
</xsl:call-template>
|
</xsl:call-template>
|
||||||
</xsl:when>
|
|
||||||
<xsl:otherwise>
|
|
||||||
<xsl:call-template name="displayErrorText">
|
|
||||||
<xsl:with-param name="string">### TODO ###</xsl:with-param>
|
|
||||||
</xsl:call-template>
|
|
||||||
</xsl:otherwise>
|
|
||||||
</xsl:choose>
|
|
||||||
</xsl:template>
|
</xsl:template>
|
||||||
|
|
||||||
<xsl:template name="checkPlaceholder">
|
<xsl:template name="checkPlaceholder">
|
||||||
|
|||||||
@@ -378,6 +378,8 @@
|
|||||||
<xsl:attribute-set name="list">
|
<xsl:attribute-set name="list">
|
||||||
<xsl:attribute name="provisional-distance-between-starts">0.7cm</xsl:attribute>
|
<xsl:attribute name="provisional-distance-between-starts">0.7cm</xsl:attribute>
|
||||||
<xsl:attribute name="provisional-label-separation">2mm</xsl:attribute>
|
<xsl:attribute name="provisional-label-separation">2mm</xsl:attribute>
|
||||||
|
<xsl:attribute name="padding-top">0.2cm</xsl:attribute>
|
||||||
|
<xsl:attribute name="padding-bottom">0.5cm</xsl:attribute>
|
||||||
</xsl:attribute-set>
|
</xsl:attribute-set>
|
||||||
<xsl:attribute-set name="li">
|
<xsl:attribute-set name="li">
|
||||||
<xsl:attribute name="line-height">6.5mm</xsl:attribute>
|
<xsl:attribute name="line-height">6.5mm</xsl:attribute>
|
||||||
@@ -443,6 +445,10 @@
|
|||||||
<xsl:attribute name="end-indent">0</xsl:attribute>
|
<xsl:attribute name="end-indent">0</xsl:attribute>
|
||||||
</xsl:attribute-set>
|
</xsl:attribute-set>
|
||||||
|
|
||||||
|
<xsl:attribute-set name="breakdowntable" use-attribute-sets="fwtable borders">
|
||||||
|
<xsl:attribute name="margin-top">0.5cm</xsl:attribute>
|
||||||
|
<xsl:attribute name="margin-bottom">0.2cm</xsl:attribute>
|
||||||
|
</xsl:attribute-set>
|
||||||
<xsl:attribute-set name="totalRow"/>
|
<xsl:attribute-set name="totalRow"/>
|
||||||
<xsl:attribute-set name="totalcell"/>
|
<xsl:attribute-set name="totalcell"/>
|
||||||
</xsl:stylesheet>
|
</xsl:stylesheet>
|
||||||
|
|||||||
Reference in New Issue
Block a user