<!--                                                                  -->
<!--  Copyright (C) 2006 RoyaltyShare, Inc.   All Rights Reserved     -->
<!--  $Id$  -->
<!--                                                                  -->
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:dyn="http://exslt.org/dynamic" extension-element-prefixes="dyn">
    <xsl:output method="html" indent="no" doctype-system="" encoding="utf-8" />

    <xsl:include href="/app/tools/rps/templates/global.xsl" />

    <xsl:template name="distributionStepsNode">
        <xsl:param name="active" />
        <xsl:param name="isError" select="'false'"/>
        <xsl:variable name="distributionSteps">
            <map>
                <mapEntry><name>Prepare &amp; Upload</name><value>prepare</value></mapEntry>
                <mapEntry><name>Review &amp; Import</name><value>review</value></mapEntry>
                <mapEntry>
                    <name>
                        <xsl:choose>
                            <xsl:when test="$isError = 'true'">
                                <xsl:text>Import Cancelled</xsl:text>
                            </xsl:when>
                            <xsl:otherwise>
                                <xsl:text>Import Successful</xsl:text>
                            </xsl:otherwise>
                        </xsl:choose>
                    </name>
                    <value>finish</value></mapEntry>
            </map>
        </xsl:variable>
        <div class="Distribution-steps">
            <xsl:call-template name="uiSteps">
                <xsl:with-param name="items" select="$distributionSteps" />
                <xsl:with-param name="active" select="$active" />
                <xsl:with-param name="isError" select="$isError" />
            </xsl:call-template>
        </div>
    </xsl:template>

    <xsl:template name="pickLayout">
        <div class="MainBaseSection">
        <!-- <xsl:value-of select="/Root/Params/c"/>  -->
            <xsl:choose>
                <xsl:when test="/Root/Params/c = 'save'" >
                    <xsl:call-template name="showCommit" />
                </xsl:when>
                <xsl:when test="/Root/Params/c = 'discard'">
                    <xsl:call-template name="showCommit" />
                </xsl:when>
                <xsl:when test="/Root/Params/c = 'fail'">
                    <xsl:call-template name="showCommit" />
                </xsl:when>
                <xsl:when test="Distribution/UploadError" >
                    <xsl:call-template name="showCommit" />
                </xsl:when>
                <xsl:otherwise>
                    <xsl:call-template name="showImport" />
                </xsl:otherwise>
            </xsl:choose>
        </div>
    </xsl:template>

    <xsl:template name="showCommit">
        <div id="distributionMain" class="Distribution js-rs-html-content">
            <xsl:choose>
                <xsl:when test="Messages/Message/Type = 'success' ">
                    <xsl:variable name="importVerb">
                        <xsl:choose>
                            <xsl:when test="Distribution/ImportSummary/TotalAlbums = 1"> was</xsl:when>
                            <xsl:otherwise> were</xsl:otherwise>
                        </xsl:choose>
                    </xsl:variable>
                    <div id="step3">
                        <xsl:call-template name="distributionStepsNode">
                            <xsl:with-param name="active" select="'finish'" />
                        </xsl:call-template>
                        <div class="TextNode">
                            <h2>Import Successful!</h2>
                            <p>
                                <strong><xsl:value-of select="Distribution/ImportSummary/TotalAlbums" /></strong> album<xsl:if test="Distribution/ImportSummary/TotalAlbums != 1">s</xsl:if> with <strong><xsl:value-of select="Distribution/ImportSummary/TotalTracks" /></strong> track<xsl:if test="Distribution/ImportSummary/TotalTracks != 1">s</xsl:if><xsl:value-of select="$importVerb" /> added to your catalog.
                            </p><p>
                                You have successfully completed the import process. Click the button below to go back to the Catalog landing page.
                            </p>
                        </div>
                    </div>
                </xsl:when>

                <xsl:when test="Messages/Message/Type = 'fail'">
                    <div id="stepCancel">
                        <xsl:call-template name="distributionStepsNode">
                            <xsl:with-param name="active" select="'finish'" />
                            <xsl:with-param name="isError" select="'true'" />
                        </xsl:call-template>
                        <div class="TextNode">
                            <h2>Import Timeout</h2>
                            <p>An issue has occurred with your import.  Please click the button below and upload your file again.</p>
                        </div>
                    </div>
                </xsl:when>

                <xsl:when test="Messages/Message/Type = 'error'">
                    <div id="stepCancel">
                        <xsl:call-template name="distributionStepsNode">
                            <xsl:with-param name="active" select="'finish'" />
                            <xsl:with-param name="isError" select="'true'" />
                        </xsl:call-template>
                        <div class="TextNode">
                            <h2>Import Cancelled</h2>
                            <p>You have cancelled the import process.  No albums have been added to your catalog.  Click the button below to go back to the Catalog landing page.</p>
                        </div>
                    </div>
                </xsl:when>

                <xsl:when test="Distribution/UploadError" >
                    <div class="insideFieldset step" id="stepError">
                        <div class="TextNode">
                            <h2>Upload Error</h2>
                            <p>Your upload has failed because another import file has already been uploaded. <a href="/rps/distribution">View the import</a></p>
                        </div>
                    </div>
                </xsl:when>

                <xsl:otherwise>
                    <div class="insideFieldset step" id="stepError">
                        <div>
                            <h2>Import Error</h2>
                            <p>You've reached this page in error. Click the button below to go back to the Catalog landing page.</p>
                        </div>
                    </div>
                </xsl:otherwise>
            </xsl:choose>
            <fieldset class="Form-fieldset Form-fieldset-buttons">
                <xsl:call-template name="uiButton">
                    <xsl:with-param name="className" select="'Form-button'" />
                    <xsl:with-param name="content">
                        Back to Albums
                    </xsl:with-param>
                    <xsl:with-param name="url">
                        <xsl:text>catalog</xsl:text>
                    </xsl:with-param>
                </xsl:call-template>
            </fieldset>
        </div>
    </xsl:template>

    <xsl:template name="showImport">
        <!-- Define a tooltip object for duplicates -->
        <script type="text/javascript">
            var oTooltipError = new rsAjaxTooltipNew({ listen_items: 'span[data-tooltip_url], td[data-tooltip_url]' });
        </script>

        <div id="distributionMain" class="Distribution js-rs-html-content">
            <xsl:call-template name="showMetadata" />
        </div>

        <script type="text/javascript">
            var oAlbumListArray = new Array;

            oAlbumListArray[0] = new RSDistributionOnclickUpdate( document.getElementById("albumsGood"),       document.getElementById("album0Image") );
            oAlbumListArray[6] = new RSDistributionOnclickUpdate( document.getElementById("albumsWarnings"),   document.getElementById("album6Image") );
            oAlbumListArray[7] = new RSDistributionOnclickUpdate( document.getElementById("albumsDuplicates"), document.getElementById("album7Image") );
            oAlbumListArray[9] = new RSDistributionOnclickUpdate( document.getElementById("albumsErrors"),     document.getElementById("album9Image") );
        </script>

    </xsl:template>


    <xsl:template name="showMetadata">
        <xsl:choose>
            <xsl:when test="Distribution/ImportValidated &gt; 0">
                <xsl:call-template name="displayMetadata" />
            </xsl:when>
            <xsl:otherwise>
                <xsl:call-template name="uploadMetadata" />
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

    <xsl:template name="uploadMetadata">
        <div>
            <div class="insideFieldset step" id="step1">
                <xsl:call-template name="distributionStepsNode">
                    <xsl:with-param name="active" select="'prepare'" />
                </xsl:call-template>
                <div class="TextNode">
                    <h2>Prepare and Upload Your Data</h2>
                    <p>
                        This feature makes it easy for you to add new albums to your catalog.<br />
                        Follow the instructions below to begin the process:
                    </p>
                    <ol>
                        <li>
                            <strong>Download</strong> and <strong>save</strong> the latest <a href="/rps/distribution?c=metadata_template">Catalog Template</a> to your computer by clicking the link provided below.<br />
                            <em class="HelpText">If you already have the latest template move on to step 2.</em>
                        </li>
                        <li>
                            <strong>Locate</strong> the template on your computer and <strong>fill-in</strong> the appropriate album data for albums you wish to add.<br />
                            <em class="HelpText">If you require additional assistance with the template, download the <a href="/rps/distribution?c=metadata_spec_pdf">Catalog Specification</a> for instructions.</em>
                        </li>
                        <li>
                            Click the <strong>Browse</strong> button below to choose the filled-in template.
                        </li>
                        <li>
                            Once you have chosen the proper file, click the <strong>Upload</strong> button. This will take you to the Review &amp; Import section.<br />
                            <em class="HelpText">It may take a few minutes to upload your file, depending on the file size and your connection speed.</em>
                        </li>
                    </ol>
                    <p>We recommend that you upload 1 album before attempting to upload multiple albums in order to familiarize yourself with the process.</p>
                </div>

                <div class="Distribution-files">
                    <xsl:call-template name="distributionfilesDownload"/>
                    <xsl:call-template name="fileUploadForm"/>
                </div>
                <fieldset class="Form-fieldset Form-fieldset-buttons">
                    <xsl:call-template name="cancelButton" />
                </fieldset>
            </div>
        </div>
    </xsl:template>

    <xsl:template name="distributionfilesDownload">
        <div class="Distribution-download-wrapper">
            <h3>Download Files</h3>
            <ul class="Distribution-downloads ControlsList">
                <li class="Distribution-downloads-item ControlsList-item">
                    <xsl:call-template name="uiDownloadLink">
                        <xsl:with-param name="text">
                            Catalog Template
                        </xsl:with-param>
                        <xsl:with-param name="description">
                            (version 6.0 - last updated: Oct 2009)
                        </xsl:with-param>
                        <xsl:with-param name="url">
                            <xsl:text>/rps/distribution?c=metadata_template</xsl:text>
                        </xsl:with-param>
                        <xsl:with-param name="title">
                            Download and use the latest template to add albums to your catalog
                        </xsl:with-param>
                    </xsl:call-template>
                </li>
                <li class="Distribution-downloads-item ControlsList-item">
                    <xsl:call-template name="uiDownloadLink">
                        <xsl:with-param name="text">
                            Catalog Specification
                        </xsl:with-param>
                        <xsl:with-param name="description">
                            (version 6.0 - last updated: Oct 2009)
                        </xsl:with-param>
                        <xsl:with-param name="url">
                            <xsl:text>/rps/distribution?c=metadata_spec_pdf</xsl:text>
                        </xsl:with-param>
                        <xsl:with-param name="title">
                            Download the Catalog Specification for your reference
                        </xsl:with-param>
                    </xsl:call-template>
                </li>
            </ul>
        </div>
    </xsl:template>

    <xsl:template name="fileUploadForm">
        <div class="Distribution-upload-wrapper">
            <h3>Upload File</h3>
            <div id="fileUploadContainer">
                <form action="/rps/distribution" enctype="multipart/form-data" method="post" name="fileUploadForm" id="fileUploadForm">
                    <xsl:choose>
                        <xsl:when test="Distribution/ImportStaged &gt; 0 and not( Distribution/ImportValidated &gt; 0 )">
                            <input type="hidden" name="fileUpload" id="fileUpload" value="{ Distribution/FileName }" />
                        </xsl:when>
                        <xsl:otherwise>
                            <input type="hidden" name="c" value="upload_file"/>
                            <xsl:call-template name="uiFileUploader">
                                <xsl:with-param name="name" select="'fileUpload'" />
                                <xsl:with-param name="id" select="'fileUpload'" />
                                <xsl:with-param name="size" select="50" />
                            </xsl:call-template>
                            <div class="Form-item Form-item-button">
                                <div class="Form-input-wrapper">
                                    <xsl:call-template name="submitButton" />
                                </div>
                            </div>
                        </xsl:otherwise>
                    </xsl:choose>
                </form>
            </div>

            <script type="text/javascript">
                var style = {
                    'loadedcolor': '#026ead',
                    'width': '350',
                    'height': '15',
                    'bordercolor': '#d9d2d0',
                    'labelwidth': 170,
                    'border-radius': '3',
                }

                var options = {
                    errorSpan: "uploadError",
                    emptyErrorMessage: "File Required",
                    uploadForm: "fileUploadForm",
                    initurl: "/rps/distribution",
                    statusurl: "/rps/distribution?c=upload_status",
                    failurl: "/rps/distribution?c=fail",
                    successurl: "/rps/distribution"
                };

                var bar = new RSUploadProgressBar("fileUploadContainer", style, options);
            </script>

            <xsl:if test="Distribution/ImportStaged &gt; 0 and not( Distribution/ImportValidated &gt; 0 )">
                <script type="text/javascript">
                    bar.init();
                    bar.setupProgressMonitor();
                </script>
            </xsl:if>
        </div>
    </xsl:template>


    <xsl:template name="statusMessage">
        <xsl:if test="count(Messages/Message)">
            <p>
                <xsl:for-each select="Messages/Message">
                    <span>
                        <xsl:attribute name="class"><xsl:value-of select="Type" /></xsl:attribute>
                        <xsl:value-of select="Code" />
                    </span>
                </xsl:for-each>
            </p>
        </xsl:if>
    </xsl:template>


    <xsl:template name="displayMetadata">
        <div id="importActions">

            <xsl:if test="not(Distribution/ImportSummary/Good &gt; 0 or Distribution/ImportSummary/Warnings &gt; 0)">
                <xsl:call-template name="uiWarning">
                    <xsl:with-param name="description">
                        No albums will be added to your catalog as a result of this upload.
                    </xsl:with-param>
                    <xsl:with-param name="type" select="'danger-warning'" />
                </xsl:call-template>
            </xsl:if>

                <div class="insideFieldset step" id="step2">
                    <xsl:call-template name="distributionStepsNode">
                        <xsl:with-param name="active" select="'review'" />
                    </xsl:call-template>
                    <div class="TextNode">
                        <h2>Review and Import Your Data</h2>
                        <p><strong><xsl:value-of select="Distribution/ImportSummary/TotalAlbums"/></strong> album<xsl:if test="Distribution/ImportSummary/TotalAlbums != 1">s</xsl:if> with <strong><xsl:value-of select="Distribution/ImportSummary/TotalTracks"/></strong> track<xsl:if test="Distribution/ImportSummary/TotalTracks != 1">s</xsl:if> are ready for your review. <a href="/rps/distribution?c=exceldump">View entire file</a></p>
                        <ol>
                            <li>Review the results of the upload below to make sure your album data is what you would like to add to your catalog.<br />
                                <em class="HelpText">(if you navigate away from this page, your upload will be saved but not imported until you click the Import button.)</em>
                                <ul>
                                    <li>Click the arrow
                                        <xsl:call-template name="icon">
                                            <xsl:with-param name="type" select="'arrow-down'" />
                                        </xsl:call-template>
                                        to expand and view the details for each section.
                                    </li><li>Use the "&lt; prev" and "more &gt;" links on the left to scroll through album information.
                                    </li><li>Mouse over the colored fields and icons
                                        <xsl:call-template name="icon">
                                            <xsl:with-param name="type" select="'attention'" />
                                            <xsl:with-param name="role" select="'colored'" />
                                        </xsl:call-template>
                                        <xsl:call-template name="uiStatusIcon">
                                            <xsl:with-param name="type" select="'danger'" />
                                        </xsl:call-template>
                                        for additional information.
                                    </li>
                                </ul>
                            </li>
                            <li>Some albums may require your attention before they can be added to your catalog. One of two actions can be taken at this time:
                                <ul>
                                    <li><strong>Discard</strong> this upload and correct items in your original spreadsheet and start the process over again.
                                    </li>
                                </ul>
                                <p>OR</p>
                                <ul>
                                    <li><strong>Download</strong> the spreadsheet of albums that will not be imported so that they can be corrected later and proceed with the Import.
                                    </li><li>At this point only the albums listed in the "Albums that will be imported" section will be added to your catalog.
                                    </li><li>The spreadsheet of non-imported albums can be worked on and used to start the import process over again.
                                    </li>
                                </ul>
                            </li>
                            <li>Click the <strong>Import</strong> button to add the validated albums to your catalog or click the <strong>Discard</strong> button to cancel this import and begin again.
                            </li>
                        </ol>
                    </div>

                    <div class="Distribution-import-summary">
                        <xsl:call-template name="displayImportSummary"/>
                    </div>
                    <xsl:variable name="importAlbumsCount" select="Distribution/ImportSummary/Good + Distribution/ImportSummary/Warnings" />


                    <p class="importAlbumsCount">
                        <b><xsl:value-of select="$importAlbumsCount" /></b> album<xsl:if test="$importAlbumsCount != 1">s</xsl:if> will be added to your catalog when you click the import button.
                    </p>

                    <input type="hidden" value="{Distribution/ImportSummary/Duplicates}" id="catalog-album-import-dupes-value" />
                    <input type="hidden" value="{Distribution/ImportSummary/Duplicates}" id="catalog-album-import-errors-value" />
                    <xsl:call-template name="buttons" />

                </div>
        </div>

    </xsl:template>

    <xsl:template name="displayImportSummary">
        <div class="Distribution-import-summary-item">
            <h4>
                Albums that will be imported
            </h4>

            <p>
                <xsl:call-template name="albumButton">
                    <xsl:with-param name="albumCount" select="Distribution/ImportSummary/Good" />
                    <xsl:with-param name="status">0</xsl:with-param>
                </xsl:call-template>
                <xsl:if test="Distribution/ImportSummary/Good != 1"> are</xsl:if><xsl:if test="Distribution/ImportSummary/Good = 1"> is</xsl:if> ready for import.
            </p>
            <div id="albumsGood"/>

            <xsl:if test="Distribution/ImportSummary/Warnings &gt; 0">
                <p>
                    <xsl:call-template name="albumButton">
                        <xsl:with-param name="albumCount" select="Distribution/ImportSummary/Warnings" />
                        <xsl:with-param name="status">6</xsl:with-param>
                    </xsl:call-template>
                    <xsl:variable name="albumWarningVerb">
                        <xsl:choose>
                            <xsl:when test="Distribution/ImportSummary/Warnings = 1"> is</xsl:when>
                            <xsl:otherwise> are</xsl:otherwise>
                        </xsl:choose>
                    </xsl:variable>
                    <xsl:value-of select="$albumWarningVerb" />
                    <xsl:text> ready for import but</xsl:text>
                    <xsl:value-of select="$albumWarningVerb" />
                    <span>
                        <xsl:if test="/Root/ClientTypes/ClientType[ClientTypeID = 4]/IsClientTypeFlag = 1">
                            <xsl:attribute name="class">error</xsl:attribute>
                        </xsl:if> not ready for distribution
                    </span>.
                    <xsl:call-template name="helpIcon">
                        <xsl:with-param name="tip">Distribution requires additional album data before it can be delivered.</xsl:with-param>
                    </xsl:call-template>
                </p>
                <div id="albumsWarnings"/>
            </xsl:if>
        </div>
        <div class="Distribution-import-summary-item">
            <xsl:if test="Distribution/ImportSummary/Duplicates &gt; 0 or Distribution/ImportSummary/Errors &gt; 0">
                <h4>
                    Albums that will not be imported
                </h4>
            </xsl:if>

            <xsl:if test="Distribution/ImportSummary/Duplicates &gt; 0">
                <p>
                    <xsl:call-template name="albumButton">
                        <xsl:with-param name="albumCount" select="Distribution/ImportSummary/Duplicates" />
                        <xsl:with-param name="status">7</xsl:with-param>
                    </xsl:call-template>
                    <xsl:variable name="dupeDownloadText">
                        <xsl:choose>
                            <xsl:when test="Distribution/ImportSummary/Duplicates = 1">Download this album</xsl:when>
                            <xsl:otherwise>Download these albums</xsl:otherwise>
                        </xsl:choose>
                    </xsl:variable>
                    <xsl:choose>
                        <xsl:when test="Distribution/ImportSummary/Duplicates = 1"> appears to be a duplicate of an existing album</xsl:when>
                        <xsl:otherwise> appear to be duplicates of existing albums</xsl:otherwise>
                    </xsl:choose> in your catalog.
                    <a href="/rps/distribution?c=exceldump&amp;show=7&amp;show=8">
                        <xsl:value-of select="$dupeDownloadText" />
                    </a>
                </p>
                <div id="albumsDuplicates"/>
            </xsl:if>

            <xsl:if test="Distribution/ImportSummary/Errors &gt; 0">
                <p>
                    <xsl:call-template name="albumButton">
                        <xsl:with-param name="albumCount" select="Distribution/ImportSummary/Errors" />
                        <xsl:with-param name="status">9</xsl:with-param>
                    </xsl:call-template>
                    <xsl:variable name="errorDownloadText">
                        <xsl:choose>
                            <xsl:when test="Distribution/ImportSummary/Errors = 1">Download this album</xsl:when>
                            <xsl:otherwise>Download these albums</xsl:otherwise>
                        </xsl:choose>
                    </xsl:variable>
                    contain<xsl:if test="Distribution/ImportSummary/Errors = 1">s</xsl:if> errors and cannot be added to your catalog at this time.
                    <a href="/rps/distribution?c=exceldump&amp;show=9">
                        <xsl:value-of select="$errorDownloadText" />
                    </a>
                </p>
                <div id="albumsErrors"/>
            </xsl:if>
        </div>
        <div class="Distribution-import-summary-item">
            <xsl:if test="Distribution/ImportSummary/Good = 0 and Distribution/ImportSummary/Warnings = 0 and Distribution/ImportSummary/Duplicates = 0 and Distribution/ImportSummary/Errors = 0">
                <p class="emptyMessage error">
                    No metadata was found.
                </p>
            </xsl:if>
        </div>
    </xsl:template>


    <xsl:template name="albumButton">
        <xsl:param name="albumCount" />
        <xsl:param name="status" />
        <xsl:variable name="ajaxURL">/rps/distribution?c=albumdetail&amp;show=</xsl:variable>
        <xsl:choose>
            <xsl:when test="$albumCount &gt; 0">
                <a href="javascript:void(0);" onclick='oAlbumListArray[{$status}].URLRequest( {{ url: "{$ajaxURL}{$status}", status: "{$status}", oAEL: oAlbumListArray }} )' >
                    <span class="CollapseTrigger" id="album{$status}Image">
                        <span class="CollapseTrigger-icon">
                            <xsl:call-template name="icon">
                                <xsl:with-param name="type" select="'arrow-down'" />
                                <xsl:with-param name="role" select="'action'" />
                                <xsl:with-param name="className" select="'CollapseTrigger-glyph'" />
                            </xsl:call-template>
                        </span>
                    </span>
                </a>
            </xsl:when>

        </xsl:choose>
        <xsl:text> </xsl:text>
        <strong><xsl:value-of select="$albumCount" /></strong> album<xsl:if test="$albumCount != 1">s</xsl:if>

    </xsl:template>


    <xsl:template name="submitButton">
        <xsl:choose>

            <xsl:when test="Distribution/ImportValidated &gt; 0">
                <xsl:call-template name="uiButton">
                    <xsl:with-param name="className" select="'Form-button'" />
                    <xsl:with-param name="id" select="'catalog-album-import-button'" />
                    <xsl:with-param name="type" select="'primary'" />
                    <xsl:with-param name="iconLeftType" select="'upload'"/>
                    <xsl:with-param name="content">
                        Import
                    </xsl:with-param>
                </xsl:call-template>
            </xsl:when>

            <xsl:otherwise>
                <xsl:call-template name="uiButton">
                    <xsl:with-param name="className" select="'Form-button'" />
                    <xsl:with-param name="iconLeftType" select="'upload'"/>
                    <xsl:with-param name="content">
                        Upload
                    </xsl:with-param>
                    <xsl:with-param name="id" select="'uploadSubmit'" />
                    <xsl:with-param name="elemType" select="'submit'" />
                </xsl:call-template>
            </xsl:otherwise>

        </xsl:choose>
    </xsl:template>

    <xsl:template name="cancelButton">
        <xsl:choose>
            <xsl:when test="Distribution/ImportValidated &gt; 0">

                <xsl:call-template name="uiButton">
                    <xsl:with-param name="content">
                        Discard
                    </xsl:with-param>
                    <xsl:with-param name="className" select="'Form-button'" />
                    <xsl:with-param name="url">
                        <xsl:text>/rps/distribution?c=discard</xsl:text>
                    </xsl:with-param>
                </xsl:call-template>
            </xsl:when>
            <xsl:otherwise>
                <xsl:call-template name="uiButton">
                    <xsl:with-param name="className" select="'Form-button'" />
                    <xsl:with-param name="content">
                        Back to Albums
                    </xsl:with-param>
                    <xsl:with-param name="url">
                        <xsl:text>catalog</xsl:text>
                    </xsl:with-param>
                </xsl:call-template>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>

</xsl:stylesheet>
