Table of Contents

Class PortrayalCatalogue

Namespace
EncDotNet.S100.Portrayals
Assembly
EncDotNet.S100.Portrayals.dll

Parsed model of an S-100 Part 9 Portrayal Catalogue (portrayal_catalogue.xml): the asset inventories, rule files, viewing groups and layers, display modes and planes, and context parameters used to portray one product specification. Produced by PortrayalCatalogueReader; the referenced files are loaded through PortrayalCatalogueProvider.

public sealed class PortrayalCatalogue
Inheritance
PortrayalCatalogue
Inherited Members

Remarks

Collection properties are never null; they are empty when the corresponding section is absent from the XML.

Properties

AlertCatalog

The alert catalogue file, from alertCatalog, or null when the catalogue declares none.

public CatalogItem? AlertCatalog { get; init; }

Property Value

CatalogItem

AreaFills

Area fill (pattern) definitions, from areaFills/areaFill; loaded from the AreaFills/ folder and parsed by AreaFillReader.

public IReadOnlyList<CatalogItem> AreaFills { get; init; }

Property Value

IReadOnlyList<CatalogItem>

CatalogueRef

The Portrayal Catalogue identity tuple (ProductId, Version) projected into a strongly-typed CatalogueRef, or null when either field is missing or unparseable. This is the preferred way to identify a catalogue instance for caching and compatibility checks (S-100 Edition 5.2.1 Part 2 §6).

public CatalogueRef? CatalogueRef { get; init; }

Property Value

CatalogueRef?

ColorProfiles

Colour profiles (palettes mapping colour tokens to day/dusk/night colours), from colorProfiles/colorProfile; loaded from the ColorProfiles/ folder and parsed by ColorProfileReader.

public IReadOnlyList<CatalogItem> ColorProfiles { get; init; }

Property Value

IReadOnlyList<CatalogItem>

ContextParameters

Context parameters with their defaults, from context/parameter.

public IReadOnlyList<ContextParameter> ContextParameters { get; init; }

Property Value

IReadOnlyList<ContextParameter>

DisplayModes

Display modes, from displayModes/displayMode.

public IReadOnlyList<DisplayMode> DisplayModes { get; init; }

Property Value

IReadOnlyList<DisplayMode>

DisplayPlanes

Display planes, from displayPlanes/displayPlane.

public IReadOnlyList<DisplayPlane> DisplayPlanes { get; init; }

Property Value

IReadOnlyList<DisplayPlane>

FoundationModeViewingGroupIds

Ids of the viewing groups in the foundation mode — the base content that is always displayed — from the text of each foundationMode/viewingGroup element (trimmed; empty entries dropped).

public IReadOnlyList<string> FoundationModeViewingGroupIds { get; init; }

Property Value

IReadOnlyList<string>

LineStyles

Line style definitions, from lineStyles/lineStyle; loaded from the LineStyles/ folder and parsed by LineStyleReader.

public IReadOnlyList<CatalogItem> LineStyles { get; init; }

Property Value

IReadOnlyList<CatalogItem>

Pixmaps

Raster images, from pixmaps/pixmap; loaded from the Pixmaps/ folder.

public IReadOnlyList<CatalogItem> Pixmaps { get; init; }

Property Value

IReadOnlyList<CatalogItem>

ProductId

Product specification the catalogue portrays, verbatim from the root @productId attribute (e.g. S-101); empty when absent.

public required string ProductId { get; init; }

Property Value

string

RuleFiles

XSLT or Lua portrayal rule files, from rules/ruleFile.

public IReadOnlyList<RuleFile> RuleFiles { get; init; }

Property Value

IReadOnlyList<RuleFile>

StyleSheets

CSS style sheets referenced by the SVG symbols, from styleSheets/styleSheet; loaded from the StyleSheets/ folder.

public IReadOnlyList<CatalogItem> StyleSheets { get; init; }

Property Value

IReadOnlyList<CatalogItem>

Symbols

SVG point symbols, from symbols/symbol; loaded from the Symbols/ folder.

public IReadOnlyList<CatalogItem> Symbols { get; init; }

Property Value

IReadOnlyList<CatalogItem>

Version

Catalogue version, verbatim from the root @version attribute; empty when absent. See CatalogueRef for the parsed form.

public required string Version { get; init; }

Property Value

string

ViewingGroupLayers

Viewing-group layers, from viewingGroupLayers/viewingGroupLayer.

public IReadOnlyList<ViewingGroupLayer> ViewingGroupLayers { get; init; }

Property Value

IReadOnlyList<ViewingGroupLayer>

ViewingGroups

Viewing groups declared under viewingGroups. Only viewingGroup elements with an @id are included; id-only references are skipped.

public IReadOnlyList<ViewingGroup> ViewingGroups { get; init; }

Property Value

IReadOnlyList<ViewingGroup>