UCAIug open source library · builders for CIMTool
The UCAIug’s CIMTool community repository of publicly available XSLT builders
CIM Model Management

adoc-article-xsd.xsl

This builder currently ships with CIMTool.

Builder Description

The adoc-article-xsd.xsl builder generates documentation for an XSD profile in AsciiDoc format as a standalone article. The article has a title, a table of contents, the profile’s class diagram and a section for each class, compound, enumeration and datatype, with tables of native and inherited members and cross-reference links between them. Text entered on the “Documentation” tab in CIMTool is included alongside the UML and profile descriptions.

The diagram is included from the <profile>.xsd-l2r.puml file generated by the puml-xsd-l2r.xsl builder, so that builder should also be enabled for the profile. For content to embed within a larger AsciiDoc document use the adoc-inline-xsd.xsl builder. Equivalent builders are provided for RDFS (adoc-article-rdfs.xsl, adoc-inline-rdfs.xsl) and JSON schema (adoc-article-json.xsl, adoc-inline-json.xsl) profiles.

The following shows the article generated from an EndDeviceConfig profile, rendered to HTML:

image

Below is an extract of the AsciiDoc source for the same article:

:doctype: article
:reproducible:
:icons: font
:sectnums:
:sectnumlevels: 4
:xrefstyle: short
:table-stripes: even
...
= EndDeviceConfig Profile Specification
...
== Overview

Profile namespace: http://iec.ch/TC57/2022/EndDeviceConfig#

.EndDeviceConfig Profile
plantuml::./Profiles/EndDeviceConfig.xsd-l2r.puml[format=svg, align=center]
...
[[EndDeviceConfig-ComFunction]]
==== ComFunction

Communication function of communication equipment or a device such as a meter.

*Native Members*

[%header,width="100%",cols="25%,^10%,20%a,45%a"]
|===
|name |mult |type |description
|mRID
|0..1
|<<EndDeviceConfig-String,String>>
|
Master resource identifier issued by a model authority. The mRID is unique within an exchange context. Global uniqueness is easily achieved by using a UUID, as specified in RFC 4122, for the mRID. The use of UUID is strongly recommended.

For CIMXML data files in RDF syntax conforming to IEC 61970-552, the mRID is mapped to rdf:ID or rdf:about attributes that identify CIM object elements.

...
|===

The complete AsciiDoc source generated by CIMTool for the GetUsagePointGroups profile in the CIMTool-Test-Project is also available: GetUsagePointGroups.article-xsd.adoc.

XSLT Version

This builder is XSLT 3.0 compliant.

Release History

CIMTool Release Release Date Changes
2.3.0 08-Jun-2026 Added to CIMTool (#24).

Author

Todd Viegut [@tviegut] on behalf of UCAIug.

Submission Date

04-Nov-2024

Builder NTE Configuration

Given this builder ships with CIMTool the below screenshot highlights the existing NTE (Name/Type/Extension) settings for the builder. We strongly recommend that you do not import customized versions of this shipped builder over the original in your local CIMTool installation. Doing so will force regeneration of any existing builder-generated artifacts for projects in your workspace that have this builder enabled.

The recommended best practice is to rename the builder file (from adoc-article-xsd.xsl to custom-adoc-article-xsd.xsl for example) before importing. On import this will be interpreted as a new builder and you will be allowed to enter values in the Type and Extension fields.

NOTE: </br>CIMTool requires that file extensions be unique and will prevent you from entering an extension already assigned to a builder. This is because an artifact’s name is derived by concatenating the base name of the CIMTool .owl profile with the file extension assigned to the builder. Therefore, a unique file extension must be assigned to each builder when imported. The file extension for a builder can be modified later from within the “Maintain XSLT Transform Builders” screen.

image

License

This builder is released under the Apache 2.0 license and was developed under sponsorship of the UCAIug.