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

  • Hi Mark,  This change occurred because all of the JavaScript code had to be re-written to work with the newer versions of the Microsoft XML code.  The schemas should all be pretty much the same in the XML, but the JavaScript used to format will have to be modified as you've shown above.  I was told that more documentation will follow, but at this time we don't have a full list with the changes.  I am planning to start a WIKI over in the OpenRoads Designer pages to list the differences as we find them.

    Answer Verified By: Mark Shamoun 

  • 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 2022 R3 (10.12)  |  Microstation 2023  |  ProjectWise CE 3.4

  • Thanks for the notice about the doubling of the Position() values. I've filed a defect (717703) to get this fixed.
  • Kevin, do you have an update on documentation? Since you have removed the format.xsl file, documentation is even more crucial as we have no way of knowing what functions are available in the cif namespace. We used to be able to open format.xsl and review all the javascript functions that were present, but now we have no way of knowing what functions are available. Am in the process of updating FDOT's XSL reports to work in ORD.

  • Thanks, Kevin. Do you know if this has been fixed, 5.5 years later?