Wednesday, July 25, 2012

Recieved Atmel chips for custom Arudino UNO Board

Yesss...i recieved Atmel AU and PS chips..Will be working on developing the board this weekend and will bootload and program my Arudino UNO.


:) :):):):):):):):):):):):):):)

Upgraded my Android Nexus S to Jelly Bean OS

Hi Friends,

Recently upgraded OS of my Android Nexus S to Jelly Beans.. Its a fabulous OS which offers great speed and performance.

Thanks,

Ujjwal Soni

Monday, July 16, 2012

Run Android 4.0 Ice Cream Sandwich on Your PC

I found an interesting article which focuses on running Android 4.0 Ice Cream Sandwich on Your PC/Laptop.

Follow below link and find the answer :

Run Android 4.0 Ice Cream Sandwich on Your PC

Cheers,

Ujjwal Soni

Friday, July 13, 2012

Create UML diagrams online

Today, i came across a good website which allows to create different kinds of charts, diagrams, plans online and that too without the need to sign up.

The only drawback for this website is that you need to download Silver Light setup in order to access this website.

Create UML Diagrams Online

share if you like it.

Thanks,

Ujjwal Soni

Wednesday, July 11, 2012

Tuesday, July 3, 2012

Generate XSD of Oracle Tables

Hi,

Recently i was finding a way across generating XSD from Oracle Tables. I found a way as below which fulfills my requirement.

Create a plsql function in oracle as below, i used oracle 10G

create or replace function GENERATE_XSD(target_table varchar2) return xmltype
as
xmlSchema XMLTYPE;
begin
select
xmlElement(
"xsd:schema",
xmlAttributes(
'http://www.w3.org/2001/XMLSchema' as "xmlns:xsd",
'http://xmlns.oracle.com/xdb' as "xmlns:xdb"
),
xmlElement(
"xsd:element",
xmlAttributes(
'ROWSET' as "name",
'rowset' as "type"
)
),
xmlElement(
"xsd:complexType",
xmlAttributes
(
'rowset' as "name"
),
xmlElement
(
"xsd:sequence",
xmlElement
(
"xsd:element",
xmlAttributes
(
'ROW' as "name",
table_name || '_T' as "type",
'unbounded' as "maxOccurs"
)
)
)
),
xmlElement
(
"xsd:complexType",
xmlAttributes
(
table_name || '_T' as "name"
),
xmlElement
(
"xsd:sequence",
(
xmlAgg(ELEMENT)
)
)
)
)
into xmlSchema
from (
select TABLE_NAME, INTERNAL_COLUMN_ID,
case
when DATA_TYPE in ('VARCHAR2', 'CHAR') then
xmlElement
(
"xsd:element",
xmlattributes
(
column_name as "name",
decode(NULLABLE, 'Y', 0, 1) as "minOccurs",
column_name as "xdb:SQLName",
DATA_TYPE as "xdb:SQLTYPE"
),
xmlElement
(
"xsd:simpleType",
xmlElement
(
"xsd:restriction",
xmlAttributes
(
'xsd:string' as "base"
),
xmlElement
(
"xsd:maxLength",
xmlAttributes
(
DATA_LENGTH as "value"
)
)
)
)
)
when DATA_TYPE = 'DATE' then
xmlElement
(
"xsd:element",
xmlattributes
(
column_name as "name",
--'xsd:dateTime' as "type",
'xsd:date' as "type",
decode(NULLABLE, 'Y', 0, 1) as "minOccurs",
column_name as "xdb:SQLName",
DATA_TYPE as "xdb:SQLTYPE"
)
)
when DATA_TYPE = 'NUMBER' then
xmlElement
(
"xsd:element",
xmlattributes
(
column_name as "name",
decode(DATA_SCALE, 0, 'xsd:integer', 'xsd:double') as "type",
decode(NULLABLE, 'Y', 0, 1) as "minOccurs",
column_name as "xdb:SQLName",
DATA_TYPE as "xdb:SQLTYPE"
)
)
else
xmlElement
(
"xsd:element",
xmlattributes
(
column_name as "name",
'xsd:anySimpleType' as "type",
decode(NULLABLE, 'Y', 0, 1) as "minOccurs",
column_name as "xdb:SQLName",
DATA_TYPE as "xdb:SQLTYPE"
)
)
end ELEMENT
from user_tab_cols c
where TABLE_NAME = target_table
order by internal_column_id
)
group by TABLE_NAME;

return xmlSchema;
end;


Run it as below ::

select GENERATE_XSD('EMPLOYEE_SALARY_TABLE').extract('/*') from dual;

Dont forget to put '.extract('/*')' before from dual.



Cheers,

Ujjwal Soni