From cb2e2617f86209850a808b902e584ab8a284b971 Mon Sep 17 00:00:00 2001 From: alexandrev-tibco Date: Mon, 13 Apr 2026 19:16:16 +0200 Subject: [PATCH] SEO: XSL article, SoftwareApplication schema, improve testing article --- site/content/posts/xsl-online-tester.md | 98 +++++++++++++++++++ .../posts/xslt-testing-and-regression.md | 7 +- site/layouts/_default/baseof.html | 1 + site/layouts/partials/schema-app.html | 26 +++++ 4 files changed, 130 insertions(+), 2 deletions(-) create mode 100644 site/content/posts/xsl-online-tester.md create mode 100644 site/layouts/partials/schema-app.html diff --git a/site/content/posts/xsl-online-tester.md b/site/content/posts/xsl-online-tester.md new file mode 100644 index 00000000..cfc67ffc --- /dev/null +++ b/site/content/posts/xsl-online-tester.md @@ -0,0 +1,98 @@ +--- +title: "XSL online tester: run XSL and XSLT transforms in your browser" +description: "Free XSL online tester and editor. Run XSL transformations, test XSLT stylesheets and validate XSL-FO output without installing anything." +date: 2026-04-13T00:00:00Z +tags: ["xsl", "xslt", "online", "tools"] +--- + +XSL (Extensible Stylesheet Language) is an umbrella term that covers three related specifications: XSLT for transformations, XPath for node selection, and XSL-FO for formatting objects. When developers search for an "XSL tester" or "XSL online editor", they are usually looking for a way to run XSLT stylesheets against XML input without a local install. [XSLT Playground](https://xsltplayground.com) does exactly that. + +## XSL vs XSLT — what is the difference? + +**XSL** is the full family of W3C specifications: +- **XSLT** (XSL Transformations) — transforms XML documents into other formats +- **XPath** — the path language used inside XSLT to navigate XML trees +- **XSL-FO** (XSL Formatting Objects) — describes page layout for print and PDF output + +In practice, when people say "XSL" in an integration or development context, they almost always mean **XSLT**. The stylesheet file extension `.xsl` and `.xslt` are interchangeable — Saxon and most processors accept both. + +## Running XSL transforms online + +[XSLT Playground](https://xsltplayground.com) supports XSLT 1.0, 2.0, and 3.0 via the Saxon processor. To run an XSL transform: + +1. Paste your XML source document in the input panel +2. Paste your XSL stylesheet in the stylesheet panel +3. Select the XSLT version (1.0, 2.0 or 3.0) +4. Click **Run** + +The output appears immediately. If the stylesheet has errors, the error panel shows the exact line and message from Saxon. + +## Common XSL use cases + +**XML to HTML** — the most common use. An XSL stylesheet walks an XML document tree and emits HTML tags: + +```xml + + + + + + + + +

+
+
+``` + +**XML to XML** — reshaping or filtering a document structure: + +```xml + + + + + + + + +``` + +**XML to plain text or CSV** — using `xsl:output method="text"`: + +```xml + + + + + + + + + +``` + +## XSL file extensions: .xsl vs .xslt + +Both `.xsl` and `.xslt` are valid. The `.xsl` extension is older and more common in enterprise systems (SAP, Oracle, IBM DataPower). The `.xslt` extension is more explicit. Saxon accepts either. XSLT Playground accepts any content regardless of what you call it. + +## Testing XSL stylesheets online + +The main advantage of an online XSL tester is speed of iteration. You can: + +- Paste a real XML payload from a production system and see what the stylesheet produces +- Add parameters and test different code paths +- Enable trace mode to see which templates fired and in what order +- Export the entire test case (input + stylesheet + parameters) as a JSON workspace to share with a colleague + +All of this is available at [XSLT Playground](https://xsltplayground.com) without creating an account or installing anything. + +## XSL transform online vs local Saxon + +For most development and debugging tasks, the online tester is faster than running Saxon locally. Use local Saxon when: + +- You are processing confidential data that cannot leave your network +- Your input files are very large (several MB or more) +- You need to integrate the transform into a build pipeline + +For everything else — prototyping, debugging, sharing test cases — the online XSL tester is quicker. diff --git a/site/content/posts/xslt-testing-and-regression.md b/site/content/posts/xslt-testing-and-regression.md index 37519d8e..d38ec1da 100644 --- a/site/content/posts/xslt-testing-and-regression.md +++ b/site/content/posts/xslt-testing-and-regression.md @@ -1,9 +1,12 @@ --- -title: "Testing XSLT transforms for regression safety" -description: "How to build a lightweight test harness for reliable XSLT deployments." +title: "XSLT testing: how to build a regression harness for safe deployments" +description: "How to test XSLT stylesheets and catch regressions before they hit production. Covers test corpus setup, expected outputs, CI integration, and using an online XSLT tester." date: 2024-11-26T00:00:00Z +tags: ["xslt", "testing", "debugging"] --- +Testing XSLT stylesheets before deployment prevents silent regressions in integration flows. Whether you run transforms in MuleSoft, Tibco, IBM DataPower, or a custom Saxon backend, a reproducible test process catches breaking changes before they reach production. This guide shows how to set one up, and how an online XSLT tester speeds up the feedback loop. + XSLT transformations often live at the heart of an integration flow. A small change can impact downstream systems, and because the output is just data, regressions can go unnoticed until a business process breaks. You do not need a massive testing framework to prevent this. A lightweight, repeatable testing approach with a few representative inputs can catch most issues and make changes far safer to deploy. Start by curating a compact test corpus. Choose a handful of XML inputs that represent the most important scenarios: a normal case, a case with missing optional elements, a case with unexpected or additional fields, and a case with edge values such as empty strings or special characters. Keep these documents small and focused so you can understand the expected output at a glance. Store them alongside the stylesheet to keep the transformation and tests tightly connected. diff --git a/site/layouts/_default/baseof.html b/site/layouts/_default/baseof.html index 7f95c71a..97611743 100644 --- a/site/layouts/_default/baseof.html +++ b/site/layouts/_default/baseof.html @@ -10,6 +10,7 @@ + {{ partial "schema-app.html" . }} {{ partial "adsense/head.html" . }} diff --git a/site/layouts/partials/schema-app.html b/site/layouts/partials/schema-app.html new file mode 100644 index 00000000..14513b54 --- /dev/null +++ b/site/layouts/partials/schema-app.html @@ -0,0 +1,26 @@ +