- From: Timothy Cole <t-cole3@illinois.edu>
- Date: Wed, 8 Jun 2016 14:50:55 -0500
- To: "'Discussions about Test Development'" <testdev@lists.spec-ops.io>
- CC: "'W3C Public Annotation List'" <public-annotation@w3.org>
- Message-ID: <00cc01d1c1bf$15a56450$40f02cf0$@illinois.edu>
Yes. I actually had created the definitions folder before I realized relative addressing wasn't working. I'm in the process of creating some better examples of re-useable definitions – the samples I included in my email are out of date and will be replaced.
Thanks,
Tim Cole
From: Testdev [mailto:testdev-bounces@lists.spec-ops.io] On Behalf Of Benjamin Young
Sent: Wednesday, June 08, 2016 2:26 PM
To: Discussions about Test Development <testdev@lists.spec-ops.io>
Cc: W3C Public Annotation List <public-annotation@w3.org>
Subject: Re: [Testdev] [model-test] referencing external schema
Hey Tim,
Sorry for the wait. Shane and I just chatted about this $ref thing and I think we can make it work in WPT. It’s mostly a question of what the relative path expectations of `ajv` tucked inside of WPT might be.
It looks like we may also be able to hack around the defaults (if need be) using wptserve’s Pipes system:
<https://urldefense.proofpoint.com/v2/url?u=https-3A__wptserve.readthedocs.io_en_latest_pipes.html&d=CwMGaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=CKlycpO63cn6OBnNNc-wEYw8fUsLLS2T3j_BvQUxqM4&s=yKFYr73mCj5fVvAFd-pW7tFFDalI4fVfaycO-20g66Q&e=> https://wptserve.readthedocs.io/en/latest/pipes.html
What we’re thinking right now is taking the JSON objects you now have in the `definitions` object (which you pasted below) and putting those inside of a `definitions` folder and then working through the relative path details with WPT.
Would that serve as a solution for what you’re attempting here?
Cheers!
Benjamin
From: Testdev [mailto:testdev-bounces@lists.spec-ops.io] On Behalf Of Shane McCarron
Sent: Wednesday, June 8, 2016 10:46 AM
To: Discussions about Test Development <testdev@lists.spec-ops.io <mailto:testdev@lists.spec-ops.io> >
Cc: W3C Public Annotation List <public-annotation@w3.org <mailto:public-annotation@w3.org> >
Subject: Re: [Testdev] [model-test] referencing external schema
Did you get any traction on this Tim?
On Thu, Jun 2, 2016 at 10:19 AM, Timothy Cole <t-cole3@illinois.edu <mailto:t-cole3@illinois.edu> > wrote:
We are currently developing json schemas to help test for implementations of SpecificResource features of the data model. I've uploaded 4 of the schemas currently being developed to https://github.com/w3c/web-annotation-tests/tree/master/SpecificResource <https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_w3c_web-2Dannotation-2Dtests_tree_master_SpecificResource&d=CwMGaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=CKlycpO63cn6OBnNNc-wEYw8fUsLLS2T3j_BvQUxqM4&s=V_xozOO0wxNGrG964fbg7j8vJDgiNPr-Zf3a3z7cUss&e=> (these are first drafts, not quite ready, still being debugged and refined). All 4 schemas share a definitions section containing 2 sub-schemas (appended below). These are easy to reference internally where needed, but it would be even more convenient to reference them as external schemas. This should be possible using $ref, but I've had difficulties getting this approach to work with my local ajv instance, especially with regard to relative file locations.
Is anyone familiar enough with how $ref works within the Web Platform Testing framework's implementation of ajv to advise?
Below is the current way the sub-schemas are embedded in each primary schema. Obviously this works, but it means repeating the same sub-schemas in multiple files, which is obviously less efficient than if these sub-schemas could be referenced as individual files.
Thanks,
Tim Cole
{
"definitions": {
"SpecificResource": {
"type": "object",
"properties": {
"selector": {},
"state": {},
"styleClass": {},
"renderedVia": {},
"scope": {},
"purpose": {}
},
"anyOf": [
{"required": ["selector"]},
{"required": ["state"]},
{"required": ["styleClass"]},
{"required": ["renderedVia"]},
{"required": ["scope"]},
{
"required": ["purpose"],
"not": {"required": ["value"]}
}
]
},
"SpecificResType" : {
"type": "object",
"properties": {
"type": {
"oneOf": [
{"type": "string",
"enum": ["SpecificResource"]},
{"type": "array",
"items": [{ "type": "string",
"enum": ["SpecificResource"] }]
} ]
}
},
"required": ["type"]
}
}
}
_______________________________________________
Testdev mailing list
Testdev@lists.spec-ops.io <mailto:Testdev@lists.spec-ops.io>
http://lists.spec-ops.io/listinfo.cgi/testdev-spec-ops.io <https://urldefense.proofpoint.com/v2/url?u=http-3A__lists.spec-2Dops.io_listinfo.cgi_testdev-2Dspec-2Dops.io&d=CwMGaQ&c=8hUWFZcy2Z-Za5rBPlktOQ&r=zjI0r-H6xRs5fYf2_jJkju6US9ijk0nLw4ns2nuwU2k&m=CKlycpO63cn6OBnNNc-wEYw8fUsLLS2T3j_BvQUxqM4&s=AKojwtr16bHcWXtHtf8ZR9e_-lTF7Oan-BiiKomym3I&e=>
--
Shane McCarron
Projects Manager, Spec-Ops
Received on Wednesday, 8 June 2016 19:51:32 UTC