mirror of
https://github.com/fr13Dev/generatingXSD
synced 2024-12-22 11:03:13 +00:00
initial commit
This commit is contained in:
commit
2e3486e39a
7
.gitignore
vendored
Normal file
7
.gitignore
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
### IntelliJ IDEA ###
|
||||||
|
.idea
|
||||||
|
*.iws
|
||||||
|
*.iml
|
||||||
|
*.ipr
|
||||||
|
*.jar
|
||||||
|
.DS_Store
|
65
example.xml
Normal file
65
example.xml
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8" ?>
|
||||||
|
<commonInvoiceInput>
|
||||||
|
<generalInvoiceInfo>
|
||||||
|
<invoiceType>01GTKT</invoiceType>
|
||||||
|
<templateCode>01GTKT0/001</templateCode>
|
||||||
|
<currencyCode>VND</currencyCode>
|
||||||
|
<adjustmentType>1</adjustmentType>
|
||||||
|
<paymentStatus>true</paymentStatus>
|
||||||
|
<paymentType>TM</paymentType>
|
||||||
|
<paymentTypeName>TM</paymentTypeName>
|
||||||
|
<cusGetInvoiceRight>true</cusGetInvoiceRight>
|
||||||
|
<buyerIdNo>123456789</buyerIdNo>
|
||||||
|
<buyerIdType>1</buyerIdType>
|
||||||
|
</generalInvoiceInfo>
|
||||||
|
<buyerInfo>
|
||||||
|
<buyerName>Lương Thị Huyền</buyerName>
|
||||||
|
<buyerLegalName></buyerLegalName>
|
||||||
|
<buyerTaxCode>3901212654</buyerTaxCode>
|
||||||
|
<buyerAddressLine>HN VN</buyerAddressLine>
|
||||||
|
<buyerPhoneNumber>09880830406</buyerPhoneNumber>
|
||||||
|
<buyerEmail></buyerEmail>
|
||||||
|
<buyerIdNo>123456789</buyerIdNo>
|
||||||
|
<buyerIdType>1</buyerIdType>
|
||||||
|
</buyerInfo>
|
||||||
|
<sellerInfo>
|
||||||
|
<sellerLegalName>Supplier perfom test 1</sellerLegalName>
|
||||||
|
<sellerTaxCode>0100109106-501</sellerTaxCode>
|
||||||
|
<sellerAddressLine>test</sellerAddressLine>
|
||||||
|
<sellerPhoneNumber>0123456789</sellerPhoneNumber>
|
||||||
|
<sellerEmail>PerformanceTest1@viettel.com.vn</sellerEmail>
|
||||||
|
<sellerBankName>vtbank</sellerBankName>
|
||||||
|
<sellerBankAccount>23423424</sellerBankAccount>
|
||||||
|
</sellerInfo>
|
||||||
|
<payments>
|
||||||
|
<paymentMethodName>TM</paymentMethodName>
|
||||||
|
</payments>
|
||||||
|
<deliveryInfo />
|
||||||
|
<itemInfo>
|
||||||
|
<lineNumber>1</lineNumber>
|
||||||
|
<itemCode>ENGLISH_COURSE</itemCode>
|
||||||
|
<itemName>Khóa học tiếng anh</itemName>
|
||||||
|
<unitName>khóa học</unitName>
|
||||||
|
<unitPrice>3500000</unitPrice>
|
||||||
|
<quantity>10</quantity>
|
||||||
|
<itemTotalAmountWithoutTax>35000000</itemTotalAmountWithoutTax>
|
||||||
|
<taxPercentage>10</taxPercentage>
|
||||||
|
<taxAmount>3500000</taxAmount>
|
||||||
|
<discount>0</discount>
|
||||||
|
<itemDiscount>0</itemDiscount>
|
||||||
|
</itemInfo>
|
||||||
|
<summarizeInfo>
|
||||||
|
<sumOfTotalLineAmountWithoutTax>35000000</sumOfTotalLineAmountWithoutTax>
|
||||||
|
<totalAmountWithoutTax>35000000</totalAmountWithoutTax>
|
||||||
|
<totalTaxAmount>3500000</totalTaxAmount>
|
||||||
|
<totalAmountWithTax>38500000</totalAmountWithTax>
|
||||||
|
<totalAmountWithTaxInWords>Ba mươi tám triệu năm trăm nghìn đồng chẵn</totalAmountWithTaxInWords>
|
||||||
|
<discountAmount>0</discountAmount>
|
||||||
|
<taxPercentage>10</taxPercentage>
|
||||||
|
</summarizeInfo>
|
||||||
|
<taxBreakdowns>
|
||||||
|
<taxPercentage>10</taxPercentage>
|
||||||
|
<taxableAmount>35000000</taxableAmount>
|
||||||
|
<taxAmount>3500000</taxAmount>
|
||||||
|
</taxBreakdowns>
|
||||||
|
</commonInvoiceInput>
|
85
src/dev/fr13/XsdSchema.java
Normal file
85
src/dev/fr13/XsdSchema.java
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
package dev.fr13;
|
||||||
|
|
||||||
|
import org.apache.xmlbeans.impl.inst2xsd.Inst2XsdOptions;
|
||||||
|
|
||||||
|
import java.io.File;
|
||||||
|
import java.io.FileNotFoundException;
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.nio.file.Paths;
|
||||||
|
|
||||||
|
public class XsdSchema {
|
||||||
|
|
||||||
|
private File sourceFile;
|
||||||
|
private boolean printHelp = false;
|
||||||
|
|
||||||
|
public static void main(String[] args) throws FileNotFoundException {
|
||||||
|
// write your code here
|
||||||
|
XsdSchema xsdSchema = new XsdSchema(args);
|
||||||
|
if (xsdSchema.getPrintHelp()) {
|
||||||
|
|
||||||
|
} else {
|
||||||
|
xsdSchema.checkSourceFile();
|
||||||
|
}
|
||||||
|
|
||||||
|
Inst2XsdOptions inst2XsdOptions = new Inst2XsdOptions();
|
||||||
|
//XmlObject.Factory.parse("src\\dev\\fr13\example.xml")
|
||||||
|
}
|
||||||
|
|
||||||
|
XsdSchema(String[] args) {
|
||||||
|
|
||||||
|
int argsCount = args.length;
|
||||||
|
String pathToFile = "";
|
||||||
|
|
||||||
|
if (argsCount == 0) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i=0; i < args.length; i++) {
|
||||||
|
|
||||||
|
switch (args[i]) {
|
||||||
|
case "-i":
|
||||||
|
pathToFile = args.length > 1 ? args[i + 1]:"";
|
||||||
|
break;
|
||||||
|
case "--input":
|
||||||
|
pathToFile = args.length > 1 ? args[i + 1]:"";
|
||||||
|
break;
|
||||||
|
case "-h":
|
||||||
|
setPrintHelp(true);
|
||||||
|
break;
|
||||||
|
case "--help":
|
||||||
|
setPrintHelp(true);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (printHelp) {
|
||||||
|
pathToFile = "";
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (pathToFile.isEmpty()) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
sourceFile = new File(pathToFile);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
private boolean getPrintHelp() {
|
||||||
|
return printHelp;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setPrintHelp(boolean printHelp) {
|
||||||
|
this.printHelp = printHelp;
|
||||||
|
}
|
||||||
|
|
||||||
|
private void checkSourceFile() throws FileNotFoundException {
|
||||||
|
|
||||||
|
Path path = Paths.get(sourceFile.toURI());
|
||||||
|
if (Files.notExists(path)) {
|
||||||
|
throw new FileNotFoundException("no such file " + sourceFile.getPath());
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
24
примерсхемыкакматрешка.xsd
Normal file
24
примерсхемыкакматрешка.xsd
Normal file
@ -0,0 +1,24 @@
|
|||||||
|
<xs:schema xmlns:tns="http://test" xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://test" attributeFormDefault="unqualified" elementFormDefault="qualified">
|
||||||
|
<xs:element name="Customer">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="CustomerId" type="xs:int"/>
|
||||||
|
<xs:element name="FirstName" type="xs:string"/>
|
||||||
|
<xs:element name="LastName" type="xs:string"/>
|
||||||
|
<xs:element name="Address">
|
||||||
|
<xs:complexType>
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element name="City" type="xs:string"/>
|
||||||
|
<xs:element name="Zip" type="xs:string"/>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:element>
|
||||||
|
<xs:complexType name="Info">
|
||||||
|
<xs:sequence>
|
||||||
|
<xs:element ref="tns:Customer"/>
|
||||||
|
</xs:sequence>
|
||||||
|
</xs:complexType>
|
||||||
|
</xs:schema>
|
Loading…
Reference in New Issue
Block a user