implemented Incident Response Management template
This commit is contained in:
@@ -967,28 +967,6 @@
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="generate_average_rate">
|
||||
<xsl:if
|
||||
test="not(//meta//client/rates/rate[@title = 'juniorpentester']) or not(//meta//client/rates/rate[@title = 'mediorpentester'])">
|
||||
<fo:block xsl:use-attribute-sets="errortext">Generated average rate is based on
|
||||
'juniorpentester' and 'mediorpentester' roles, which cannot be found in
|
||||
client_info.xml</fo:block>
|
||||
</xsl:if>
|
||||
<xsl:variable name="juniorrate"
|
||||
select="//meta//client/rates/rate[@title = 'juniorpentester'] * 1"/>
|
||||
<xsl:variable name="mediorrate"
|
||||
select="//meta//client/rates/rate[@title = 'mediorpentester'] * 1"/>
|
||||
<xsl:variable name="avg" select="($juniorrate + $mediorrate) div 2"/>
|
||||
<xsl:variable name="roundedavg" select="round($avg div 5) * 5"/>
|
||||
<xsl:call-template name="getDenomination"/>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="$roundedavg - 10"/>
|
||||
<xsl:text> - </xsl:text>
|
||||
<xsl:call-template name="getDenomination"/>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="$roundedavg + 10"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:function name="my:titleCase" as="xs:string">
|
||||
<xsl:param name="s" as="xs:string"/>
|
||||
<xsl:choose>
|
||||
|
||||
@@ -10,7 +10,7 @@
|
||||
<xsl:import href="structure.xslt"/>
|
||||
<xsl:import href="att-set.xslt"/>
|
||||
<xsl:import href="block.xslt"/>
|
||||
<xsl:import href="findings.xslt"/>
|
||||
<!--<xsl:import href="findings.xslt"/>-->
|
||||
<xsl:import href="auto.xslt"/>
|
||||
<xsl:import href="table.xslt"/>
|
||||
<xsl:import href="lists.xslt"/>
|
||||
@@ -61,13 +61,7 @@
|
||||
</xsl:for-each>
|
||||
</xsl:variable>
|
||||
|
||||
<xsl:variable name="denomination">
|
||||
<xsl:choose>
|
||||
<xsl:when test="/offerte/meta/activityinfo/fee/@denomination = 'eur'">€</xsl:when>
|
||||
<xsl:when test="/offerte/meta/activityinfo/fee/@denomination = 'usd'">$</xsl:when>
|
||||
<xsl:when test="/offerte/meta/activityinfo/fee/@denomination = 'gbp'">£</xsl:when>
|
||||
</xsl:choose>
|
||||
</xsl:variable>
|
||||
|
||||
|
||||
<!-- ROOT -->
|
||||
<xsl:template match="/">
|
||||
@@ -91,9 +85,7 @@
|
||||
<xsl:value-of select="upper-case(company/full_name)"/>
|
||||
</fo:block>
|
||||
<fo:block xsl:use-attribute-sets="for">
|
||||
<xsl:call-template name="getString">
|
||||
<xsl:with-param name="stringID" select="'coverpage_offer'"/>
|
||||
</xsl:call-template>
|
||||
<xsl:value-of select="//meta/title"/>
|
||||
</fo:block>
|
||||
<fo:block xsl:use-attribute-sets="title-0">
|
||||
<xsl:value-of select="upper-case(offered_service_long)"/>
|
||||
|
||||
@@ -0,0 +1,263 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||
xmlns:fo="http://www.w3.org/1999/XSL/Format" exclude-result-prefixes="xs" version="2.0">
|
||||
|
||||
|
||||
<xsl:import href="localisation.xslt"/>
|
||||
<xsl:import href="snippets.xslt"/>
|
||||
|
||||
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
|
||||
|
||||
|
||||
<xsl:variable name="lang" select="/ir_quickscope/meta/offer_language/text()"/>
|
||||
<xsl:param name="snippetBase" select="'offerte'"/>
|
||||
<xsl:variable name="snippetSelectionRoot"
|
||||
select="document('../source/snippets/snippetselection.xml')/snippet_selection/document[@type = $docType]"/>
|
||||
|
||||
<xsl:variable name="docType" select="'offerte'"/>
|
||||
<xsl:variable name="docSubType" select="/ir_quickscope/meta/offer_type"/>
|
||||
|
||||
<!-- ROOT -->
|
||||
<xsl:template match="/">
|
||||
|
||||
<offerte xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:noNamespaceSchemaLocation="../dtd/offerte.xsd"
|
||||
xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<xsl:attribute name="xml:lang">
|
||||
<xsl:value-of select="$lang"/>
|
||||
</xsl:attribute>
|
||||
<xsl:comment>document meta information; to be filled in by the offerte writer</xsl:comment>
|
||||
<meta>
|
||||
<title>PROPOSAL</title>
|
||||
<offered_service_long>
|
||||
<!-- if known type, use long service name from localisationstrings.xml; otherwise, use long service name provided in quickscope -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="/ir_quickscope/meta/offer_type != 'other'">
|
||||
<xsl:call-template name="getString">
|
||||
<xsl:with-param name="stringID"
|
||||
select="concat('coverpage_service_', /ir_quickscope/meta/offer_type)"
|
||||
/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="/ir_quickscope/meta/requested_service"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</offered_service_long>
|
||||
<xsl:comment>if there is a shorter way of saying the same thing, you can type it here (it makes for more dynamic offerte text). If not, just repeat the long name.</xsl:comment>
|
||||
<offered_service_short>
|
||||
<!-- if known type, use short service name from localisationstrings.xml; otherwise, use short service name provided in quickscope -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="/ir_quickscope/meta/offer_type != 'other'">
|
||||
<xsl:call-template name="getString">
|
||||
<xsl:with-param name="stringID"
|
||||
select="concat('coverpage_service_', /*/meta/offer_type, '_short')"
|
||||
/>
|
||||
</xsl:call-template>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="/*/meta/requested_service"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</offered_service_short>
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">snippets/company_info.xml</xsl:attribute>
|
||||
</xsl:element>
|
||||
<permission_parties>
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">client_info.xml</xsl:attribute>
|
||||
</xsl:element>
|
||||
</permission_parties>
|
||||
<activityinfo>
|
||||
<xsl:for-each select="//activity_info/*">
|
||||
<xsl:copy>
|
||||
<xsl:copy-of select="node()"/>
|
||||
</xsl:copy>
|
||||
</xsl:for-each>
|
||||
</activityinfo>
|
||||
<version_history>
|
||||
<xsl:comment>needed for date on frontpage and in signature boxes; it is possible to add a new <version> after each review; in that case, make sure to update the date/time</xsl:comment>
|
||||
<version number="auto">
|
||||
<xsl:attribute name="date"><xsl:value-of
|
||||
select="format-date(current-date(), '[Y]-[M,2]-[D,2]', 'en', (), ())"
|
||||
/>T10:00:00</xsl:attribute>
|
||||
<xsl:comment>actual date-time here; you can leave the number attribute alone</xsl:comment>
|
||||
<v_author>ROS Writer</v_author>
|
||||
<xsl:comment>name of the author here; for internal use only</xsl:comment>
|
||||
<v_description>Initial draft</v_description>
|
||||
<xsl:comment>for internal use only</xsl:comment>
|
||||
</version>
|
||||
</version_history>
|
||||
</meta>
|
||||
|
||||
<xsl:for-each
|
||||
select="$snippetSelectionRoot/selection[@subtype = $docSubType]/snippet_group[@set = 'group1']/snippet">
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNameBase" select="."/>
|
||||
<xsl:with-param name="snippetDirectory" select="$snippetBase"/>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
</xsl:for-each>
|
||||
|
||||
<xsl:if test="//activity_info/organizational_readiness_assessment">
|
||||
<xsl:for-each
|
||||
select="$snippetSelectionRoot/selection[@subtype = $docSubType]/snippet_group[@set = 'organizational_readiness_assessment']/snippet">
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNameBase" select="."/>
|
||||
<xsl:with-param name="snippetDirectory" select="$snippetBase"/>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
</xsl:for-each>
|
||||
</xsl:if>
|
||||
|
||||
<xsl:for-each
|
||||
select="$snippetSelectionRoot/selection[@subtype = $docSubType]/snippet_group[@set = 'group2']/snippet">
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNameBase" select="."/>
|
||||
<xsl:with-param name="snippetDirectory" select="$snippetBase"/>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
</xsl:for-each>
|
||||
|
||||
|
||||
<!--<xsl:comment>Introduction and Scope</xsl:comment>
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNamePart">introandscope</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
<xsl:comment>Project overview section</xsl:comment>
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNamePart">projectoverview</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
<xsl:comment>Prerequisites section</xsl:comment>
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNamePart">prerequisites</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
<xsl:comment>Disclaimer section</xsl:comment>
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNamePart">disclaimer</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
<xsl:comment>Methodology section</xsl:comment>
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNamePart">methodology</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>-->
|
||||
<!--<xsl:if test="/*/activity_info/codeaudit/@perform = 'yes'">
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNamePart"
|
||||
>codeauditmethodology</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
</xsl:if>-->
|
||||
<!--<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNamePart">teamandreporting</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
<xsl:comment>Planning and payment section</xsl:comment>
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNamePart">planningandpayment</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
<xsl:comment>About Us section</xsl:comment>
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNamePart">aboutus</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
<xsl:comment>Work condition section</xsl:comment>
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNamePart">conditions</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
<xsl:comment>General terms and conditions section</xsl:comment>
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNamePart"
|
||||
>generaltermsandconditions</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>
|
||||
|
||||
|
||||
<xsl:comment>Waivers</xsl:comment>
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">
|
||||
<xsl:call-template name="docCheck">
|
||||
<xsl:with-param name="fileNamePart">waiver</xsl:with-param>
|
||||
</xsl:call-template>
|
||||
</xsl:attribute>
|
||||
</xsl:element>-->
|
||||
</offerte>
|
||||
|
||||
|
||||
</xsl:template>
|
||||
|
||||
<!--<xsl:template name="docCheck">
|
||||
<xsl:param name="fileNamePart" select="'none'"/>
|
||||
<xsl:param name="typeSuffix">
|
||||
<xsl:choose>
|
||||
<xsl:when test="/*/meta/offer_type = 'pentest' or /*/meta/offer_type = 'other'"/>
|
||||
<xsl:otherwise>
|
||||
<xsl:text>_</xsl:text>
|
||||
<xsl:value-of select="/*/meta/offer_type"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:param>
|
||||
<xsl:param name="fileNameStandard"
|
||||
select="concat('snippets/offerte/', $lang, '/', $fileNamePart, '.xml')"/>
|
||||
<xsl:param name="fileNameExtended"
|
||||
select="concat('snippets/offerte/', $lang, '/', $fileNamePart, $typeSuffix, '.xml')"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="doc-available(concat('../source/', $fileNameExtended))">
|
||||
<xsl:value-of select="$fileNameExtended"/>
|
||||
</xsl:when>
|
||||
<xsl:otherwise>
|
||||
<xsl:value-of select="$fileNameStandard"/>
|
||||
</xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>-->
|
||||
|
||||
</xsl:stylesheet>
|
||||
@@ -2,6 +2,22 @@
|
||||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
|
||||
xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fo="http://www.w3.org/1999/XSL/Format"
|
||||
xmlns:my="http://radical.sexy" exclude-result-prefixes="xs my" version="2.0">
|
||||
|
||||
<xsl:template name="getDenomination">
|
||||
<xsl:param name="placeholderElement" as="node()" select="/"/>
|
||||
<xsl:choose>
|
||||
<xsl:when test="$placeholderElement/ancestor-or-self::*/@denomination = 'eur'">€</xsl:when>
|
||||
<xsl:when test="$placeholderElement/ancestor-or-self::*/@denomination = 'usd'">$</xsl:when>
|
||||
<xsl:when test="$placeholderElement/ancestor-or-self::*/@denomination = 'gbp'">£</xsl:when>
|
||||
<!--<xsl:otherwise>
|
||||
<xsl:when test="$placeholderElement/ancestor::*/@denomination = 'eur'">€</xsl:when>
|
||||
<xsl:when test="$placeholderElement/ancestor::*/@denomination = 'usd'">$</xsl:when>
|
||||
<xsl:when test="$placeholderElement/ancestor::*/@denomination = 'gbp'">£</xsl:when>
|
||||
</xsl:otherwise>-->
|
||||
<xsl:otherwise><fo:inline xsl:use-attribute-sets="errortext">WARNING: NO DENOMINATION FOUND</fo:inline></xsl:otherwise>
|
||||
</xsl:choose>
|
||||
</xsl:template>
|
||||
|
||||
<!-- PLACEHOLDERS -->
|
||||
<xsl:template match="client_long">
|
||||
<xsl:param name="placeholderElement" select="/*/meta//client/full_name"/>
|
||||
@@ -167,7 +183,9 @@
|
||||
</xsl:template>
|
||||
<xsl:template match="p_fee">
|
||||
<xsl:param name="placeholderElement" select="/*/meta/activityinfo/fee"/>
|
||||
<xsl:value-of select="$denomination"/>
|
||||
<xsl:call-template name="getDenomination">
|
||||
<xsl:with-param name="placeholderElement" select="$placeholderElement"/>
|
||||
</xsl:call-template>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:call-template name="checkPlaceholder">
|
||||
<xsl:with-param name="placeholderElement" select="$placeholderElement"/>
|
||||
@@ -217,7 +235,7 @@
|
||||
<xsl:value-of select="my:calculatePeriod($endDate, $startDate)"/>
|
||||
</xsl:template>
|
||||
<xsl:template match="contract_total_fee">
|
||||
<xsl:value-of select="$denomination"/>
|
||||
<xsl:call-template name="getDenomination"/>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="$total_fee"/>
|
||||
<!-- no need to check for existence as it's a calculation of two checked values below -->
|
||||
@@ -302,7 +320,9 @@
|
||||
</xsl:template>
|
||||
<xsl:template match="contractor_hourly_fee">
|
||||
<xsl:param name="placeholderElement" select="/contract/meta/contractor/hourly_fee"/>
|
||||
<xsl:value-of select="$denomination"/>
|
||||
<xsl:call-template name="getDenomination">
|
||||
<xsl:with-param name="placeholderElement" select="$placeholderElement"/>
|
||||
</xsl:call-template>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:call-template name="checkPlaceholder">
|
||||
<xsl:with-param name="placeholderElement" select="$placeholderElement"/>
|
||||
@@ -346,6 +366,37 @@
|
||||
<xsl:with-param name="placeholderElement" select="$placeholderElement"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="ir_ora_rate">
|
||||
<xsl:param name="placeholderElement" select="/*/meta/activityinfo/organizational_readiness_assessment/rate"/>
|
||||
<xsl:call-template name="getDenomination">
|
||||
<xsl:with-param name="placeholderElement" select="$placeholderElement"/>
|
||||
</xsl:call-template>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:call-template name="checkPlaceholder">
|
||||
<xsl:with-param name="placeholderElement" select="$placeholderElement"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
<xsl:template match="ir_sim_rate">
|
||||
<xsl:param name="placeholderElement" select="/*/meta/activityinfo/security_incident_management/rate"/>
|
||||
<xsl:call-template name="getDenomination">
|
||||
<xsl:with-param name="placeholderElement" select="$placeholderElement"/>
|
||||
</xsl:call-template>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:call-template name="checkPlaceholder">
|
||||
<xsl:with-param name="placeholderElement" select="$placeholderElement"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
<xsl:template match="ir_taa_rate">
|
||||
<xsl:param name="placeholderElement" select="/*/meta/activityinfo/technical_artefact_analysis/rate"/>
|
||||
<xsl:call-template name="getDenomination">
|
||||
<xsl:with-param name="placeholderElement" select="$placeholderElement"/>
|
||||
</xsl:call-template>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:call-template name="checkPlaceholder">
|
||||
<xsl:with-param name="placeholderElement" select="$placeholderElement"/>
|
||||
</xsl:call-template>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="finding_count">
|
||||
<xsl:param name="threatLevel" select="@threatLevel"/>
|
||||
@@ -367,11 +418,13 @@
|
||||
<!-- placeholder exists and contains text -->
|
||||
<xsl:choose>
|
||||
<xsl:when test="self::client_rate">
|
||||
<xsl:value-of select="$denomination"/>
|
||||
<xsl:call-template name="getDenomination">
|
||||
<xsl:with-param name="placeholderElement" select="$placeholderElement"/>
|
||||
</xsl:call-template>
|
||||
<xsl:text> </xsl:text>
|
||||
<xsl:value-of select="$placeholderElement"/>
|
||||
</xsl:when>
|
||||
<xsl:when test="self::p_fee or self::contractor_hourly_fee">
|
||||
<xsl:when test="self::p_fee or self::contractor_hourly_fee or self::ir_ora_rate">
|
||||
<!-- pretty numbering for fee -->
|
||||
<xsl:variable name="fee" select="$placeholderElement * 1"/>
|
||||
<xsl:number value="$fee" grouping-separator="," grouping-size="3"/>
|
||||
|
||||
@@ -29,6 +29,9 @@
|
||||
</xsl:attribute>
|
||||
<xsl:comment>document meta information; to be filled in by the offerte writer</xsl:comment>
|
||||
<meta>
|
||||
<title><xsl:call-template name="getString">
|
||||
<xsl:with-param name="stringID" select="'coverpage_offer'"/>
|
||||
</xsl:call-template></title>
|
||||
<offered_service_long>
|
||||
<!-- if known type, use long service name from localisationstrings.xml; otherwise, use long service name provided in quickscope -->
|
||||
<xsl:choose>
|
||||
|
||||
@@ -36,6 +36,9 @@
|
||||
</xsl:attribute>
|
||||
<xsl:comment>document meta information; to be filled in by the offerte writer</xsl:comment>
|
||||
<meta>
|
||||
<title><xsl:call-template name="getString">
|
||||
<xsl:with-param name="stringID" select="'coverpage_offer'"/>
|
||||
</xsl:call-template></title>
|
||||
<offered_service_long>
|
||||
<xsl:call-template name="getString">
|
||||
<xsl:with-param name="stringID"
|
||||
@@ -66,7 +69,7 @@
|
||||
<xsl:element name="xi:include">
|
||||
<xsl:attribute name="href">client_info.xml</xsl:attribute>
|
||||
</xsl:element>
|
||||
<xsl:for-each select="/*/third_party">
|
||||
<xsl:for-each select="//permission_parties/party">
|
||||
<!-- TODO add to report -->
|
||||
<party>
|
||||
<xsl:copy-of select="node()"/>
|
||||
|
||||
@@ -20,6 +20,7 @@
|
||||
<xsl:with-param name="signee_short" tunnel="yes"><xsl:value-of select="short_name"/></xsl:with-param>
|
||||
<xsl:with-param name="signee_waiver_rep" tunnel="yes"><xsl:value-of select="waiver_rep"/></xsl:with-param>
|
||||
<xsl:with-param name="signee_street" tunnel="yes"><xsl:value-of select="address"/></xsl:with-param>
|
||||
<xsl:with-param name="signee_pc" tunnel="yes"><xsl:value-of select="postal_code"/></xsl:with-param>
|
||||
<xsl:with-param name="signee_city" tunnel="yes"><xsl:value-of select="city"/></xsl:with-param>
|
||||
<xsl:with-param name="signee_country" tunnel="yes"><xsl:value-of select="country"/>
|
||||
</xsl:with-param>
|
||||
@@ -57,6 +58,7 @@
|
||||
<xsl:with-param name="signee_short" tunnel="yes"><xsl:value-of select="short_name"/></xsl:with-param>
|
||||
<xsl:with-param name="signee_waiver_rep" tunnel="yes"><xsl:value-of select="waiver_rep"/></xsl:with-param>
|
||||
<xsl:with-param name="signee_street" tunnel="yes"><xsl:value-of select="address"/></xsl:with-param>
|
||||
<xsl:with-param name="signee_pc" tunnel="yes"><xsl:value-of select="postal_code"/></xsl:with-param>
|
||||
<xsl:with-param name="signee_city" tunnel="yes"><xsl:value-of select="city"/></xsl:with-param>
|
||||
<xsl:with-param name="signee_country" tunnel="yes"><xsl:value-of select="country"/>
|
||||
</xsl:with-param>
|
||||
@@ -203,6 +205,11 @@
|
||||
<xsl:value-of select="$signee_street"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="signee_postal_code">
|
||||
<xsl:param name="signee_pc" tunnel="yes"/>
|
||||
<xsl:value-of select="$signee_pc"/>
|
||||
</xsl:template>
|
||||
|
||||
<xsl:template match="signee_city">
|
||||
<xsl:param name="signee_city" tunnel="yes"/>
|
||||
<xsl:value-of select="$signee_city"/>
|
||||
|
||||
Reference in New Issue
Block a user