public class XsdParser extends AbstractParser
Title: Service Event Fabric Runtime
Description: XsdParser parses incoming XSD schema data and creates corresponding XsdSchema
object .
<?xml version="1.0" encoding="iso-8859-1"?>
<!--The XML file's encoding/header needs to match the above line-->
<xsd:schema xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xsd:element name="SampleObject">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="intField" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
<xsd:element name="longField" type="LongRestricted15Type" minOccurs="1" maxOccurs="1"/>
<xsd:element name="ComplexObjects" minOccurs="1" maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="ComplexObject" type="ComplexObjectType" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
<xsd:element name="ComplexObject" minOccurs="1" maxOccurs="1">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xs:integer" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="attr3" type="xs:string"/>
</xsd:complexType>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="attr1"/>
<xsd:attribute name="attr2" type="xs:int" default="5"/>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="ComplexObjectType">
<xsd:sequence>
<xsd:element name="FundID" type="xsd:integer" minOccurs="0" maxOccurs="1"/>
<xsd:element name="SubObject" type="SubObjectType" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="SubObjectType">
<xsd:sequence>
<xsd:element name="item" type="xsd:integer" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="LongRestricted15Type">
<xsd:restriction base="xs:long">
<xsd:totalDigits value="15"/>
<xsd:minExclusive value="-1000000000000000"/>
<xsd:maxExclusive value="1000000000000000"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:schema>
To generate 'create sdo' EDL statement we should do
EdlGenerator generator = new EdlGenerator();
generator.setNamespace("mynamespace");
generator.setArchiveName("myarchive.jar");
generator.setPackageName("mypackge");
generator.setParser(new XmlParser());
Map<String, String> edls = generator.generateEdl(xmlfilename);
Or using slang command
create sdo from xml 'xsds/testxsd.xsd'
save at './output.edl'
build
namespace mynamespace
replace archive myarchive.jar
replace package mypackge
And we get the following 'create sdo' statements
create sdo ComplexObject as { string(xml-attribute) attr3; int value; } namespace mynamespace replace archive myarchive.jar replace package mypackge create sdo ComplexObjectType as { int FundID; list(int alias item) SubObject; } namespace mynamespace replace archive myarchive.jar replace package mypackge create sdo SampleObject as { int intField; long(15) longField not null in range(-1000000000000000 1000000000000000); list(ComplexObjectType alias ComplexObject) ComplexObjects not null; ComplexObject ComplexObject not null; string(xml-attribute) attr1; int(xml-attribute) attr2 = 5; } namespace mynamespace replace archive myarchive.jar replace package mypackge
Copyright: Copyright (c) 2013
Company: StreamScape Technologies
Constructor and Description |
---|
XsdParser() |
Modifier and Type | Method and Description |
---|---|
static void |
validateXml(java.lang.String xsdfilename,
java.io.InputStream xmlinput) |
static void |
validateXml(java.lang.String xsdfilename,
java.lang.String xmlfilename) |
camelCaseName, parse, parse, parse, parse, resolveAlias
public static void validateXml(java.lang.String xsdfilename, java.lang.String xmlfilename) throws XsdException, java.io.FileNotFoundException, java.io.IOException
XsdException
java.io.FileNotFoundException
java.io.IOException
public static void validateXml(java.lang.String xsdfilename, java.io.InputStream xmlinput) throws XsdException, java.io.IOException
XsdException
java.io.IOException
Copyright © 2015-2024 StreamScape Technologies. All rights reserved.