XSLT
Stands for "Extensible Stylesheet Language Transformations."
XSLT is a language designed to transform XML documents into other formats. XSLT documents are called stylesheets and contain instructions for translating an XML input file into another format. An XSLT processor program uses stylesheets to analyze an XML file and convert its tags and data into another XML format, or into file formats like HTML and plain text documents.
Not all XML files use the same markup tags for the same data. Unlike HTML, which uses universal definitions to standardize every tag for a specific purpose, the creator of an XML format can create arbitrary tags to contain and structure data. XSLT stylesheets contain instructions that translate tags and data structures when run through an XSLT processor. XSLT can help convert XML files created for one program into XML files compatible with another, or restructure them into files intended for display in other ways.
For example, if you have two recipe manager apps that save recipes using XML, they may use different XML tags to denote ingredients and instructions. You could write an XSLT stylesheet that converts one format to another by translating tags and changing how the file structures its data. You could also create an additional stylesheet that converts an XML recipe into an HTML file that you can view in a web browser or send to your printer.
The first release of the XSLT specification can transform XML files into other XML files, HTML pages, and plain text documents. The second release, XSLT 2.0 (2007), added new features that allow an XSLT processor to modify data strings within an XML file using regular expressions, as well as new functions and operators for mathematically manipulating date and time data. It also introduced the ability to split XML input into multiple output files that contain separate aspects of the source. The most recent release, XSLT 3.0 (2017), improved support for extremely large inputs — allowing an XML processor to start translating and outputting data before the input file is fully loaded. It also added support for using JSON files as input.