idl2javaxml - IDL compiler to language Java mapping & XML binding
idl2javaxml [options] spec.idl
All options are forwarded to C preprocessor, except -h -i -v -x.
With the GNU C Compatible Compiler Processor, useful options are :
Specific options :
Display help.
Specify a path for import (only for IDL version 3.0).
Specify a list of prefix (gives full qualified Java package names).
Specify a list of name translation (gives full qualified Java package names).
Display version.
Enable export (only for IDL version 3.0).
idl2javaxml parses the given input file (IDL) and generates the same files as idl2java and a classHelperXML.java file that contains XML marshal/demarshal methods. The XML binding follows the CORBA to WSDL/SOAP Interworking Specification (WS-I comformant soap binding).
idl2javaxml is a Perl OO application what uses the visitor design pattern. The parser is generated by Parse::Yapp.
idl2javaxml needs a cpp executable.
CORBA Specifications, including IDL (Interface Language Definition) , the JAVA Language Mapping and CORBA to WSDL/SOAP Interworking are available on <http://www.omg.org/>.
// IDL struct StructType { long field1; string field2; }; // Java public class test { public static void main (String[] args) throws Exception { XMLOutputStreamImpl os = new XMLOutputStreamImpl (new FileOutputStream ("out.xml")); StructType obj = new StructType (1, "toto"); StructTypeHelperXML.write (os, obj); os.close (); } }
The class StructType and StructTypeHelperXML are generated by idl2javaxml.
The class XMLOutputStreamImpl and XMLInputStreamImpl are an example of the run-time support; there derive from XMLOutputStream ans XMLInputStream that define the interface.
// XML <StructType><field1>1</field1><field2>toto</field2></StructType>
This XML document is valid against the Schema generated by idl2xsd (Do you really want write by hand W3C Schema ?).
// XSD <xs:schema targetNamespace="http://www.omg.org/IDL-Mapped/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns="http://www.omg.org/IDL-Mapped/" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:complexType name="StructType"> <xs:sequence> <xs:element name="field1" maxOccurs="1" minOccurs="1" type="xs:int"/> <xs:element name="field2" maxOccurs="1" minOccurs="1" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:schema>
The class PYXOutputStreamImpl and PYXInputStreamImpl are an example of the run-time support for Pyxie format (see <http://www.pyxie.org/>); there derive from XMLOutputStream and XMLInputStream.
// PYX (StructType (field1 -1 )field1 (field2 -toto )field2 )StructType
cpp, idl2html, idl2java, idl2xsd, idl2rng
(c) 2004-2007 Francois PERRAD, France. All rights reserved.
This program and all CORBA::JAVA modules and all Java class (run-time support) are distributed under the terms of the Artistic Licence.
Francois PERRAD, francois.perrad@gadz.org
To install CORBA::JAVA, copy and paste the appropriate command in to your terminal.
cpanm
cpanm CORBA::JAVA
CPAN shell
perl -MCPAN -e shell install CORBA::JAVA
For more information on module installation, please visit the detailed CPAN module installation guide.