Table of Contents

Class SupportFileDiscoveryMetadata

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

Discovery metadata for one support file (e.g. a text or picture file referenced by datasets) in an exchange set — an S100_SupportFileDiscoveryMetadata record, or an inline supportFileDiscoveryMetadata element, from the exchange catalogue.

public sealed class SupportFileDiscoveryMetadata
Inheritance
SupportFileDiscoveryMetadata
Inherited Members

Remarks

S-100 Part 17. Instances are listed in SupportFileDiscoveryMetadata. Use RelativePath (or FetchSupportFileAsync(SupportFileDiscoveryMetadata, CancellationToken)) to locate the file. Dates are kept verbatim and are not parsed.

Properties

CompressionFlag

true when compressionFlag is true, i.e. the stored file is ZIP-compressed; false when absent or any other value.

public bool CompressionFlag { get; init; }

Property Value

bool

DataType

The support file data type (dataType, e.g. TXT_UTF-8, ASCII, TIFF or XML), kept verbatim; null when absent.

public string? DataType { get; init; }

Property Value

string

DigitalSignatureAlgorithm

The parsed digital signature algorithm, derived from DigitalSignatureReference.

public DigitalSignatureAlgorithm DigitalSignatureAlgorithm { get; init; }

Property Value

DigitalSignatureAlgorithm

DigitalSignatureReference

The raw digitalSignatureReference value naming the signature algorithm (e.g. ECDSA, ECDSA-384-SHA2), or null when absent. The parsed form is DigitalSignatureAlgorithm.

public string? DigitalSignatureReference { get; init; }

Property Value

string

DigitalSignatureValue

The digital signature value for this support file, if present.

public DigitalSignatureValue? DigitalSignatureValue { get; init; }

Property Value

DigitalSignatureValue

Remarks

S-100 Edition 5.2.1 Part 15 §15-4.2.

DigitalSignatures

All digital signatures declared for this support file, in catalogue order.

public IReadOnlyList<DigitalSignatureValue> DigitalSignatures { get; init; }

Property Value

IReadOnlyList<DigitalSignatureValue>

Remarks

S-100 Edition 5.2.1 Part 15 §15-8.8.

EditionNumber

The support file edition number (editionNumber), or null when absent or not an integer.

public int? EditionNumber { get; init; }

Property Value

int?

ExpectedHash

The declared cryptographic hash for this support file, if the catalogue carries one. Used to integrity-check the file independently of any digital signature.

public CryptographicHash? ExpectedHash { get; init; }

Property Value

CryptographicHash

Remarks

S-100 Edition 5.2.1 Part 15 §15-8.10, Table 15-12.

FileName

The support file name as declared by fileName, kept verbatim; see RelativePath.

public required string FileName { get; init; }

Property Value

string

FilePath

The directory of the support file relative to the exchange set root, as declared by the catalogue's fileLocation element (or, from some producers, a dataset-style filePath, which takes precedence when both are present). May be null.

public string? FilePath { get; init; }

Property Value

string

Remarks

S-100 Edition 5.2.1 Part 17.

IssueDate

The issue date (issueDate), kept verbatim; null when absent.

public string? IssueDate { get; init; }

Property Value

string

RelativePath

The source-relative path of the support file, combining FilePath and FileName and normalizing separators, via ResolveRelativePath(string?, string). This is the path to pass to an IAssetSource.

public string RelativePath { get; }

Property Value

string

ResourcePurpose

The purpose of the support file (resourcePurpose), kept verbatim; null when absent.

public string? ResourcePurpose { get; init; }

Property Value

string

RevisionStatus

The revision status (revisionStatus, e.g. new, replacement, deletion), kept verbatim; null when absent.

public string? RevisionStatus { get; init; }

Property Value

string

SupportFileSpecificationName

The name of the specification the support file conforms to (supportFileSpecification/name), or null when absent.

public string? SupportFileSpecificationName { get; init; }

Property Value

string

SupportedResources

The trimmed text of each supportedResource element — the resources (typically dataset file names) this support file applies to; empty when there are none.

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

Property Value

IReadOnlyList<string>