IS4.SFI
1.3.2
Prefix Reserved
dotnet add package IS4.SFI --version 1.3.2
NuGet\Install-Package IS4.SFI -Version 1.3.2
<PackageReference Include="IS4.SFI" Version="1.3.2" />
paket add IS4.SFI --version 1.3.2
#r "nuget: IS4.SFI, 1.3.2"
// Install IS4.SFI as a Cake Addin #addin nuget:?package=IS4.SFI&version=1.3.2 // Install IS4.SFI as a Cake Tool #tool nuget:?package=IS4.SFI&version=1.3.2
Semantic File Inspector Base Library
This is the core library of the Semantic File Inspector, defining the common interfaces used in the other projects, as well as core analyzers and formats whose implementation does not depend on any external libraries outside of .NET.
It defines types from these namespaces:
IS4.SFI
This namespace contains various utility classes such as DataTools
,
TextTools
, and UriTools
, as well as classes containing extension methods
intended to be used from all other components.
IS4.SFI.Analyzers
This namespace is intended to store all analyzers, in this project or others.
In the core project, the only defined analyzers are for objects whose
types are defined in .NET and are critical to the proper functioning of the
software, such as FileAnalyzer
, DataAnalyzer
, etc.
IS4.SFI.Formats
This namespace is similar to the previous one but stores classes used for defining and parsing formats. It contains common interfaces and related components, while concrete formats are defined in their respective projects.
IS4.SFI.Services
This namespace contains specialized interfaces to be used for communication
between formats and analyzers or other components in the solution, such as
IFileNodeInfo
, IFormatObject
, ILinkedNode
, IEncodingDetector
, and
similar, as well as their base implementations.
IS4.SFI.Tags
Tags, in this context, are usually small objects intended to be applied to existing objects via other means, providing extended description of them beyond what their original classes support.
In this project, the tags that are defined are IImageTag
and
IImageResourceTag
, usually applied to images via the Image.Tag
property,
providing information about the origin of the image or the allowed operations.
IS4.SFI.Tools
This namespace hosts various specialized utility classes for general use and
for I/O and XML operations. It also exposes the collection of built-in
hash algorithms using the BuiltInHash
class, or the EncodedUri
, which
should be used instead of the base Uri
class in all situations to control its
formatting.
IS4.SFI.Vocabulary
This namespace provides datatypes used for defining RDF vocabularies, such as
ClassUri
, PropertyUri
, or LanguageCode
, as well as storing the common
vocabulary terms in the static classes Individuals
, Classes
, Properties
,
and Datatypes
, to be used from code easily.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.Bcl.AsyncInterfaces (>= 7.0.0)
- Microsoft.Bcl.HashCode (>= 1.1.1)
- Microsoft.CSharp (>= 4.7.0)
- Microsoft.Extensions.Logging (>= 7.0.0)
- Microsoft.Extensions.Primitives (>= 7.0.0)
- MorseCode.ITask (>= 2.0.3)
- System.Collections.Immutable (>= 7.0.0)
- System.Memory (>= 4.5.5)
- System.Threading.Channels (>= 7.0.0)
NuGet packages (30)
Showing the top 5 NuGet packages that depend on IS4.SFI:
Package | Downloads |
---|---|
IS4.SFI.Formats.XML
Provides support for the XML format and sub-formats. |
|
IS4.SFI.Formats.Images
Provides support for various image formats. |
|
IS4.SFI.Formats.Modules
Provides support for various MZ-based modules. |
|
IS4.SFI.RDF
Provides RDF support for Semantic File Inspector-based applications. |
|
IS4.SFI.Formats.Office
Provides support for various office formats. |
GitHub repositories
This package is not used by any popular GitHub repositories.
1.3.2
-----
- `DataTools.GetStringKey` works for empty spans.
1.3.1
-----
- Added `IUniversalUriFormatter` for formatting nodes of any kind.
- Added the `xyz` namespace.
- Fixed stated dynamic dependencies in code.
- `FormatMemberId` attempts to format partially resolved members too.
1.3
-----
- Hash algorithms can now be configured to reject particular sources of input.
- Added `DeviceFileInfo` to support custom input sources.
- Added `IImage` as a common interface for images.
- Added `Namespace` to represent namespaces in code as an abstraction.
- `FileAnalyer` does not add `nfo:FileDataObject` to instances of `IDriveInfo`.
- A few more URI formatters and formatting options (UUIDs, QNames, CLR members, DocId-like).
- Non-critical exceptions resulting from analysis are analyzed and described, using the XPath Errors vocabulary.
- `TrySet` has a new `object?`-taking overload that accepts other reference types supported by `ILinkedNode`.
- (`Try`)`SetMembers` extension method for container membership properties.
- Reading from `XmlReaderState` now simply returns false instead of exception.
- An instance of `IEntityAnalyzer` is provided as a service to formats and analyzers.
- `DatatypeUri` can be converted back and forth from XML Schema datatypes.
- `PropertyUri` can be inverted, swapping subject and object when used.
- Faster term comparisons (but require vocabularies to match exactly).
1.2.1
-----
- Fixes to valuetype logging in `EntityAnalyzerProvider`.
- Fixed `SortedMultiTree.Remove` not removing the item properly.
1.2
-----
- Fixed `data:` URI escaping.
- Changed the way analyers are stored in the `EntityAnalyzerProvider`, to resolve issues with more complex hierarchies of derived analyzers.
- Added `SortedMultiTree` to implement this change, which maintains a tree-like collection of objects reachable using ordered keys.
- Added `SortedMultiSet` where values are compared using `IComparer` for order but using `IEqualityComparer` for equality, allowing muliple values with the same order key.
- Removed `GlobalObjectComparer` and `TypeInheritanceComparer`, as they were obsoleted by the methods above and no longer used.
- All non-critical formats and analyzers (XML, X.509, etc.) moved to their separate projects.
- All vocabulary items from XIS were added and prefixed with `Xml` in code to distinguish from items with similar names.