@opentemplate/scl-lib
TypeScript icon, indicating that this package has built-in type declarations

1.0.17 • Public • Published

scl-lib

Library for IEC 61850 standard

license(MIT) npm (scoped) Coverage

Usage

Install:

npm i @opentemplate/scl-lib

LibWorkspace

This project was generated with Angular CLI version 14.1.3.

scl-lib

Library for IEC 61850 standard

license(MIT) npm (scoped) Coverage

Usage

Install:

npm i @opentemplate/scl-lib
Context

context screenshot

Usage

You can import the library files from TypeScript:

import { ScllibService, _SCLType } from '@opentemplate/scl-lib';
Example
  • Marshal Document use case
const namespaces: any = {
  namespacePrefixes: {
    "http://www.iec.ch/61850/2003/SCL": "",
    "http://www.w3.org/2001/XMLSchema": "xs"
  },
  mappingStyle : "simplified"
};
...
constructor(private scllibService: ScllibService) {
    this.scllibService.setContext(namespaces);
}
...
const scl: _SCLType = {
  release: 4,
  revision: "B",
  version: "2007",
  header: {
    id: uuid.v4()
  }
};
...
this.scllibService.marshalDocument({SCL: scl})

marshalDocument screenshot

  • _SCLType interface and others generated by Jsonix tool.
  • ScllibService use a Javascript compiler generated by the cxsd tool.

API Reference:

Jsonix

After fixing this https://github.com/highsource/jsonix/pull/266 we published 3.0.0-next.0 to npm as @opentempl/jsonix.

  • Jsonix (JSON interfaces for XML) is a JavaScript library which allows you to convert between XML and JSON structures.
  • With Jsonix you can parse XML into JSON (this process is called unmarshalling) or serialize JSON in XML form (this is called marshalling).
  • These conversions are based on declarative XML/JSON mappings which can be written manually or generated from an XML Schema.

Jsonix advantages:

  • Strongly structured
  • Type-safe
  • Bidirectional
  • (Optionally) XML Schema-driven

cxsd

  • cxsd is a streaming XSD parser and XML parser generator for Node.js and (optionally but highly recommended) TypeScript. It automatically downloads all referenced .xsd files and outputs two files for each defined namespace:
    • .js JavaScript code for Node.js containing a compact state machine table for the cxml parser.
    • .d.ts TypeScript definition with JSDoc comments to help editors with tab completion, type verification and tooltips.

Supported Versions

Information about supported @opentempl/scl-lib versions.

Version Supported Scope
<= 0.1.24 opentempl
> 0.1.24 & <= 0.1.32 opentempl

We published 0.2.0 to npm as @opentemplate/scl-lib and will continue to publish updates there.

Version Supported Scope Scope
>= 0.2.0 opentemplate Angular 14
= 1.0.5 opentemplate Angular 15
>= 1.0.6 opentemplate Angular 16

Dependencies (1)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i @opentemplate/scl-lib

    Weekly Downloads

    3

    Version

    1.0.17

    License

    MIT

    Unpacked Size

    2.49 MB

    Total Files

    26

    Last publish

    Collaborators

    • samirromdhani