You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
generating other schema formats from JSON Schema -- for instance Avro.
The proposed code is build around three classes:
PointerCollector: its implementations are dependent upon the schema version being used; an implementation collects relative pointers to be used by a
SchemaWalker: dispatches subschema collections to PointerCollector instances, and when appropriate, calls upon a
SchemaListener: hooks into a SchemaWalker at several points; these points are: walker initialization and exit, pushd/popd, walk of current node, schema tree substitution.
Integrating this into the core has required that ALL of syntax validation be moved in there as well -- but then I wanted to do this as well --, but also all the loading mechanism -- which I wanted to do as well.
Right now:
the SimpleSchemaWalker, which does not resolve references, works OK;
the RecursiveSchemaWalker works only in a limited subset of cases.
Immediate goal: make RecursiveSchemaWalker handle loops. RefResolver already does, but here it is more complicated than that: the latter doesn't need to be stateful, the former needs to be.
The text was updated successfully, but these errors were encountered:
Enhancement to the core library, primarily motivated by two things:
The proposed code is build around three classes:
PointerCollector
: its implementations are dependent upon the schema version being used; an implementation collects relative pointers to be used by aSchemaWalker
: dispatches subschema collections toPointerCollector
instances, and when appropriate, calls upon aSchemaListener
: hooks into aSchemaWalker
at several points; these points are: walker initialization and exit, pushd/popd, walk of current node, schema tree substitution.Integrating this into the core has required that ALL of syntax validation be moved in there as well -- but then I wanted to do this as well --, but also all the loading mechanism -- which I wanted to do as well.
Right now:
SimpleSchemaWalker
, which does not resolve references, works OK;RecursiveSchemaWalker
works only in a limited subset of cases.Immediate goal: make
RecursiveSchemaWalker
handle loops.RefResolver
already does, but here it is more complicated than that: the latter doesn't need to be stateful, the former needs to be.The text was updated successfully, but these errors were encountered: