## Syntax
```mermaid
%%{init: {
'theme': 'base',
'flowchart': { 'padding': '7', 'nodeSpacing': '20', 'rankSpacing': '20' },
'themeVariables': {
'fontSize': '11px',
'fontFamily': 'Arial'
}
}}%%
flowchart LR
Start((START)) --> XMLTRANSFORM[XMLTRANSFORM]:::quoted
XMLTRANSFORM --> End((END))
```
## Purpose
The `XMLTRANSFORM` SQL functions applies an XSL style sheet to the XML instance.
See also [[XMLCOMMENT]], [[XMLDECODE]], [[XMLELEMENT]], [[XMLENCODE]] and [[XMLFORMAT]].
Parameters:
- XML (`varchar2`): XML type instance to be transformed with the XSL style sheet.
- Style sheet (`varchar2`): The XSL style sheet to apply.
Returns: the XML instance with the style sheet applied to it.
## Examples
The following example extracts the value of the element `name` from an XML instance using an XSL style sheet:
```sql
select xmltransform
( '<?xml version="1.0"?><name>peter</name>'
, '<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="yes"/><xsl:template match="/"><xsl:value-of select="name"/></xsl:template></xsl:stylesheet>'
)
-------------------
peter
```
The following example extracts the value of the element `first-name` from an XML instance with multiple child elements using an XSL style sheet:
```sql
select xmltransform
( '<?xml version="1.0"?><r><name>peter overlap</name><first-name>peter</first-name></r>'
, '<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"><xsl:output method="html" indent="yes"/><xsl:template match="/r"><xsl:value-of select="first-name"/></xsl:template></xsl:stylesheet>'
)
-------------------
peter
```