Yes, thanks. My validator is now sort-or working, but for hackers only. I’ll do a wrapper round it which makes it usable to other people shortly. It’s currently picking up 253 faults in the test documents suite (205 documents), as follows:
dog-and-duck.scratch.core=> (pprint (distribution :severity r))
{:should 204, :must 47, nil 2}
nil
dog-and-duck.scratch.core=> (pprint (distribution :fault r))
{nil 2,
:paged-collection-invalid-first 1,
:invalid-to 1,
:invalid-name 2,
:invalid-target 1,
:invalid-next-page 1,
:paged-collection-invalid-current 1,
:invalid-icon 1,
:invalid-actor 1,
:invalid-url-property 2,
:invalid-prior-page 1,
:invalid-attribution 2,
:invalid-attachment 1,
:invalid-longitude 1,
:invalid-tag 2,
:paged-collection-invalid-last 1,
:invalid-type 4,
:no-actor 6,
:invalid-audience 2,
:invalid-image 4,
:no-context 204,
:invalid-direct-object 1,
:invalid-latitude 1,
:missing-part-of 5,
:invalid-option 5}
Some of these are undoubtedly down to my misreading of the spec, but I think this is now shaping up to become a useful tool.