XSL Report format change in ORD

Hi all,

Upon adding my SS4 OpenRoads reports into ORD I have realised there has been an XSL format change. Nothing major, but enough to require editing of all pre-existing report XSLs to work with ORD.

This includes an understandable replacement of the old "inr" namespace with "cif" and some format changes, ie. old "elevationFormat" is now "ordinateFormat". There has also been the removal of the units and precision parameters that previously allowed for hardcoding of units.

eg.

NEW = <xsl:value-of select="cif:ordinateFormat(number(GeometryPoint/@elevation))"/>

OLD = <xsl:value-of select="inr:elevationFormat(number(GeometryPoint/@elevation), $xslElevationPrecision1)"/> 

The provided documentation in: C:\Program Files\Bentley\OpenRoads Designer CONNECT Edition\OpenRoadsDesigner\Default\Reports\ are still just the Inroads report documents - Is there any documentation on the new XSL report format or at least a supplement that we can use to create reports for ORD?

One welcome change is that the report error dialog now points you to what the error is in the XSL which was quite frustrating to pinpoint previously, but some documentation would avoid constant trial-and-error to resolve errors in commonly used reports

Parents
  • After updating my previous SS4 reports, this is what I have found:

    • xml namespace "cif" needs to be manually defined (to replace previous "inr" namespace), eg. xmlns:cif="cif"
    • All "inr" namespace references must be repaced with "cif", eg. cif:stationFormat (vs inr:stationFormat)
    • xslShowHelp parameter is now required (for Report Help), eg. <xsl:param name="xslShowHelp" select="cif:xslShowHelp"/>
    • All Format parameters now have self-constained unit and precision variables (definition using custom variables no longer available),
      • eg. "cif:directionFormat(number(@tangentialDirectionEnd))" (vs  "inr:directionFormat(number(@tangentialDirectionEnd), $xslDirectionFormat, $xslDirectionPrecision, $xslDirectionModeFormat1, $xslAngularMethod1)"

      • This now locks definition of units and precision to the Civil Report format options (can be hardcoded using format-number function)

    • "EastingFormat", "NorthingFormat" and "ElevationFormat" parameters have been replaced with a new "OrdinateFormat" paramete
    • Previous current node Position() = 1 (first node in node list) now needs to be defined as Position() = 2
    • Previous last node position - Position() = last() now needs to be defined as Position() = last() - 1
    • Related to the changes above, there seems to be a doubling up of node counts, ie. Previous nodes = 7 now has nodes = 14

    Attached is an example of a SS4 report and its updated ORD version - Please note: these have hardcoded precision set in the report (except bearing)

    HorizontalAlignment-Type1.zip

    Regards,

    Mark


    OpenRoads Designer 2023  |  Microstation 2023.2  |  ProjectWise 2023

Reply
  • After updating my previous SS4 reports, this is what I have found:

    • xml namespace "cif" needs to be manually defined (to replace previous "inr" namespace), eg. xmlns:cif="cif"
    • All "inr" namespace references must be repaced with "cif", eg. cif:stationFormat (vs inr:stationFormat)
    • xslShowHelp parameter is now required (for Report Help), eg. <xsl:param name="xslShowHelp" select="cif:xslShowHelp"/>
    • All Format parameters now have self-constained unit and precision variables (definition using custom variables no longer available),
      • eg. "cif:directionFormat(number(@tangentialDirectionEnd))" (vs  "inr:directionFormat(number(@tangentialDirectionEnd), $xslDirectionFormat, $xslDirectionPrecision, $xslDirectionModeFormat1, $xslAngularMethod1)"

      • This now locks definition of units and precision to the Civil Report format options (can be hardcoded using format-number function)

    • "EastingFormat", "NorthingFormat" and "ElevationFormat" parameters have been replaced with a new "OrdinateFormat" paramete
    • Previous current node Position() = 1 (first node in node list) now needs to be defined as Position() = 2
    • Previous last node position - Position() = last() now needs to be defined as Position() = last() - 1
    • Related to the changes above, there seems to be a doubling up of node counts, ie. Previous nodes = 7 now has nodes = 14

    Attached is an example of a SS4 report and its updated ORD version - Please note: these have hardcoded precision set in the report (except bearing)

    HorizontalAlignment-Type1.zip

    Regards,

    Mark


    OpenRoads Designer 2023  |  Microstation 2023.2  |  ProjectWise 2023

Children