@@ -233,7 +233,7 @@ def __init__(self,
233
233
self .url_fields = set () # type: Set[unicode]
234
234
self .scoped_ref_fields = {} # type: Dict[unicode, int]
235
235
self .vocab_fields = set () # type: Set[unicode]
236
- self .identifiers = set () # type: Set [unicode]
236
+ self .identifiers = [] # type: List [unicode]
237
237
self .identity_links = set () # type: Set[unicode]
238
238
self .standalone = None # type: Optional[Set[unicode]]
239
239
self .nolinkcheck = set () # type: Set[unicode]
@@ -345,7 +345,7 @@ def add_context(self, newcontext, baseuri=""):
345
345
self .url_fields = set (("$schemas" ,))
346
346
self .scoped_ref_fields = {}
347
347
self .vocab_fields = set ()
348
- self .identifiers = set ()
348
+ self .identifiers = []
349
349
self .identity_links = set ()
350
350
self .standalone = set ()
351
351
self .nolinkcheck = set ()
@@ -361,7 +361,7 @@ def add_context(self, newcontext, baseuri=""):
361
361
362
362
for key , value in self .ctx .items ():
363
363
if value == u"@id" :
364
- self .identifiers .add (key )
364
+ self .identifiers .append (key )
365
365
self .identity_links .add (key )
366
366
elif isinstance (value , dict ) and value .get (u"@type" ) == u"@id" :
367
367
self .url_fields .add (key )
@@ -393,6 +393,8 @@ def add_context(self, newcontext, baseuri=""):
393
393
for k , v in self .vocab .items ():
394
394
self .rvocab [self .expand_url (v , u"" , scoped_id = False )] = k
395
395
396
+ self .identifiers .sort ()
397
+
396
398
_logger .debug ("identifiers is %s" , self .identifiers )
397
399
_logger .debug ("identity_links is %s" , self .identity_links )
398
400
_logger .debug ("url_fields is %s" , self .url_fields )
@@ -949,6 +951,7 @@ def validate_links(self, document, base_url, all_doc_ids):
949
951
"%s object %s `%s` previously defined" % (all_doc_ids [document [identifier ]], identifier , relname (document [identifier ]), ))
950
952
else :
951
953
all_doc_ids [document [identifier ]] = sl .makeLead ()
954
+ break
952
955
except validate .ValidationException as v :
953
956
errors .append (sl .makeError (unicode (v )))
954
957
if hasattr (document , "iteritems" ):
0 commit comments