PathfinderDb.Schema 2.0.1

There is a newer version of this package available.
See the version list below for details.
dotnet add package PathfinderDb.Schema --version 2.0.1
                    
NuGet\Install-Package PathfinderDb.Schema -Version 2.0.1
                    
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="PathfinderDb.Schema" Version="2.0.1" />
                    
For projects that support PackageReference, copy this XML node into the project file to reference the package.
<PackageVersion Include="PathfinderDb.Schema" Version="2.0.1" />
                    
Directory.Packages.props
<PackageReference Include="PathfinderDb.Schema" />
                    
Project file
For projects that support Central Package Management (CPM), copy this XML node into the solution Directory.Packages.props file to version the package.
paket add PathfinderDb.Schema --version 2.0.1
                    
#r "nuget: PathfinderDb.Schema, 2.0.1"
                    
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
#:package PathfinderDb.Schema@2.0.1
                    
#:package directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.
#addin nuget:?package=PathfinderDb.Schema&version=2.0.1
                    
Install as a Cake Addin
#tool nuget:?package=PathfinderDb.Schema&version=2.0.1
                    
Install as a Cake Tool

PathfinderDb.Schema

PathfinderDb.Schema contient le modèle de données partagé par les exports Pathfinder-fr et leurs consommateurs. Il définit les objets sérialisés en XML et JSON pour les sorts, dons, monstres, sources, références, localisations et autres éléments du modèle Pathfinder Database.

Le dépôt est volontairement indépendant de pf1-tools. Le parser consomme cette librairie comme un package NuGet et produit des fichiers conformes au schéma défini ici. Le dépôt historique WikiExportParser-Decompile contient une copie de référence du code et des sorties produites en 2019, mais ce dépôt est désormais la base de travail pour les prochaines versions.

La version 2.0.0-preview.1 est publiée sur NuGet.org. La GitHub Release correspondante est générée par GitHub Actions via Trusted Publishing OIDC.

Contenu du dépôt

src/PathfinderDb.Schema/         Modèle C# et attributs de sérialisation
tests/PathfinderDb.Schema.Tests/ Tests et fixtures de compatibilité
xml/                              Schémas XSD et exemples XML
docs/                             Documentation du projet
docs/reference/                   Références historiques du modèle
build/                            Scripts de validation et outils de build

Les fichiers XSD de xml/ décrivent le contrat XML public. Les exemples associés servent de fixtures de compatibilité et doivent rester valides après chaque évolution du modèle.

Contrat de données actuel

Le modèle principal est DataSet, qui peut contenir :

  • les sources éditoriales ;
  • les sorts et leurs niveaux par liste de classe ;
  • les dons et leurs prérequis ;
  • les monstres ;
  • les en-têtes et informations de langue.

Les éléments partagent la gestion des sources, références et localisations via Element. Le format XML utilise actuellement le namespace urn:pathfinderDb.

Les sorties historiques de référence sont disponibles dans le dépôt frère :

D:\code\perso\pf\WikiExportParser-Decompile\Out

Elles comprennent des datasets agrégés et des datasets séparés par source, en XML, JSON et CSV. La compatibilité avec l'ancien format est utile pour comparer les résultats, mais il n'existe qu'un seul utilisateur de cette librairie : les évolutions cassantes sont donc acceptables lorsqu'elles simplifient suffisamment le modèle ou la publication.

Utilisation dans le pipeline Pathfinder-fr

Le dépôt pf1-tools référence actuellement le package NuGet PathfinderDb.Schema. Le parser wiki-export-parser utilise les types de cette librairie pour construire les datasets puis les sérialiser vers pf1-data.

Après publication d'une nouvelle version :

  1. publier le package NuGet depuis ce dépôt ;
  2. mettre à jour la version centralisée dans pf1-tools/Directory.Packages.props ;
  3. reconstruire wiki-export-parser ;
  4. comparer les sorties XML/JSON avec les fixtures et les exports historiques ;
  5. relancer le diagnostic du corpus complet avant toute évolution du site ou des données publiées.

Direction technique

La prochaine version doit privilégier un projet SDK moderne et un pipeline dotnet restore, dotnet build, dotnet test et dotnet pack. Le vieux profil .NET Portable, le projet MSBuild personnalisé et le nuget.exe embarqué ne sont pas des contraintes à préserver.

Développement et package

dotnet restore .\PathfinderDb.Schema.sln
dotnet build .\PathfinderDb.Schema.sln -c Release --no-restore
dotnet test .\PathfinderDb.Schema.sln -c Release --no-build
dotnet pack .\src\PathfinderDb.Schema\PathfinderDb.Schema.csproj `
  -c Release --no-build -o .\artifacts `
  -p:PackageVersion=2.0.0-preview.1
pwsh .\build\Validate-Package.ps1 `
  -PackagePath .\artifacts\PathfinderDb.Schema.2.0.0-preview.1.nupkg

Les artefacts générés sont limités à .\artifacts\ à la racine du projet. Le dossier build/ contient uniquement les scripts et outils de construction. Le package inclut le README, la licence, l'icône, les schémas XSD et les exemples XML ainsi que le changelog de migration. La publication NuGet sera effectuée par GitHub Actions à partir d'un tag SemVer, après validation de cette même séquence. Elle utilise Trusted Publishing avec OIDC et ne stocke pas de clé API NuGet persistante.

La version cible pourra modifier le contrat de manière cassante si cela permet :

  • de supprimer les artefacts et outils obsolètes ;
  • de simplifier le ciblage framework ;
  • de rendre la publication reproductible ;
  • de mieux représenter les listes de sorts modernes ;
  • de rendre les tests de sérialisation fiables ;
  • de documenter explicitement la version du schéma.

Voir TODO.md pour la feuille de route de cette migration. Voir docs/trusted-publishing.md pour configurer la policy NuGet.org et l'environnement GitHub de publication.

Product 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. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
  • .NETStandard 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
2.1.0 93 9/19/2026
2.0.3 87 9/19/2026
2.0.2 86 9/19/2026
2.0.1 83 9/19/2026
2.0.0 85 9/19/2026
2.0.0-preview.1 56 9/17/2026
1.0.3 1,637 11/20/2016
1.0.2 1,419 11/17/2016
1.0.1 2,514 11/23/2015