What is a stylesheet?
Transform complex XML and JSON data into user-friendly formats with Nodinite Stylesheets. On this page, you will:
- ✅ Empower business users - Present technical data in formats non-technical users can understand
- ✅ Protect sensitive information - Hide confidential data from specific users or roles
- ✅ Format alerts - Customize email and event log notifications with readable, actionable content
- ✅ Support multiple formats - Transform XML and JSON into HTML, flat files, or any text-based output
- ✅ Reuse templates - Apply the same stylesheet across multiple Message Types for consistency

Animated walkthrough: the same invoice, first as raw JSON, then as a document a business user can read.
- In the Log View Contoso Orders: Finance, type ORD-10001 in O2C - Order ID and click Search.
- Open the Action menu of the Order Invoiced event and choose View message body: the raw invoice JSON.
- Close it, open the Action menu again, and choose View message formatted as 'Contoso - Invoice view': the same invoice as a document, with the customer, the lines, and the total.
Tip
Use Stylesheets in Nodinite to visualize data for the business in a format they can understand. You can also use this feature to hide sensitive data they do not need to see, ensuring compliance and security.
Why Use Stylesheets?
Business Impact
- 70% faster incident resolution - Business users identify critical issues without waiting for technical teams to interpret logs
- Enhanced security - Mask credit card numbers, social security numbers, and other sensitive data while preserving business context
- Actionable alerts - Emails with formatted data tables instead of raw XML reduce time-to-action from hours to minutes
- Self-service reporting - Enable business analysts to review transaction data without developer assistance
Common Use Cases
- Financial Transaction Reports - Transform XML order messages into readable invoices with line items, totals, and customer details
- Healthcare Data Compliance - Display patient encounter summaries while automatically redacting PHI (Protected Health Information)
- Order Status Tracking - Convert EDI 850 purchase orders into visual order summaries with delivery timelines
- Executive Dashboards - Present JSON metrics from REST APIs as formatted KPI cards and trend charts
- Compliance Audits - Generate audit-ready reports showing message flow history with timestamps and status indicators
How Stylesheets Work
Nodinite has built-in support for Stylesheets to transform technical data into business-friendly formats. You can present both XML and JSON data for end-users in formats they can understand and act upon.
Transformation Flow
(XML or JSON)"] --> B{"fa:fa-tags Message Type"} B --> U["fa:fa-language Convert body to UTF-8
(resolved encoding)"] U --> C["fa:fa-file-code Stylesheet
(XSLT or Liquid)"] C --> D["fa:fa-cogs Transformation
Engine"] D --> E["fa:fa-file-alt User-Friendly
Output"] E --> F1["fa:fa-search Log Views"] E --> F2["fa:fa-envelope Email Alerts"] E --> F3["fa:fa-calendar-exclamation Event Logs"] E --> F4["fa:fa-chart-bar Reports"] E --> F5["fa:fa-sitemap BPM Log Search (7.11)"] style A fill:#2678BD style B fill:#9E59BB style U fill:#E47528 style C fill:#3F827B style D fill:#3F827B style E fill:#93d16d
Transformation flow: the Log Event (blue) is matched to a Message Type (purple), its body is converted to UTF-8 (orange), the Stylesheet and engine (teal) transform it, and the output (green) reaches Log Views, BPM Log Search, alerts, and reports.
Step by Step
- Log Event arrives - System receives XML or JSON message from integration
- Message Type identified - Nodinite determines which Message Type matches the event
- Body converted to UTF-8 - Nodinite reads the body with its resolved character encoding (context property, then XML declaration, then Endpoint, then Message Type) and converts it to UTF-8 before inserting it into the Stylesheet, so characters such as
Åandésurvive the transformation New 7.11 - Stylesheet selected - Associated XSLT or Liquid template is retrieved
- Transformation applied - Engine processes message through template
- Output generated - Transformed HTML, text, or XML is produced
- Display to user - Result appears in Log Views, BPM Log Search New 7.11, email alerts, reports, or Windows Event Log
Supported Transformation Engines
XML Transformation with XSLT
- ✅ Convert XML documents into HTML for web display
- ✅ Transform XML into different XML formats for system integration
- ✅ Extract and reformat specific XML elements for reporting
JSON Transformation with Liquid
- ✅ Convert JSON into HTML reports with tables and formatting
- ✅ Generate flat files or text-based outputs
- ✅ Transform any JSON structure into nearly any imaginable text-based format
- ✅ Example: Base64Decode XML from JSON - Transform JSON with base64-encoded XML content into readable XML

