1
0
mirror of https://github.com/fr13Dev/generatingXSD synced 2024-12-22 11:03:13 +00:00

worked option

This commit is contained in:
nikolaibeliaev 2019-03-18 17:54:20 +07:00
parent 2e3486e39a
commit c576c92f7e

View File

@ -1,9 +1,15 @@
package dev.fr13; package dev.fr13;
import org.apache.commons.cli.*;
import org.apache.xmlbeans.XmlException;
import org.apache.xmlbeans.XmlObject;
import org.apache.xmlbeans.impl.inst2xsd.Inst2Xsd;
import org.apache.xmlbeans.impl.inst2xsd.Inst2XsdOptions; import org.apache.xmlbeans.impl.inst2xsd.Inst2XsdOptions;
import org.apache.xmlbeans.impl.xb.xsdschema.SchemaDocument;
import java.io.File; import java.io.File;
import java.io.FileNotFoundException; import java.io.FileNotFoundException;
import java.io.IOException;
import java.nio.file.Files; import java.nio.file.Files;
import java.nio.file.Path; import java.nio.file.Path;
import java.nio.file.Paths; import java.nio.file.Paths;
@ -12,23 +18,63 @@ public class XsdSchema {
private File sourceFile; private File sourceFile;
private boolean printHelp = false; private boolean printHelp = false;
private final String nameSpace = "";
private final Inst2XsdOptions schema = new Inst2XsdOptions();
public static void main(String[] args) throws FileNotFoundException { public static void main(String[] args) throws IOException, XmlException {
// write your code here // write your code here
// delete setters and getters
XsdSchema xsdSchema = new XsdSchema(args); XsdSchema xsdSchema = new XsdSchema(args);
if (xsdSchema.getPrintHelp()) { /*if (xsdSchema.getPrintHelp()) {
System.out.println("HELP");
return;
} else { } else {
xsdSchema.checkSourceFile(); xsdSchema.checkSourceFile();
} }
//System.out.println(xsdSchema.getSourceFile().getPath());
XmlObject [] xmlObjects = new XmlObject[1];
xmlObjects[0] = XmlObject.Factory.parse(xsdSchema.getSourceFile());
SchemaDocument schema = xsdSchema.getSchema(xmlObjects);
System.out.println(schema);*/
}
private SchemaDocument getSchema(XmlObject [] xmlObjects) {
Inst2XsdOptions inst2XsdOptions = new Inst2XsdOptions(); Inst2XsdOptions inst2XsdOptions = new Inst2XsdOptions();
//XmlObject.Factory.parse("src\\dev\\fr13\example.xml") inst2XsdOptions.setDesign(Inst2XsdOptions.DESIGN_VENETIAN_BLIND);
SchemaDocument [] schemaDocuments = Inst2Xsd.inst2xsd(xmlObjects, inst2XsdOptions);
if (schemaDocuments != null && schemaDocuments.length > 0) {
return schemaDocuments[0];
}
return null;
} }
XsdSchema(String[] args) { XsdSchema(String[] args) {
int argsCount = args.length; Options options = new Options();
Option option = new Option("i", "input", true, "input file path");
option.setRequired(true);
options.addOption(option);
CommandLineParser commandLineParser = new DefaultParser();
HelpFormatter helpFormatter = new HelpFormatter();
CommandLine cmd = null;
try {
cmd = commandLineParser.parse(options, args);
} catch (ParseException e) {
System.out.println(e.getMessage());
helpFormatter.printHelp("bla bla", options);
System.exit(1);
}
String input = cmd.getOptionValue("input");
System.out.println(input);
/*int argsCount = args.length;
String pathToFile = ""; String pathToFile = "";
if (argsCount == 0) { if (argsCount == 0) {
@ -50,10 +96,21 @@ public class XsdSchema {
case "--help": case "--help":
setPrintHelp(true); setPrintHelp(true);
break; break;
case "-nm":
//name space
break;
case "--namespace":
// name space
break;
case "-s":
//schema
break;
case "--schema":
// schema
break;
} }
if (printHelp) { if (printHelp) {
pathToFile = "";
break; break;
} }
} }
@ -62,7 +119,7 @@ public class XsdSchema {
return; return;
} }
sourceFile = new File(pathToFile); sourceFile = new File(pathToFile);*/
} }
@ -70,6 +127,10 @@ public class XsdSchema {
return printHelp; return printHelp;
} }
public File getSourceFile() {
return sourceFile;
}
private void setPrintHelp(boolean printHelp) { private void setPrintHelp(boolean printHelp) {
this.printHelp = printHelp; this.printHelp = printHelp;
} }
@ -82,4 +143,10 @@ public class XsdSchema {
} }
} }
enum SchemaDesign {
RUSSIAN_DOLL,
SALAMI_SLICE,
VENETIAN_BLIND
}
} }