XSLT · Schema

XSLT Stylesheet

JSON Schema representing the structure and metadata of an XSLT stylesheet document for use in data transformation pipelines.

Data TransformationStandardW3CXMLXSLTXPath

Properties

Name Type Description
version string XSLT version used by the stylesheet.
name string Human-readable name of the XSLT stylesheet.
description string Description of what the stylesheet transforms.
inputFormat string Expected input XML format or schema.
outputFormat string Output format produced by the transformation.
outputMethod string XSLT output method directive.
encoding string Character encoding for the output.
namespaces array Namespace declarations used in the stylesheet.
parameters array External parameters accepted by the stylesheet.
templates array Named templates or template match rules in the stylesheet.
imports array Other XSLT stylesheets imported by this one.
streaming boolean Whether the stylesheet uses XSLT 3.0 streaming mode for large documents.
created string Date the stylesheet was created.
modified string Date the stylesheet was last modified.
View JSON Schema on GitHub

JSON Schema

xslt-stylesheet-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://github.com/api-evangelist/xslt/blob/main/json-schema/xslt-stylesheet-schema.json",
  "title": "XSLT Stylesheet",
  "description": "JSON Schema representing the structure and metadata of an XSLT stylesheet document for use in data transformation pipelines.",
  "type": "object",
  "properties": {
    "version": {
      "type": "string",
      "description": "XSLT version used by the stylesheet.",
      "enum": ["1.0", "2.0", "3.0"],
      "examples": ["3.0"]
    },
    "name": {
      "type": "string",
      "description": "Human-readable name of the XSLT stylesheet.",
      "examples": ["HTML Report Transformer", "EDI to JSON Converter"]
    },
    "description": {
      "type": "string",
      "description": "Description of what the stylesheet transforms."
    },
    "inputFormat": {
      "type": "string",
      "description": "Expected input XML format or schema.",
      "examples": ["XML", "XHTML", "SVG", "DITA", "DocBook"]
    },
    "outputFormat": {
      "type": "string",
      "description": "Output format produced by the transformation.",
      "enum": ["html", "xhtml", "xml", "text", "json"],
      "examples": ["html"]
    },
    "outputMethod": {
      "type": "string",
      "description": "XSLT output method directive.",
      "enum": ["xml", "html", "text", "xhtml"],
      "examples": ["html"]
    },
    "encoding": {
      "type": "string",
      "description": "Character encoding for the output.",
      "default": "UTF-8",
      "examples": ["UTF-8", "ISO-8859-1"]
    },
    "namespaces": {
      "type": "array",
      "description": "Namespace declarations used in the stylesheet.",
      "items": {
        "type": "object",
        "properties": {
          "prefix": {
            "type": "string",
            "description": "Namespace prefix.",
            "examples": ["xsl", "xs", "fn"]
          },
          "uri": {
            "type": "string",
            "format": "uri",
            "description": "Namespace URI.",
            "examples": ["http://www.w3.org/1999/XSL/Transform"]
          }
        },
        "required": ["prefix", "uri"]
      }
    },
    "parameters": {
      "type": "array",
      "description": "External parameters accepted by the stylesheet.",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Parameter name."
          },
          "type": {
            "type": "string",
            "description": "XPath/XSD type of the parameter.",
            "examples": ["xs:string", "xs:integer", "xs:boolean"]
          },
          "required": {
            "type": "boolean",
            "description": "Whether the parameter is required.",
            "default": false
          },
          "default": {
            "type": "string",
            "description": "Default value for the parameter."
          },
          "description": {
            "type": "string",
            "description": "Description of the parameter's purpose."
          }
        },
        "required": ["name"]
      }
    },
    "templates": {
      "type": "array",
      "description": "Named templates or template match rules in the stylesheet.",
      "items": {
        "type": "object",
        "properties": {
          "name": {
            "type": "string",
            "description": "Template name (for named templates)."
          },
          "match": {
            "type": "string",
            "description": "XPath match expression.",
            "examples": ["/", "//book", "chapter"]
          },
          "mode": {
            "type": "string",
            "description": "XSLT processing mode."
          },
          "description": {
            "type": "string",
            "description": "Description of what the template handles."
          }
        }
      }
    },
    "imports": {
      "type": "array",
      "description": "Other XSLT stylesheets imported by this one.",
      "items": {
        "type": "object",
        "properties": {
          "href": {
            "type": "string",
            "description": "URI or relative path of the imported stylesheet."
          },
          "type": {
            "type": "string",
            "enum": ["import", "include"],
            "description": "Whether the stylesheet is imported (lower precedence) or included (same precedence)."
          }
        },
        "required": ["href", "type"]
      }
    },
    "streaming": {
      "type": "boolean",
      "description": "Whether the stylesheet uses XSLT 3.0 streaming mode for large documents.",
      "default": false
    },
    "created": {
      "type": "string",
      "format": "date",
      "description": "Date the stylesheet was created.",
      "examples": ["2026-05-03"]
    },
    "modified": {
      "type": "string",
      "format": "date",
      "description": "Date the stylesheet was last modified.",
      "examples": ["2026-05-03"]
    }
  },
  "required": ["version", "name", "outputFormat"]
}