mirror of
https://github.com/alexandrev/xslt-lab.git
synced 2026-09-20 04:23:16 +00:00
+1
This commit is contained in:
@@ -0,0 +1,50 @@
|
|||||||
|
name: Publish Hugo site
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: ["main"]
|
||||||
|
paths:
|
||||||
|
- "site/**"
|
||||||
|
- ".github/workflows/publish-hugo.yml"
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
contents: read
|
||||||
|
pages: write
|
||||||
|
id-token: write
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: "pages"
|
||||||
|
cancel-in-progress: true
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- name: Checkout
|
||||||
|
uses: actions/checkout@v4
|
||||||
|
|
||||||
|
- name: Setup Hugo
|
||||||
|
uses: peaceiris/actions-hugo@v3
|
||||||
|
with:
|
||||||
|
hugo-version: "0.125.7"
|
||||||
|
extended: true
|
||||||
|
|
||||||
|
- name: Build
|
||||||
|
run: hugo --source site --minify --destination public
|
||||||
|
|
||||||
|
- name: Upload Pages artifact
|
||||||
|
uses: actions/upload-pages-artifact@v3
|
||||||
|
with:
|
||||||
|
path: public
|
||||||
|
|
||||||
|
deploy:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
needs: build
|
||||||
|
environment:
|
||||||
|
name: github-pages
|
||||||
|
url: ${{ steps.deployment.outputs.page_url }}
|
||||||
|
steps:
|
||||||
|
- name: Deploy to GitHub Pages
|
||||||
|
id: deployment
|
||||||
|
uses: actions/deploy-pages@v4
|
||||||
Vendored
BIN
Binary file not shown.
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: "Welcome to the XSLT Playground blog"
|
title: "Welcome to the XSLT Playground blog"
|
||||||
description: "What you will find here and how it helps you get more from the online XSLT editor."
|
description: "What you will find here and how it helps you get more from the online XSLT editor."
|
||||||
date: 2025-02-28T00:00:00Z
|
date: 2024-10-10T00:00:00Z
|
||||||
---
|
---
|
||||||
|
|
||||||
[XSLT Playground](https://xsltplayground.com) is a browser-first XSLT editor that lets you run transforms with multiple inputs and parameters, see results instantly, and spot performance hotspots without installing anything. This blog gathers the practical pieces you need around it.
|
[XSLT Playground](https://xsltplayground.com) is a browser-first XSLT editor that lets you run transforms with multiple inputs and parameters, see results instantly, and spot performance hotspots without installing anything. This blog gathers the practical pieces you need around it.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: "Why I built an XSLT online editor for real-world work"
|
title: "Why I built an XSLT online editor for real-world work"
|
||||||
description: "The story behind XSLT Playground—an XSLT online editor tuned for multi-parameter transforms, fast feedback, and practical debugging."
|
description: "The story behind XSLT Playground—an XSLT online editor tuned for multi-parameter transforms, fast feedback, and practical debugging."
|
||||||
date: 2025-11-22T15:34:45Z
|
date: 2024-10-20T00:00:00Z
|
||||||
---
|
---
|
||||||
|
|
||||||
If you have spent years inside XPath and XSLT, you know the pain of juggling heavy desktop tools just to ship one transform. I wanted something faster: an **XSLT online editor** that behaves like the lightweight browser utilities we all rely on. That is why I created [XSLT Playground](https://xsltplayground.com), a web-based editor built for realistic, multi-input scenarios instead of the single-input demos most tools target.
|
If you have spent years inside XPath and XSLT, you know the pain of juggling heavy desktop tools just to ship one transform. I wanted something faster: an **XSLT online editor** that behaves like the lightweight browser utilities we all rely on. That is why I created [XSLT Playground](https://xsltplayground.com), a web-based editor built for realistic, multi-input scenarios instead of the single-input demos most tools target.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: "XSLT debugging patterns that save hours"
|
title: "XSLT debugging patterns that save hours"
|
||||||
description: "Practical ways to trace, isolate, and fix transformations with minimal friction."
|
description: "Practical ways to trace, isolate, and fix transformations with minimal friction."
|
||||||
date: 2025-03-01T00:00:00Z
|
date: 2024-11-18T00:00:00Z
|
||||||
---
|
---
|
||||||
|
|
||||||
XSLT bugs are rarely loud. More often, a template silently matches the wrong node, a predicate filters out a value you needed, or a namespace mismatch turns an element into a ghost. The fastest fix comes from a repeatable debugging workflow that keeps your assumptions visible. Over time you learn the same patterns appear in almost every real project, whether you are cleansing XML feeds, integrating partner payloads, or generating documents. This post walks through the techniques I use as an integration engineer to debug transforms quickly without losing context.
|
XSLT bugs are rarely loud. More often, a template silently matches the wrong node, a predicate filters out a value you needed, or a namespace mismatch turns an element into a ghost. The fastest fix comes from a repeatable debugging workflow that keeps your assumptions visible. Over time you learn the same patterns appear in almost every real project, whether you are cleansing XML feeds, integrating partner payloads, or generating documents. This post walks through the techniques I use as an integration engineer to debug transforms quickly without losing context.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: "Architecting XSLT in integration pipelines"
|
title: "Architecting XSLT in integration pipelines"
|
||||||
description: "Where XSLT fits in modern systems and how to keep transforms clean."
|
description: "Where XSLT fits in modern systems and how to keep transforms clean."
|
||||||
date: 2025-03-06T00:00:00Z
|
date: 2024-11-28T00:00:00Z
|
||||||
---
|
---
|
||||||
|
|
||||||
XSLT is at its best when it is treated as a focused transformation component in a wider integration architecture. You can use it inside an ESB, as part of a serverless function, or embedded in a data processing pipeline. The key is to define its responsibility clearly: XSLT should transform shape and content, not contain hidden transport logic or business workflows. With that boundary in place, the stylesheet becomes easier to test, reuse, and evolve.
|
XSLT is at its best when it is treated as a focused transformation component in a wider integration architecture. You can use it inside an ESB, as part of a serverless function, or embedded in a data processing pipeline. The key is to define its responsibility clearly: XSLT should transform shape and content, not contain hidden transport logic or business workflows. With that boundary in place, the stylesheet becomes easier to test, reuse, and evolve.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: "Designing XSLT transforms with parameters and multiple inputs"
|
title: "Designing XSLT transforms with parameters and multiple inputs"
|
||||||
description: "How to structure stylesheets that consume several XML documents and stay maintainable."
|
description: "How to structure stylesheets that consume several XML documents and stay maintainable."
|
||||||
date: 2025-03-02T00:00:00Z
|
date: 2024-11-20T00:00:00Z
|
||||||
---
|
---
|
||||||
|
|
||||||
Many real-world transformations do not run on a single XML document. You often merge a primary payload with reference data, catalog lookups, or environment configuration. Done well, this results in a clean, predictable transform. Done poorly, it becomes a maze of `document()` calls and hidden dependencies. The difference is in how you model inputs and parameters from the start. As an integration engineer, I treat input selection and parameter design as first-class API design for the stylesheet.
|
Many real-world transformations do not run on a single XML document. You often merge a primary payload with reference data, catalog lookups, or environment configuration. Done well, this results in a clean, predictable transform. Done poorly, it becomes a maze of `document()` calls and hidden dependencies. The difference is in how you model inputs and parameters from the start. As an integration engineer, I treat input selection and parameter design as first-class API design for the stylesheet.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: "XSLT performance tuning without losing readability"
|
title: "XSLT performance tuning without losing readability"
|
||||||
description: "A practical guide to faster transformations with keys, modes, and smarter selection."
|
description: "A practical guide to faster transformations with keys, modes, and smarter selection."
|
||||||
date: 2025-03-03T00:00:00Z
|
date: 2024-11-22T00:00:00Z
|
||||||
---
|
---
|
||||||
|
|
||||||
Performance problems in XSLT are sneaky. The stylesheet looks clean, the output is correct, but the transform slows down as the input grows. Most of the time this is caused by expensive selections that are repeated in loops, or by deep `//` searches that scan the entire tree more often than you expect. The good news is that you can usually fix these issues without turning the stylesheet into unreadable micro-optimizations.
|
Performance problems in XSLT are sneaky. The stylesheet looks clean, the output is correct, but the transform slows down as the input grows. Most of the time this is caused by expensive selections that are repeated in loops, or by deep `//` searches that scan the entire tree more often than you expect. The good news is that you can usually fix these issues without turning the stylesheet into unreadable micro-optimizations.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: "Testing XSLT transforms for regression safety"
|
title: "Testing XSLT transforms for regression safety"
|
||||||
description: "How to build a lightweight test harness for reliable XSLT deployments."
|
description: "How to build a lightweight test harness for reliable XSLT deployments."
|
||||||
date: 2025-03-05T00:00:00Z
|
date: 2024-11-26T00:00:00Z
|
||||||
---
|
---
|
||||||
|
|
||||||
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.
|
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.
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
---
|
---
|
||||||
title: "Transforming XML to JSON and CSV with XSLT"
|
title: "Transforming XML to JSON and CSV with XSLT"
|
||||||
description: "Patterns for producing modern integration formats while staying in XSLT."
|
description: "Patterns for producing modern integration formats while staying in XSLT."
|
||||||
date: 2025-03-04T00:00:00Z
|
date: 2024-11-24T00:00:00Z
|
||||||
---
|
---
|
||||||
|
|
||||||
XSLT is usually associated with XML-to-XML transformations, but in integration work you often need JSON or CSV. The good news is that XSLT is perfectly capable of producing non-XML outputs when you design the stylesheet for it. The key is to choose the right output method, control whitespace carefully, and build an intermediate structure if it helps clarify the mapping. This post covers practical patterns for generating JSON and CSV from XML while keeping the stylesheet maintainable.
|
XSLT is usually associated with XML-to-XML transformations, but in integration work you often need JSON or CSV. The good news is that XSLT is perfectly capable of producing non-XML outputs when you design the stylesheet for it. The key is to choose the right output method, control whitespace carefully, and build an intermediate structure if it helps clarify the mapping. This post covers practical patterns for generating JSON and CSV from XML while keeping the stylesheet maintainable.
|
||||||
|
|||||||
Reference in New Issue
Block a user