http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28994/nfb.htm
See "7.2.1.3 Defining a Fixed-Length Structure"
xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
A typical entry consists of:
<element name="to_usd_rate" nxsd:style="fixedLength" nxsd:length="12"
nxsd:padStyle="head" nxsd:paddedBy="0">
<simpleType>
<restriction base="string">
<maxLength value="12" />
</restriction>
</simpleType>
</element>
I am generating all these elements with Excel, because I hate monkey work
I put this text in a file:
ABC Private Limited Street1 Bangalore Karnataka India
I put this in Excel
NAME LENGTH
company 22
address 10
city 10
region 10
country 5
and I use this formula to generate all tags:
="<xsd:element name="""&B11&""" nxsd:style=""fixedLength"" nxsd:length="""&C11&""" nxsd:padStyle=""head"" nxsd:paddedBy=""0""> <xsd:simpleType><xsd:restriction base=""xsd:string""> <xsd:maxLength value="""&C11&""" /> </xsd:restriction> </xsd:simpleType> </xsd:element>"
Here is the Excel file
Here is the generated nXSD:
<?xml version="1.0" encoding="UTF-8" ?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:nxsd="http://xmlns.oracle.com/pcbpel/nxsd"
xmlns:tns="http://TargetNamespace.com/ServiceName"
targetNamespace="http://TargetNamespace.com/ServiceName"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
nxsd:version="NXSD"
nxsd:stream="chars"
nxsd:encoding="US-ASCII"
>
<xsd:element name="Root-Element">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="company" nxsd:style="fixedLength" nxsd:length="22" nxsd:padStyle="head" nxsd:paddedBy="0"> <xsd:simpleType><xsd:restriction base="xsd:string"> <xsd:maxLength value="22" /> </xsd:restriction> </xsd:simpleType> </xsd:element>
<xsd:element name="address" nxsd:style="fixedLength" nxsd:length="10" nxsd:padStyle="head" nxsd:paddedBy="0"> <xsd:simpleType><xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element>
<xsd:element name="city" nxsd:style="fixedLength" nxsd:length="10" nxsd:padStyle="head" nxsd:paddedBy="0"> <xsd:simpleType><xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element>
<xsd:element name="region" nxsd:style="fixedLength" nxsd:length="10" nxsd:padStyle="head" nxsd:paddedBy="0"> <xsd:simpleType><xsd:restriction base="xsd:string"> <xsd:maxLength value="10" /> </xsd:restriction> </xsd:simpleType> </xsd:element>
<xsd:element name="country" nxsd:style="fixedLength" nxsd:length="5" nxsd:padStyle="head" nxsd:paddedBy="0"> <xsd:simpleType><xsd:restriction base="xsd:string"> <xsd:maxLength value="5" /> </xsd:restriction> </xsd:simpleType> </xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<!--NXSDWIZ:C:\tmp\sample.dat:-->
<!--USE-HEADER:false:-->
The classes related to nXSD are in C:\Oracle\Middleware\Oracle_OSB1\soa\modules\oracle.soa.fabric_11.1.1\bpm-infra.jar
and in C:\Oracle\Middleware\Oracle_SOA1\jlib\oracle.soa.dbutils.jar
3 comments:
How does the xsd get generated ? I don't find any macros in spreasheet. Kindly share.
hi nags, there are no macros, only formulas.... actually in the formula I simply use "&" which is "chain 2 strings"
hi nags, there are no macros, only formulas.... actually in the formula I simply use "&" which is "chain 2 strings"
Post a Comment