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 | ❌ | 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 |