BUG #3782: table_to_xmlschema and xsd:simpleType

Started by Dragos Ionitaover 18 years ago3 messagesbugs
Jump to latest
#1Dragos Ionita
dragos@beopen.ro

The following bug has been logged online:

Bug reference: 3782
Logged by: Dragos Ionita
Email address: dragos@beopen.ro
PostgreSQL version: postgresql-8.3b
Operating system: Windows XP SP2
Description: table_to_xmlschema and xsd:simpleType
Details:

The new XML functions are great! I'm building a WSDL document with the help
of the new functions.

http://developer.postgresql.org/pgdocs/postgres/functions-xml.html

I'm having a problem with table_to_xmlschema, for VARCHAR fields the
function returns:

<xsd:simpleType name="VARCHAR">
</xsd:simpleType>

And parsers don't seem to like this:

Invalid XML schema: 'Further elements required under element
<xsd:simpleType>.'

The simpleType should have a child element. Is this a bug or am I missing
something?

Thank you

#2Peter Eisentraut
peter_e@gmx.net
In reply to: Dragos Ionita (#1)
Re: BUG #3782: table_to_xmlschema and xsd:simpleType

Am Dienstag, 27. November 2007 schrieb Dragos Ionita:

I'm having a problem with table_to_xmlschema, for VARCHAR fields the
function returns:

<xsd:simpleType name="VARCHAR">
</xsd:simpleType>

And parsers don't seem to like this:

Invalid XML schema: 'Further elements required under element
<xsd:simpleType>.'

The simpleType should have a child element. Is this a bug or am I missing
something?

Oh yes, I didn't consider the XML Schema specification well enough. Please
try the attached patch.

Do you know of an XML Schema checker that we could use to check this?

--
Peter Eisentraut
http://developer.postgresql.org/~petere/

Attachments:

xmlschema-restriction-fix.patchtext/x-diff; charset=iso-8859-1; name=xmlschema-restriction-fix.patchDownload+6-3
#3Dragos Ionita
dragos@beopen.ro
In reply to: Peter Eisentraut (#2)
Re: BUG #3782: table_to_xmlschema and xsd:simpleType

Thanks for the patch Peter.

- I applied the patch but wasn't able to compile postgre on windows, but
i'll try again a bit later on linux
- For checking we can use http://www.w3.org/2001/03/webdata/xsv
- One more thing I'd like to point out is what happens in situations
like the following:
if there's a varchar of length 20 and another of length 30,
Two separate XSD types should be declared VARCHAR_20 and VARCHAR_30
as i saw in xml.c map_sql_type_to_xml_name()

However the output is currently just a VARCHAR type:

CREATE TABLE t1
(
cv30 character varying(30),
cv10 character varying(10),
cv10notnull character varying(10) NOT NULL,
numeric_10_3 numeric(10,3),
numeric_10_5 numeric(10,5)
)
WITH (OIDS=FALSE);

-- Then query:

select table_to_xmlschema('t1', true, true, 'test');

-- Expected are simpleTypes with VARCHAR_30 and VARCHAR_10
-- The output in the current beta version is just VARCHAR:

<xsd:schema
xmlns:xsd="http://www.w3.org/2001/XMLSchema&quot;
targetNamespace="test"
elementFormDefault="qualified">

<xsd:simpleType name="VARCHAR">
</xsd:simpleType>

<xsd:simpleType name="NUMERIC">
</xsd:simpleType>

<xsd:complexType name="RowType.test.public.t1">
<xsd:sequence>
<xsd:element name="cv30" type="VARCHAR" nillable="true"></xsd:element>
<xsd:element name="cv10" type="VARCHAR" nillable="true"></xsd:element>
<xsd:element name="cv10notnull" type="VARCHAR"
nillable="true"></xsd:element>
<xsd:element name="numeric_10_3" type="NUMERIC"
nillable="true"></xsd:element>
<xsd:element name="numeric_10_5" type="NUMERIC"
nillable="true"></xsd:element>
</xsd:sequence>
</xsd:complexType>

<xsd:element name="t1" type="RowType.test.public.t1"/>

</xsd:schema>

I'm going to start compiling the postgre and then let you know how it went!

Dragos

Peter Eisentraut wrote:

Show quoted text

Am Dienstag, 27. November 2007 schrieb Dragos Ionita:

I'm having a problem with table_to_xmlschema, for VARCHAR fields the
function returns:

<xsd:simpleType name="VARCHAR">
</xsd:simpleType>

And parsers don't seem to like this:

Invalid XML schema: 'Further elements required under element
<xsd:simpleType>.'

The simpleType should have a child element. Is this a bug or am I missing
something?

Oh yes, I didn't consider the XML Schema specification well enough. Please
try the attached patch.

Do you know of an XML Schema checker that we could use to check this?