Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

XML schema support? #31

Open
avillar opened this issue Feb 12, 2024 · 0 comments
Open

XML schema support? #31

avillar opened this issue Feb 12, 2024 · 0 comments
Assignees
Labels
enhancement New feature or request mvp Minimal Feature for MVP

Comments

@avillar
Copy link
Collaborator

avillar commented Feb 12, 2024

There is a need to support XML schemas in a similar manner to JSON ones. Some ideas for discussion:

  • Most likely XML Schema, in the form of XSD files, would be the schema format.
    • By default, schema.xsd would be detected (like schema.yaml or schema.json).
    • Should we re-use the schema keyword in bblock.json or define a new one (e.g., xmlSchema)? Reusing would mean implementing some kind of autodetection (trial-and-error?) mechanism to tell XML and YAML/JSON files apart (e.g., when the URL does not have an extension).
    • schemaLocations in xs:imports could use bblocks:// URIs.
    • What would dependency detection look like?
      • <xs:import schemaLocation="...">
      • What else?
  • XSLT could be used for XML to RDF transforms.
    • Would it be even possible to make it work the same way as JSON-LD contexts (i.e., with some kind of nesting)?
    • I think XML schema annotation (like we do in JSON schemas) wouldn't make sense.
    • XSLT > 1 support is not great outside of Java. There are a few projects that wrap the Saxon/C library from Saxonica, but only the FOSS version (which may be enough, though).

Related links:

CC @rob-metalinkage @pzaborowski

@avillar avillar added enhancement New feature or request mvp Minimal Feature for MVP labels Feb 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request mvp Minimal Feature for MVP
Projects
None yet
Development

No branches or pull requests

2 participants