TALXIS.Platform.Metadata.Validation
0.3.0
Prefix Reserved
See the version list below for details.
dotnet add package TALXIS.Platform.Metadata.Validation --version 0.3.0
NuGet\Install-Package TALXIS.Platform.Metadata.Validation -Version 0.3.0
<PackageReference Include="TALXIS.Platform.Metadata.Validation" Version="0.3.0" />
<PackageVersion Include="TALXIS.Platform.Metadata.Validation" Version="0.3.0" />
<PackageReference Include="TALXIS.Platform.Metadata.Validation" />
paket add TALXIS.Platform.Metadata.Validation --version 0.3.0
#r "nuget: TALXIS.Platform.Metadata.Validation, 0.3.0"
#:package TALXIS.Platform.Metadata.Validation@0.3.0
#addin nuget:?package=TALXIS.Platform.Metadata.Validation&version=0.3.0
#tool nuget:?package=TALXIS.Platform.Metadata.Validation&version=0.3.0
TALXIS Platform Metadata
An open-source metadata model for model-driven platforms. Provides typed C# representations of entities, attributes, forms, views, option sets, solutions, and solution layers - compatible with Dataverse and Power Platform.
What this is
A shared kernel that defines what platform components are and how they behave. It doesn't store data, execute plugins, or run workflows - it's the type system that all of those depend on.
Who uses it
| Consumer | How |
|---|---|
| TALXIS CLI | Workspace validation, component scaffolding, language server |
| TALXIS Build SDK | Build-time schema validation, version stamping |
| TALXIS Templates | Post-action scripts for safe workspace manipulation |
| Future: runtime services | Metadata management, solution import/export, query planning |
Capabilities
Metadata Model (TALXIS.Platform.Metadata)
Typed representations of platform component metadata:
- Entity - table definitions with ownership, activity type, audit settings
- Attribute - column definitions with types, constraints, option sets
- Relationship - 1:N, N:1, N:N with cascade behavior
- OptionSet - global and local choice definitions with localized labels
- Form - form XML structure (tabs, sections, controls)
- View - saved queries with FetchXML and layout
- Security Role - privilege definitions
- Plugin/Workflow - registration metadata
Solution Model (TALXIS.Platform.Metadata.Solutions)
- Solution - component registry, publisher, version
- Component definitions - per-type behavior (mergeable, overwritable, dependency rules)
- Layers - managed/unmanaged stacking, active layer resolution, merge behavior
Serialization (TALXIS.Platform.Metadata.Serialization)
- SolutionPackager format - bidirectional XML ↔ model mapping
- Roundtrip fidelity - Load → Save with no changes = zero git diff
- Minimal writes - only modified files are written
- Unknown element preservation - forward compatibility
Validation (TALXIS.Platform.Metadata.Validation)
- XSD schema validation - 23 component schemas
- Structural rules - duplicate GUIDs, missing references, naming conventions
- Constraint checking - attribute limits, option set value ranges
Design Principles
- Roundtrip safe - the model preserves everything it reads, even elements it doesn't understand
- Layered - components know about solution layers, not just the active (merged) state
- Validating - constraints are enforced in-memory, not just at serialization time
- No runtime dependencies - pure model library, no Dataverse SDK, no HTTP, no SQL
- netstandard2.0 - maximum compatibility (MSBuild tasks, scripts, CLI, runtime services)
Status
🚧 Design phase - see docs/ for architecture documents and roadmap.
Contributing
See CONTRIBUTING.md for development setup and guidelines.
License
| 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. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.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
- Newtonsoft.Json (>= 13.0.4)
- Newtonsoft.Json.Schema (>= 4.0.1)
- TALXIS.Platform.Metadata (>= 0.3.0)
- TALXIS.Platform.Metadata.Serialization.Xml (>= 0.3.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.