@opentemplate/scl-lib
v1.0.17
Published
Library for IEC 61850 standard
Downloads
38
Maintainers
Readme
scl-lib
Library for IEC 61850 standard
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
Usage
Install:
npm i @opentemplate/scl-lib
Context
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})
- _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 | :x: | opentempl | | > 0.1.24 & <= 0.1.32 | :white_check_mark: | 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 | :white_check_mark: | opentemplate | Angular 14 | | = 1.0.5 | :white_check_mark: | opentemplate | Angular 15 | | >= 1.0.6 | :white_check_mark: | opentemplate | Angular 16 |