Ref and IDs some examples

101 views
Skip to first unread message

Xample

unread,
Jan 24, 2012, 5:34:13 PM1/24/12
to json-...@googlegroups.com

According to the draft 03 here is what I understood about specifying an id and referencing it from anywhere. Please comment if something is wrong.

The cases are written in the following : 

a. The uri from where I retrieve the schema

b. the schema got

c. how to refer to this schema


1. A schema without any "id" property

I fetch : http://someSite.com/somePath

I get : { }

I can ref it : {"$ref":"http://someSite.com/somePath#"}


2. Same absolute id and uri path

I fetch : http://someSite.com/somePath

I get : {"id":"http://someSite.com/somePath#"}

I can ref it : {"$ref":"http://someSite.com/somePath#"}


3. Different absolute id and path

I fetch : http://someSite.com/somePath

I get : {"id":"http://anotherSite.com/anotherPath#"}

I can ref it : {"$ref":"http://anotherSite.com/anotherPath#"}


4. Relative - a fragment

I fetch : http://someSite.com/somePath

I get : {"id":"#something"}

I can ref it : {"$ref":"http://someSite.com/somePath#something"}


5. Relative path and fragment

I fetch : http://someSite.com/somePath

I get : {"id":"/oneMore/path#something"}

I can ref it : {"$ref":"http://someSite.com/somePath/oneMore/path#something"}


6. Relative path from file

I fetch : file:///someFolder/someFile

I get : {"id":"/oneMore/path#something"}

I can ref it : {"$ref":"file:///someFolder/someFile/oneMore/path#something"}


7. Inner schema (sub schema) with id "#subschema" (no id for the main schema)

I fetch : http://someSite.com/somePath

I get : {"properties" : { "aKeyName" : { "id":"#subschema" }}}

I can ref it : {"$ref":"http://someSite.com/somePath#subschema"}


8. Inner schema (sub schema) with id "#subschema

I fetch : http://someSite.com/somePath

I get : { {"id":"#mainSchema"}, "properties" : { "aKeyName" : { "id":"#subschema" }} }

I can ref it : {"$ref":"http://someSite.com/somePath#subschema"}

I can also do: {"$ref":"http://someSite.com/somePath#mainSchema/properties/aKeyName"}


9. Inner schema (within the property under the "aKeyName") but no id at all 

I fetch : http://someSite.com/somePath

I get : { "properties" : { "aKeyName" : { }} }

can ref it: {"$ref":"http://someSite.com/somePath#/properties/aKeyName"}


10. Inner schema (sub schema) with a main custom absolute uri" 

I fetch : http://someSite.com/somePath

I get : { {"id":"scheme://something"}, "properties" : { "aKeyName" : { "id":"#subschema" }} }

I can ref it : {"$ref":"scheme://something#subschema"}

I can also do: {"$ref":"scheme://something#/properties/aKeyName"}


11. Inner schema  with it's own absolute uri" 

I fetch : http://someSite.com/somePath

I get : { {"id":"#main"}, "properties" : { "aKeyName" : { "id":"http://domain.com/subSchema" }} }

I can ref it : {"$ref":"http://domain.com/subSchema#"}

Reply all
Reply to author
Forward
0 new messages