lemminx icon indicating copy to clipboard operation
lemminx copied to clipboard

RelaxNG generator from XML

Open angelozerr opened this issue 5 years ago • 2 comments

Implement RelaxNG et RelaxNG compact from XML like we have for XSD, DTD.

@BalduinLandolt are you interested with this issue? I think it should be better that I work on https://github.com/eclipse/lemminx/issues/828

If you are interested, please tell me an dI will give you more direction.

angelozerr avatar Aug 11 '20 13:08 angelozerr

It depends a bit on how quickly this needs doing: I'd like to work on it, but I currently don't have all too much time for "extra projects", so it might take me a while.
Plus, I'll definitely need some directions.

But please, elaborate! I'll see what I can do.

BalduinLandolt avatar Aug 11 '20 14:08 BalduinLandolt

This issue is to do:

  • create XML2RelaxNGGenerator class like https://github.com/eclipse/lemminx/blob/master/org.eclipse.lemminx/src/main/java/org/eclipse/lemminx/extensions/generators/xml2xsd/XML2XMLSchemaGenerator.java to generate relaxng (for compact we will see that in an another issue).

  • write tests like https://github.com/eclipse/lemminx/blob/master/org.eclipse.lemminx/src/test/java/org/eclipse/lemminx/extensions/generators/xml2xsd/XML2XMLSchemaGeneratorTest.java

  • call your generator with code action like https://github.com/eclipse/lemminx/blob/7416ae2c422d0bf6e06331babe48d2bc5d8d2db7/org.eclipse.lemminx/src/main/java/org/eclipse/lemminx/extensions/contentmodel/participants/codeactions/NoGrammarConstraintsCodeAction.java#L63

After that when you will create a XML file without binding, it will generate the relaxng binding and the relaxng file by consuming the generator.

angelozerr avatar Aug 11 '20 14:08 angelozerr