![]() |
VOOZH | about |
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" />
<PackageVersion Include="IS4.SFI" Version="1.3.2" />Directory.Packages.props
<PackageReference Include="IS4.SFI" />Project file
paket add IS4.SFI --version 1.3.2
#r "nuget: IS4.SFI, 1.3.2"
#:package IS4.SFI@1.3.2
#addin nuget:?package=IS4.SFI&version=1.3.2Install as a Cake Addin
#tool nuget:?package=IS4.SFI&version=1.3.2Install as a Cake Tool
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.SFIThis 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.AnalyzersThis 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.FormatsThis 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.ServicesThis 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.TagsTags, 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.ToolsThis 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.VocabularyThis 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 net5.0 was computed. net5.0-windows net5.0-windows was computed. net6.0 net6.0 was computed. net6.0-android net6.0-android was computed. net6.0-ios net6.0-ios was computed. net6.0-maccatalyst net6.0-maccatalyst was computed. net6.0-macos net6.0-macos was computed. net6.0-tvos net6.0-tvos was computed. net6.0-windows net6.0-windows was computed. net7.0 net7.0 was computed. net7.0-android net7.0-android was computed. net7.0-ios net7.0-ios was computed. net7.0-maccatalyst net7.0-maccatalyst was computed. net7.0-macos net7.0-macos was computed. net7.0-tvos net7.0-tvos was computed. net7.0-windows net7.0-windows was computed. net8.0 net8.0 was computed. net8.0-android net8.0-android was computed. net8.0-browser net8.0-browser was computed. net8.0-ios net8.0-ios was computed. net8.0-maccatalyst net8.0-maccatalyst was computed. net8.0-macos net8.0-macos was computed. net8.0-tvos net8.0-tvos was computed. net8.0-windows net8.0-windows was computed. net9.0 net9.0 was computed. net9.0-android net9.0-android was computed. net9.0-browser net9.0-browser was computed. net9.0-ios net9.0-ios was computed. net9.0-maccatalyst net9.0-maccatalyst was computed. net9.0-macos net9.0-macos was computed. net9.0-tvos net9.0-tvos was computed. net9.0-windows net9.0-windows was computed. net10.0 net10.0 was computed. net10.0-android net10.0-android was computed. net10.0-browser net10.0-browser was computed. net10.0-ios net10.0-ios was computed. net10.0-maccatalyst net10.0-maccatalyst was computed. net10.0-macos net10.0-macos was computed. net10.0-tvos net10.0-tvos was computed. net10.0-windows net10.0-windows was computed. |
| .NET Core | netcoreapp2.0 netcoreapp2.0 was computed. netcoreapp2.1 netcoreapp2.1 was computed. netcoreapp2.2 netcoreapp2.2 was computed. netcoreapp3.0 netcoreapp3.0 was computed. netcoreapp3.1 netcoreapp3.1 was computed. |
| .NET Standard | netstandard2.0 netstandard2.0 is compatible. netstandard2.1 netstandard2.1 was computed. |
| .NET Framework | net461 net461 was computed. net462 net462 was computed. net463 net463 was computed. net47 net47 was computed. net471 net471 was computed. net472 net472 was computed. net48 net48 was computed. net481 net481 was computed. |
| MonoAndroid | monoandroid monoandroid was computed. |
| MonoMac | monomac monomac was computed. |
| MonoTouch | monotouch monotouch was computed. |
| Tizen | tizen40 tizen40 was computed. tizen60 tizen60 was computed. |
| Xamarin.iOS | xamarinios xamarinios was computed. |
| Xamarin.Mac | xamarinmac xamarinmac was computed. |
| Xamarin.TVOS | xamarintvos xamarintvos was computed. |
| Xamarin.WatchOS | xamarinwatchos xamarinwatchos was computed. |
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.RDF
Provides RDF support for Semantic File Inspector-based applications. |
|
|
IS4.SFI.Formats.Modules
Provides support for various MZ-based modules. |
|
|
IS4.SFI.Formats.Office
Provides support for various office formats. |
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.