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
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
DigitalSignatureAlgorithm
The parsed digital signature algorithm, derived from DigitalSignatureReference.
public DigitalSignatureAlgorithm DigitalSignatureAlgorithm { get; init; }
Property Value
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
DigitalSignatureValue
The digital signature value for this support file, if present.
public DigitalSignatureValue? DigitalSignatureValue { get; init; }
Property Value
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
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
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
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
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
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
ResourcePurpose
The purpose of the support file (resourcePurpose), kept verbatim;
null when absent.
public string? ResourcePurpose { get; init; }
Property Value
RevisionStatus
The revision status (revisionStatus, e.g. new,
replacement, deletion), kept verbatim; null
when absent.
public string? RevisionStatus { get; init; }
Property Value
SupportFileSpecificationName
The name of the specification the support file conforms to
(supportFileSpecification/name), or null when absent.
public string? SupportFileSpecificationName { get; init; }
Property Value
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; }