Coder Social home page Coder Social logo

Comments (3)

fge avatar fge commented on June 24, 2024

Hello,

First, thank you for the appreciative comments!

There is a hack in the code, in JsonRef, so as to deal specifically with jar URIs, so it seems it is not plugged where you expect. Hmm. I'll have to devise a test.

I have two questions:

  1. how do you define an opaque URI? I have always had trouble with that;
  2. is your jar in the classpath? If yes, can't you use:
// Note the final /
new JsonSchemaFactory.Builder().setNamespace("resource:/base/path/to/schemas/")

?

from json-schema-validator.

bpfoster avatar bpfoster commented on June 24, 2024

Aha! - I knew I had to be missing something stupid simple. Yes, using a resource:/path/to/schemas/ namespace works perfectly for this! Thank you!

I will admit that the idea of an opaque URI was new to me when starting this, so I have to rely on the Javadoc:

An opaque URI is an absolute URI whose scheme-specific part does not begin with a slash character ('/')

vs a hierarchical:

A hierarchical URI is either an absolute URI whose scheme-specific part begins with a slash character, or a relative URI, that is, a URI that does not specify a scheme

So in this case we have 2 URIs: jar:file:/path/to/jarfile!/path/inside/jar/ , and resource:/path/inside/jar/. Based on the documentation, I take it to mean the scheme in the first is jar: and the second is resource:. The next character (beginning the 'scheme-specific part'), respectively, is f and /, thus making the first opaque and the second hierarchical.

Thank you so much for the quick pointer!

from json-schema-validator.

fge avatar fge commented on June 24, 2024

Glad to know it worked!

However, I still think there is a bug. You can, indeed, do:

final JsonSchema schema = factory.fromURI("jar:file:/foo/bar.jar!/path/to/schema");

and, in this case, $ref will also work. Setting a "jar" namespace and loading a schema, however, will not.

I have to think abouti it some more.

from json-schema-validator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.