I’m not really aware with shapes, and if i made some mistake, please let me know, but I made a little try for parsing shex shapes & rendering forms https://scenaristeur.github.io/spoggy-simple/testform.html
using .shex shapes stored here
https://holacratie.solid.community/public/Schema/
For example role.shex
PREFIX : <>
PREFIX schema: <http://schema.org/>
PREFIX xsd: <http://www.w3.org/2001/XMLSchema#>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX hola: <https://holacratie.solid.community/public/Schema/>
start = @<RoleShape>
<RoleShape> { # An Role has:
schema:name xsd:string ;
schema:dateCreated xsd:date? ;
schema:creator hola:Circle;
hola:subClassOf hola:Circle;
hola:controls hola:Domain*;
hola:policy hola:Policy;
hola:specialRule hola:SpecialRule;
hola:roleLead hola:User;
hola:assignedTo hola:User*;
}
gives me
It looks like quite easy, to replace an “xsd:date” with a datepicker
- source spoggy-simple/testform.html at master · scenaristeur/spoggy-simple · GitHub
- using spoggy-simple/import-export.js at 7e20e40f3813b7073053db9b565a6a950c385d54 · scenaristeur/spoggy-simple · GitHub
i aim to preload all dependend forms and with attribute diplay=“none”, not the only “start” as shape can have intern shape or imported shape like https://holacratie.solid.community/public/Schema/issue.shex manage Issue, User, Employee
Now I have to manage choices, sets,…
but it’s a little bit hard to parse, if someone has another idea,
with regex ?, extracting in json…?
let me know.
thxs