loading...

Format XML with XSLT

lefebvre profile image Paul Lefebvre ・1 min read

Did you know you can use XSLT to format your XML so that it is more readable? XSLT stands for eXtensible Stylesheet Language. This XSLT can be used to format XML:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes" />
<xsl:template match="/">
<xsl:copy-of select="/" />
</xsl:template>
</xsl:transform>

Apply this XSLT to your XML using whatever XSLT Transformation command is available to you.

To use this XSLT with Xojo, add a module to your project (name it XMLExtensions), add a String constant to the module (call it kXSLTFormat) and copy the above XSLT into the constant.

Now add a Global function to the module that extends the XMLDocument class with a Format function:

Function Format(Extends xml As XMLDocument) As String
  Return xml.Transform(kXSLTFormat)
End Function

Now you can call it to get back formatted XML as a String. For example, this code takes unformatted XML from a TextField and displays the formatted XML in another TextField:

Dim xml As New XMLDocument
xml.LoadXml(TextArea1.Text)
TextArea2.Text = xml.Format

Posted on by:

lefebvre profile

Paul Lefebvre

@lefebvre

Play: I am a father, husband, baseball player and technology geek. Work: Xojo Software Engineer.

Discussion

pic
Editor guide