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. |
JSON Schema
{
"$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"]
}