UNPKG

isoxml

Version:

JavaScript library to parse and generate ISOXML (ISO11783-10) files

95 lines (94 loc) 3.32 kB
import { TAGS } from './constants'; import { registerEntityClass } from '../classRegistry'; import { fromXML, toXML } from '../utils'; export var ISO11783LinkListFileVersionMajorEnum; (function (ISO11783LinkListFileVersionMajorEnum) { ISO11783LinkListFileVersionMajorEnum["TheVersionOfTheSecondEditionPublishedAsAFinalDraftInternationalStandard"] = "4"; })(ISO11783LinkListFileVersionMajorEnum || (ISO11783LinkListFileVersionMajorEnum = {})); export var ISO11783LinkListFileVersionMinorEnum; (function (ISO11783LinkListFileVersionMinorEnum) { ISO11783LinkListFileVersionMinorEnum["Value0"] = "0"; ISO11783LinkListFileVersionMinorEnum["Value1"] = "1"; ISO11783LinkListFileVersionMinorEnum["Value2"] = "2"; ISO11783LinkListFileVersionMinorEnum["Value3"] = "3"; })(ISO11783LinkListFileVersionMinorEnum || (ISO11783LinkListFileVersionMinorEnum = {})); export var ISO11783LinkListFileDataTransferOriginEnum; (function (ISO11783LinkListFileDataTransferOriginEnum) { ISO11783LinkListFileDataTransferOriginEnum["FMIS"] = "1"; ISO11783LinkListFileDataTransferOriginEnum["MICS"] = "2"; })(ISO11783LinkListFileDataTransferOriginEnum || (ISO11783LinkListFileDataTransferOriginEnum = {})); const ATTRIBUTES = { VersionMajor: { name: 'VersionMajor', type: 'xs:NMTOKEN', isPrimaryId: false, isOptional: false, isOnlyV4: undefined, }, VersionMinor: { name: 'VersionMinor', type: 'xs:NMTOKEN', isPrimaryId: false, isOptional: false, isOnlyV4: undefined, }, ManagementSoftwareManufacturer: { name: 'ManagementSoftwareManufacturer', type: 'xs:string', isPrimaryId: false, isOptional: false, isOnlyV4: undefined, }, ManagementSoftwareVersion: { name: 'ManagementSoftwareVersion', type: 'xs:string', isPrimaryId: false, isOptional: false, isOnlyV4: undefined, }, TaskControllerManufacturer: { name: 'TaskControllerManufacturer', type: 'xs:string', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, }, TaskControllerVersion: { name: 'TaskControllerVersion', type: 'xs:string', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, }, FileVersion: { name: 'FileVersion', type: 'xs:string', isPrimaryId: false, isOptional: true, isOnlyV4: undefined, }, DataTransferOrigin: { name: 'DataTransferOrigin', type: 'xs:NMTOKEN', isPrimaryId: false, isOptional: false, isOnlyV4: undefined, }, }; const CHILD_TAGS = { LGP: { name: 'LinkGroup', isOnlyV4: undefined }, }; export class ISO11783LinkListFile { constructor(attributes, isoxmlManager) { this.attributes = attributes; this.isoxmlManager = isoxmlManager; this.tag = TAGS.ISO11783LinkListFile; } static fromXML(xml, isoxmlManager, internalId, targetClass = ISO11783LinkListFile) { return fromXML(xml, isoxmlManager, targetClass, ATTRIBUTES, CHILD_TAGS, internalId); } toXML() { return toXML(this, ATTRIBUTES, CHILD_TAGS); } } registerEntityClass('main', TAGS.ISO11783LinkListFile, ISO11783LinkListFile);