<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format" xmlns:msxsl="urn:schemas-microsoft-com:xslt" xmlns:cif="cif">
  <xsl:param name="xslShowHelp" select="cif:xslShowHelp"/>
  <xsl:param name="xslResourceDirectory" select="cif:xslResourceDirectory"/>
  <xsl:template match="/">
    <xsl:variable name="gridOut" select="cif:SetGridOut(number(InRoads/@outputGridScaleFactor))" />
    <html>
      <head>
        <link rel="stylesheet" type="text/css" href="{$xslResourceDirectory}/engtheme.css"/>
        <title lang="en">Station Offset Report</title>
      </head>
      <body>
        <xsl:choose>
          <xsl:when test="$xslShowHelp = 'true'">
            <xsl:call-template name="StyleSheetHelp"/>
          </xsl:when>
          <xsl:otherwise>
            <xsl:for-each select="InRoads">
              <center>
                <h2 lang="en">Station Offset Northing Easting Elevation Feature Report</h2>
                <p lang="en">
                  Report Created:&#xa0; <xsl:value-of select="cif:date()"/><br/>
                  Time:&#xa0; <xsl:value-of select="cif:time()"/>
                </p>
              </center>

              <xsl:for-each select="GeometryProject">
                <table class="margin" cellpadding="2" width="90%">
                  <tbody>
                    <tr>
                      <th align="right" lang="en">Project:&#xa0; </th>
                      <td align="left" colspan="2">
                        <xsl:value-of select="@name"/>
                      </td>
                    </tr>
                    <tr>
                      <th align="right" lang="en">Description:&#xa0; </th>
                      <td align="left" colspan="2">
                        <xsl:value-of select="@description"/>
                      </td>
                    </tr>
                    <tr>
                      <th align="right" lang="en">Baseline Alignment:</th>
                      <td align="left" colspan="2">
                        <xsl:value-of select="HorizontalAlignment/@name"/>
                      </td>
                    </tr>
                    <tr>
                      <th align="right" lang="en">File Name:&#xa0; </th>
                      <td align="left" colspan="2">
                        <xsl:value-of select="@file"/>
                      </td>
                    </tr>
                    <tr>
                      <th align="right" lang="en">Last Revised:&#xa0; </th>
                      <td align="left" colspan="2">
                        <xsl:value-of select="concat(@lastRevisedBy, '  ', @lastRevisedDate)"/>
                      </td>
                    </tr>
                    <tr>
                      <th align="right" lang="en" style="font-size: 80%">Input Grid Factor:&#xa0; </th>
                      <td align="left" style="font-size: 80%">
                        <xsl:value-of select="../@inputGridScaleFactor" />
                      </td>
                      <td align="right" lang="en" style="font-size: 80%">
                        <strong>Note:&#xa0; </strong>All units in this report are in
                        <xsl:if test="//@linearUnits = 'Imperial'">feet</xsl:if>
                        <xsl:if test="//@linearUnits = 'Metric'">meters</xsl:if>
                        unless specified otherwise.
                      </td>
                    </tr>
                  </tbody>
                </table>
                <hr/>

                <!-- From Custom Point Station Offset Elevation Feature command -->
                <xsl:for-each select="HorizontalAlignment[OffsetPoint]">
                  <table cellspacing="4" width="100%">
                    <thead style="display:table-header-group">
                      <tr>
                        <th class="underline" lang="en" align="left">Point</th>
                        <th class="underline" lang="en" align="left">Station</th>
                        <th class="underline" lang="en" align="left">Offset</th>
                        <th class="underline" lang="en" align="left">Northing</th>
                        <th class="underline" lang="en" align="left">Easting</th>
                        <th class="underline" lang="en" align="left">Elevation</th>
                        <th class="underline" lang="en" align="left">Code</th>
                      </tr>
                    </thead>
                    <tbody>
                        <xsl:for-each select="OffsetPoint/GeometryPointProperties">
                          <tr>
                            <td align="left">
                              <xsl:value-of select="@PointName"/>
                            </td>
                            <td align="left">
                              <xsl:value-of select="cif:stationFormat(number(station/@externalStation),string(station/@externalStationName))"/>
                            </td>
                            <td align="left">
                              <xsl:value-of select="cif:distanceFormat(number(@offset))"/>
                            </td>
                            <td align="left">
                              <xsl:value-of select="cif:ordinateFormat(number(@northing))"/>
                            </td>
                            <td align="left">
                              <xsl:value-of select="cif:ordinateFormat(number(@easting))"/>
                            </td>
                            <td align="left">
                              <xsl:value-of select="cif:ordinateFormat(number(@elevation))"/>
                            </td>
                            <td align="left">
                              <xsl:value-of select="@PointDescription"/>
                            </td>
                          </tr>
                      </xsl:for-each>
                    </tbody>
                  </table>
                </xsl:for-each>

                <!--From Alignment Station Offset command -->
                <xsl:for-each select="HorizontalAlignment[StationOffsetPoints]">
                  <table cellspacing="4" width="100%">

                    <tbody>
                      <xsl:for-each select="StationOffsetPoints/StationOffsetPoint">
                        <tr>
                          <xsl:if test="not(@offsetAlignmentName = preceding-sibling::*/@offsetAlignmentName)">
                            <tr>
                              <th class="underline" lang="en" align="left">
                                Baseline Alignment
                                <br>
                                  (<xsl:value-of select="../../../HorizontalAlignment/@name"/>)
                                </br>
                                <br />
                                Point Type
                              </th>
                              <th class="underline" lang="en" align="left">
                                Offset Alignment
                                <br>
                                  (<xsl:value-of select="@offsetAlignmentName"/>)
                                </br>
                                <br />
                                Point Name
                              </th>
                              <th class="underline" lang="en" align="left">
                                <br />
                                Baseline Alignment<br />Station
                              </th>
                              <th class="underline" lang="en" align="left">
                                <br />
                                Baseline Alignment<br />Offset
                              </th>
                              <th class="underline" lang="en" align="left">
                                <br />
                                Offset Alignment<br />Northing
                              </th>
                              <th class="underline" lang="en" align="left">
                                <br />
                                Offset Alignment<br />Easting
                              </th>
                              <th class="underline" lang="en" align="left">
                                <br />
                                Offset Alignment<br />Elevation
                              </th>
                              <th class="underline" lang="en" align="left">
                                <br />
                                Offset Alignment<br />PointDescription
                              </th>
                            </tr>
                          </xsl:if>
                          <td align="left">
                            <xsl:value-of select="centerLinePoint/point/@type"/>
                          </td>
                          <td align="left">
                            <xsl:value-of select="offsetPoint/@name"/>
                          </td>
                          <td align="left">
                            <xsl:value-of select="cif:stationFormat(number(centerLinePoint/point/station/@externalStation),string(centerLinePoint/point/station/@externalStationName))"/>
                          </td>
                          <td align="left">
                            <xsl:value-of select="cif:distanceFormat(number(@firstOffset))"/>
                          </td>
                          <td align="left">
                            <xsl:value-of select="cif:ordinateFormat(number(offsetPoint/@northing))"/>
                          </td>
                          <td align="left">
                            <xsl:value-of select="cif:ordinateFormat(number(offsetPoint/@easting))"/>
                          </td>
                          <td align="left">
                            <xsl:if test="offsetPoint/@elevation">
                              <xsl:value-of select="cif:ordinateFormat(number(offsetPoint/@elevation))"/>
                            </xsl:if>
                          </td>
                          <td align="left">
                            <xsl:value-of select="@PointDescription"/>
                          </td>
                        </tr>
                      </xsl:for-each>
                    </tbody>
                  </table>
                </xsl:for-each>

              </xsl:for-each>

            </xsl:for-each>
          </xsl:otherwise>
        </xsl:choose>
      </body>
    </html>
  </xsl:template>

  <xsl:template name="StyleSheetHelp">
    <p class="normal1" lang="en">
      This report has no additional notes.
    </p>
  </xsl:template>
</xsl:stylesheet>
<!-- Stylus Studio meta-information - (c) 2004-2009. Progress Software Corporation. All rights reserved.

<metaInformation>
	<scenarios/>
	<MapperMetaTag>
		<MapperInfo srcSchemaPathIsRelative="yes" srcSchemaInterpretAsXML="no" destSchemaPath="" destSchemaRoot="" destSchemaPathIsRelative="yes" destSchemaInterpretAsXML="no"/>
		<MapperBlockPosition></MapperBlockPosition>
		<TemplateContext></TemplateContext>
		<MapperFilter side="source"></MapperFilter>
	</MapperMetaTag>
</metaInformation>
-->