This article provides a solution that addresses changes in web browsers that will affect the rendering of web pages created with the Webmaker tool in existing Tecomat PLCs.
The current web pages use XSLT transformation: after loading the XML data, the browser generates the resulting HTML page. However, browser vendors are gradually phasing out this technology. Google has already announced that it will remove support for XSLT in the stable version of Chrome 158, scheduled for release on November 17, 2026. Other browser vendors may head in a similar direction.
Once this feature is removed, the browser will not display the existing web pages.
Solutions
Solution on the PLC Side
To move to a presentation that is independent of XSLT transformations, we have prepared a solution on the PLC side that consists of two parts::
- New firmware for Foxtrot CP-1xxx and TC700 (version 11.4) and for Foxtrot CP-2xxx and TC800 (version 8.0 and newer)
- A new version of the Mosaic 2026.1 development environment, which generates web pages independent of XSLT transformations.
For a successful migration, you must update the PLC firmware and compile the project using the new version of the Mosaic environment.
The combination of new firmware and an old project compilation, or conversely, a project compiled using a new version of the development environment and uploaded to a PLC running old firmware, works, but will result in the web pages remaining in their original form, which requires an XSLT transformation.
Solution on the TecoRoute Side
In early September, new server-side software will be deployed on the TecoRoute server. This software will handle XSL transformation on the server side, ensuring that the web browser receives a fully rendered HTML page. This will maintain the functionality of the web interface when accessed via TecoRoute, even on systems where the PLC firmware has not been updated and the project has not been recompiled using the new Mosaic environment.
Other Options
An extension called “XSLT Polyfill” is being developed for Google Chrome and compatible browsers; it performs XSLT transformations on the browser side. However, this solution has the following limitations:
- It is not a universal solution for all browsers.
- It does not work for projects that use non-standard characters in STRING-type variables unless they are encoded in UTF-8.
Changes in functionality without XSLT
The following points summarize the technical changes compared to the original model.
Firmware Changes
- The PLC checks for the presence of a tag in
INDEX.XML; this indicates that a version of the web page without XSLT is available. - System pages such as
LOGINandLOGOUTare generated in HTML format without requiring XSLT. - By default, an unauthenticated user is redirected to
/SYSWWW/LOGIN.HTM. - After successful login, the address in the format
/INDEX.HTM?p=is used in non-XSLT mode - The
INDEX.HTMpage serves as the main container for the whole page - The actual rendering is performed by the
ENGINE.JSscript based on XML data and page descriptions in theDESC/folder - When navigating between pages, a new HTML skeleton is usually not loaded; only the rendered content changes
- If the link points to a directory, the firmware checks whether the directory contains the
INDEX.XMLandINDEX.HTMfiles and, based on that, either redirects to those files or displays the directory's contents via a URL in the format/INDEX.HTM?p= - If a link to a folder ends with two forward slashes (/), or if the request header contains
X-Tecomat: data, the content is returned in XML format, which requires an XSLT transformation - You can log out using either
LOGOUT.XMLorLOGOUT.HTM; this results in a redirect to the HTML logout page
Compatibility with Older Browsers
Both LOGIN.HTM and INDEX.HTM use JavaScript to detect support for more modern browser mechanisms (ENGINE.JS uses AbortController, for example). If the browser does not support them, the page falls back to the original XML version with XSLT, which older browsers do support.
Changes on the TecoRoute side
- An unauthenticated user is redirected to
TR_LOGIN.HTMinstead ofTR_LOGIN.XML - The login sequence remains functionally the same, but is handled by a script on the HTML page
- GET requests for XML files with an XSL template are transformed into HTML on the TecoRoute side after login
- The exception is requests with a header containing
X-Tecomat:data, which are used to retrieve XML data without transformation - After logging out, the user is redirected to
TR_LOGOUT.HTM TR_AUTOLOGIN.HTMis used for automatic login; old links to XML files remain valid
Changes on the Webmaker side
In addition to the original files, files for the non-XSLT mode are also generated, namely:
INDEX.HTMENGINE.JSLOGIN.HTMLOGIN.JSLOGOUT.HTM- the
DESCdirectory containing page layout descriptions
You can disable the generation of the original version that requires XSLT in the Webmaker tool. This will reduce the overall size of the web pages, but a web page created this way will not work with older PLC firmware or in older browsers that rely on the original XML/XSLT version for rendering.
