Indentifier Mappings

Help
2007-02-06
2013-04-25
  • Tom Panihil
    Tom Panihil
    2007-02-06

    I have a rather complex schema that uses lots of nested, anon complex elements (interestingly enough, I am working on a bioinfomatics project - a complex field!).

    I have configured to use MySQL and it seems to work great EXCEPT that the table and column names are getting huge, 70+ chars in length.  The db will not accept this.

    What is the most efficient strategy to change this?  I have one XSD library with ~100 elements, and another 30 XSD that use that library.

     
    • dondi
      dondi
      2007-02-13

      Hi Tom,

      The way we've handled external constraints from databases is to just post-process the schema mappings.  This is precisely what we did in our UniProtDB and GODB libraries, as each of those definition files produced mappings with which PostgreSQL wasn't happy.  (e.g., PostgreSQL didn't like a field named "end," among others)

      We haven't come up with a solution beyond that.  In your case, its seems like a text-replace script will do the trick; replace the offending table and column names when acceptable substitutes.  Then, make sure to run this script after every XSD library generation sequence.

       
      • Tom Panihil
        Tom Panihil
        2007-02-14

        Thanks. 

        It turns out that my XSD violated some Java constraints as well (like using 'Class' as an element name).  Therefore, I just annotated the heck out of the XSD file with Hyperjaxb annotations.