A Liquid Stylesheet turns the invoice JSON into a readable HTML invoice; the editor renders every template change at once.
Key Features
Transformation Engines
Nodinite supports two powerful template engines, each optimized for different data formats:
| Engine | Best For | Capabilities |
|---|---|---|
| XSLT | XML data | Transform XML → HTML, XML → XML, element extraction, conditional formatting |
| Liquid | JSON data | Transform JSON → HTML, generate flat files, create custom text formats |
Standard XSLT and Liquid always work. Embedded scripts, such as msxsl:script blocks in XSLT, run only when the StylesheetScriptsEnabled System Parameter is true; with the default false, a Stylesheet that contains scripts fails and an error is logged.
Advanced Example
See Base64Decode XML from JSON to learn how Liquid templates can extract base64-encoded XML from JSON and transform it into readable XML output.
Flexibility and Reusability
- Multiple stylesheets per Message Type - Create specialized views for different audiences (business summary, technical details, compliance audit)
- Shared stylesheets - Use the same template across many Message Types for consistent branding and formatting
- Self-service access - Business users can view transformed data in Log Views without technical knowledge or database access
- Template library - Build a library of reusable stylesheets for common patterns (invoices, error reports, status summaries)
Alarm Formatting
Stylesheets enhance notification channels by presenting data in context-appropriate formats. The Alarm Plugin Object XML page documents the data each Alarm Plugin, such as Email or Email with Options, receives, and the Monitor View decides which Alarm Plugins send its alerts:
| Channel | Use Case | Stylesheet Capability |
|---|---|---|
| Incident notifications | Format email body with readable data tables, conditional styling, and actionable summaries | |
| Email with Options | Interactive approval workflows | Create emails with decision buttons (Approve/Reject) that include formatted transaction details |
| Windows Event Log | IT operations monitoring | Generate structured event log entries with severity levels and formatted message data |
Data Security and Masking
Stylesheets enable granular control over what data users can see:
- Sensitive data redaction - Hide credit card numbers, SSNs, passwords, API keys using template logic
- Formatted view only - A Stylesheet is bound to Message Types, not to Log Views: every Log View offers every Stylesheet bound to the event's Message Type. What a Role sees is set by its rights on the Log View: with View Transformed but not View Body, users read only the formatted output; see Permission Set for Log Views
- Compliance-ready output - Generate audit reports that automatically exclude PII while preserving business context
- Custom masking rules - Use XSLT/Liquid conditional logic to implement organization-specific data protection rules
How It Works
Nodinite automatically applies the correct Stylesheet to transform message payloads based on the Message Type. When you associate a Stylesheet with a Message Type, it is used in:
- Log Views - Transform technical data for business user consumption in the web interface; business users pick View message formatted as
- BPM Log Search New 7.11 - The same formatted view, opened from Action on an event in the BPM Viewer
- Alarm notifications - Format Email alerts, Event Logs, and interactive emails with readable, actionable content
- Reports - Generate user-friendly reports from technical log data for compliance and analytics
- API responses - Apply stylesheets to Log Event data returned via the Web API for custom integrations
All Logged Events have the mandatory Message Type property set, which determines which Stylesheet to apply. This automatic association ensures consistent formatting across all views and notification channels.
Next Steps
Start using Stylesheets to transform your data:
- Stylesheets Overview - Manage the list of Stylesheets
- Add or manage Stylesheet - Create XSLT or Liquid templates for your Message Types
- Message Types - Associate Stylesheets with specific Message Types
- Add or manage Log View - Create Log Views that use your Stylesheets
- Add or manage Monitor View - Apply Stylesheets to Monitor Views
- E-Mail - Configure email alerts with formatted content using Stylesheets
Related Topics
Core Concepts
- Log Event - Understand logged events and Message Types
- Log Views - Manage user access to transformed log data
- Monitor Views Overview - Apply Stylesheets to monitoring views
- Character Encoding - How the body encoding is decided before transformation
- StylesheetScriptsEnabled - System Parameter that allows embedded scripts in Stylesheets
Notification Channels
- Alarm Plugins - The notification channels that use Stylesheets
- E-mail with options - Create interactive email alerts with decision buttons
- Windows Event Log - Format Windows Event Log output
Examples and templates
- Alarm Plugin Object XML - XML structure for alarm plugin formatting
- Base64Decode XML from JSON - Example: Transform JSON with base64-encoded XML
- Stylesheet Examples - All XSLT and Liquid examples
End-User Guides
- View message formatted as - How business users open the formatted message
- See what happened to an order - Scenario that reads an order through a Stylesheet
External Resources