Table of Contents

Class ExchangeCatalogue

Namespace
EncDotNet.S100.ExchangeSets
Assembly
EncDotNet.S100.ExchangeSets.dll

The parsed S-100 Part 17 exchange catalogue (CATALOG.XML) of an exchange set: catalogue-level metadata plus discovery metadata for every dataset, support file and sub-catalogue in the set.

public sealed class ExchangeCatalogue
Inheritance
ExchangeCatalogue
Inherited Members

Remarks

Produced by ExchangeCatalogueReader; wrapped together with an asset source by ExchangeSet. Element names below are relative to the catalogue root, in the root element's namespace.

Properties

CatalogueDiscoveryMetadata

Discovery metadata for each catalogue file (e.g. feature or portrayal catalogue) in the exchange set, in catalogue order; empty when there are none.

public IReadOnlyList<CatalogueDiscoveryMetadata> CatalogueDiscoveryMetadata { get; init; }

Property Value

IReadOnlyList<CatalogueDiscoveryMetadata>

Certificates

The certificate block from the catalogue, containing the scheme administrator identifier and embedded X.509 certificates used to verify per-file signatures.

public CertificateBlock? Certificates { get; init; }

Property Value

CertificateBlock

Remarks

S-100 Edition 5.2.1 Part 15 ยง15-5.

Comment

The free-text catalogue comment (exchangeCatalogueComment), or null when absent.

public string? Comment { get; init; }

Property Value

string

Contact

The producer contact (contact), or null when absent.

public ExchangeCatalogueContact? Contact { get; init; }

Property Value

ExchangeCatalogueContact

CurrentDatasets

The datasets the exchange set delivers, in catalogue order: every record in DatasetDiscoveryMetadata except withdrawals (IsWithdrawal), which name a cancelled dataset and usually ship no file. Use it to choose what to load or list.

public IReadOnlyList<DatasetDiscoveryMetadata> CurrentDatasets { get; }

Property Value

IReadOnlyList<DatasetDiscoveryMetadata>

DataServerIdentifier

The identifier of the data server that produced the exchange set (dataServerIdentifier), or null when absent.

public string? DataServerIdentifier { get; init; }

Property Value

string

DatasetDiscoveryMetadata

Discovery metadata for each dataset in the exchange set, in catalogue order; empty when there are none. Both the wrapped (datasetDiscoveryMetadata/*_DatasetDiscoveryMetadata) and the legacy S100EC unwrapped layouts are recognized.

public IReadOnlyList<DatasetDiscoveryMetadata> DatasetDiscoveryMetadata { get; init; }

Property Value

IReadOnlyList<DatasetDiscoveryMetadata>

DefaultLocaleCharacterEncoding

The codeListValue of the lan:MD_CharacterSetCode under defaultLocale (e.g. utf8), or null when absent.

public string? DefaultLocaleCharacterEncoding { get; init; }

Property Value

string

DefaultLocaleLanguage

The codeListValue of the lan:LanguageCode under defaultLocale (e.g. eng), or null when absent.

public string? DefaultLocaleLanguage { get; init; }

Property Value

string

Description

The free-text catalogue description (exchangeCatalogueDescription), or null when absent.

public string? Description { get; init; }

Property Value

string

Identifier

The catalogue identifier and creation date-time (identifier).

public required ExchangeCatalogueIdentifier Identifier { get; init; }

Property Value

ExchangeCatalogueIdentifier

ProductSpecification

The catalogue-level product specification (productSpecification), or null when absent. Individual datasets carry their own in ProductSpecification.

public ProductSpecification? ProductSpecification { get; init; }

Property Value

ProductSpecification

SupportFileDiscoveryMetadata

Discovery metadata for each support file in the exchange set, in catalogue order; empty when there are none. Both typed *_SupportFileDiscoveryMetadata children and inline supportFileDiscoveryMetadata records are recognized.

public IReadOnlyList<SupportFileDiscoveryMetadata> SupportFileDiscoveryMetadata { get; init; }

Property Value

IReadOnlyList<SupportFileDiscoveryMetadata>