Skip to Main Content

Database Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

How to fix "ORA-31038:Invalid value ..." in a XML schema

odabovalNov 30 2010 — edited Dec 1 2010
Hello,

We are in 11gR2 :
select * from v$version;

BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.2.0 - 64bit Production
PL/SQL Release 11.2.0.2.0 - Production
CORE    11.2.0.2.0      Production
TNS for Linux: Version 11.2.0.2.0 - Production
NLSRTL Version 11.2.0.2.0 - Production
We load XML files based on a registered XML schema.

Here is the top of our XML schema:
<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
         xmlns:xdb="http://xmlns.oracle.com/xdb"
         xmlns="http://www.capgemini.com/xsd/projet.xsd"
         targetNamespace="http://www.capgemini.com/xsd/projet.xsd"
         elementFormDefault="unqualified"
         blockDefault="#all">
  <xsd:element name="WORKBENCH_PROJECT" xdb:defaultTable="WORKBENCH_PROJECT_TABLE">
    <xsd:complexType xdb:maintainDOM="false">
      <xsd:sequence>
        <xsd:element ref="BaseCalendars"/>
        <xsd:element ref="PoolResources"/>
        <xsd:element ref="Projects"/>
      </xsd:sequence>
...
We experience error ORA-31038: Invalid number value ... at the load of the XML, when the focus goes to a string type attribute :
Here it is :
        <Task
          UID="AJ\&apos;UF`2=_```)O0H;&quot;P!```?P```0" earlyStart="2010-04-20T08:00:00" category="Run"
          baseTime="2010-03-26T09:22:00" lateStart="2010-04-20T08:00:00" start="2010-04-20T08:00:00"
          proxy="false" earlyFinish="2010-05-12T17:00:00" lateFinish="2010-05-12T17:00:00"
          critical="true" status="2" shortName="OASIS 3.2" outlineLevel="4" baseFinish="2010-06-11T17:00:00"
          finish="2010-05-12T17:00:00" summary="false" baseStart="2010-05-17T08:00:00" baselineDuration="20.0"
          milestone="false" name="OASI 3.2.1 : Association d&apos;un plan à un PFO" fixed="true"
          locked="false" key="false" percComp="1.0" totalSlack="0.0" unplanned="false">
          <Assignments>
            <Assignment
              status="2" actualWork="24.0" resourceID="SMOUFLIH" start="2010-04-20T08:00:00" baselineWork="0.0"
 
Here is the XML schema part where the load fails ( at the attribute *<xsd:attribute name="name" type="xsd:string"/>* ) :
  <xsd:element name="Task" xdb:defaultTable="">
    <xsd:complexType xdb:maintainDOM="false">
      <xsd:sequence>
        <xsd:element ref="Assignments" minOccurs="0"/>
        <xsd:element ref="BaselineDetails" minOccurs="0"/>
        <xsd:element ref="Constraints" minOccurs="0"/>
        <xsd:element ref="Notes" minOccurs="0"/>
      </xsd:sequence>
      <xsd:attribute name="UID"/>
      <xsd:attribute name="taskID" type="xsd:string"/>
      <xsd:attribute name="baseFinish" type="xsd:NMTOKEN"/>
      <xsd:attribute name="baseStart" type="xsd:NMTOKEN"/>
      <xsd:attribute name="baseTime" type="xsd:NMTOKEN"/>
      <xsd:attribute name="baselineDuration" type="xsd:decimal"/>
      <xsd:attribute name="category" type="xsd:string"/>
      <xsd:attribute name="critical" type="xsd:string"/>
      <xsd:attribute name="earlyFinish" type="xsd:NMTOKEN"/>
      <xsd:attribute name="earlyStart" type="xsd:NMTOKEN"/>
      <xsd:attribute name="finish" type="xsd:NMTOKEN"/>
      <xsd:attribute name="fixed" type="xsd:string"/>
      <xsd:attribute name="guidelines" type="xsd:string"/>
      <xsd:attribute name="key" type="xsd:string"/>
      <xsd:attribute name="lastUpdatedBy" type="xsd:string"/>
      <xsd:attribute name="lastUpdatedDate" type="xsd:NMTOKEN"/>
      <xsd:attribute name="lateFinish" type="xsd:NMTOKEN"/>
      <xsd:attribute name="lateStart" type="xsd:NMTOKEN"/>
      <xsd:attribute name="locked" type="xsd:string"/>
      <xsd:attribute name="methodID" type="xsd:string"/>
      <xsd:attribute name="milestone" type="xsd:string"/>
      <xsd:attribute name="name" type="xsd:string"/>
      <xsd:attribute name="outlineLevel" type="xsd:integer"/>
      <xsd:attribute name="percComp" type="xsd:decimal"/>
      <xsd:attribute name="priority" type="xsd:string"/>
      <xsd:attribute name="proxy" type="xsd:string"/>
      <xsd:attribute name="shortName" type="xsd:string"/>
      <xsd:attribute name="start" type="xsd:NMTOKEN"/>
      <xsd:attribute name="status" type="xsd:integer"/>
      <xsd:attribute name="summary" type="xsd:string"/>
      <xsd:attribute name="totalSlack" type="xsd:double"/>
      <xsd:attribute name="unplanned" type="xsd:string"/>
      <xsd:attribute name="userText1" type="xsd:string"/>
      <xsd:attribute name="userText2" type="xsd:string"/>
      <xsd:attribute name="userText3" type="xsd:string"/>
      <xsd:attribute name="userText4" type="xsd:string"/>
      <xsd:attribute name="userText5" type="xsd:string"/>
  
We know how to fix it manually :
The workaround is to :
remove all "&apos;" in each attribute called "name" 
But we suppose we need to amend the XML schema with a proper change. And we don't know how to do this.
The weird is that we've never noticed this error earlier on a 11gR1 DB... This error only occurs on our brand new 11.2.0.2

I hope it's clear enough for your understanding.

Do you have any advice ?
Thanks in advance,
Olivier
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Dec 29 2010
Added on Nov 30 2010
3 comments
737 views