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";
   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:
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?



---------------------------(end of broadcast)---------------------------
TIP 4: Have you searched our list archives?

              http://archives.postgresql.org

Reply via email to