X-definition
If you have a collection with more X-definitions specify the name of root X-definition:
<xd:def xmlns:xd="http://www.xdef.org/xdef/4.2" name="Example" root="schema" > <xd:declaration scope="local"> external Service service; </xd:declaration> <schema name="string; onTrue service.execute('CREATE SCHEMA ' + getText()); finally outln('Dabase schema created.')"> <table xd:script="occurs +" name="string"> string; onTrue try { service.execute('CREATE TABLE ' + xpath('../@name') + '.' + @name+' ('+getText()+')'); } catch (Exception ex) { error(toString(ex)); } </table> </schema> </xd:def>
XML data
<schema name="BOOKS"> <table name="AUTHOR"> IDAUTHOR INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY, AUTHOR VARCHAR(100) NOT NULL, PRIMARY KEY(IDAUTHOR), UNIQUE (AUTHOR) </table> <table name="TITLE"> IDTITLE INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY, TITLE VARCHAR(100) NOT NULL, ISSUED INTEGER, ISBN VARCHAR(10) NOT NULL, PRIMARY KEY(IDTITLE), UNIQUE (TITLE, ISBN) </table> <table name="TITLE_AUTHOR"> IDTITLE_AUTHOR INTEGER NOT NULL GENERATED BY DEFAULT AS IDENTITY, IDAUTHOR INTEGER NOT NULL, IDTITLE INTEGER NOT NULL, PRIMARY KEY(IDTITLE_AUTHOR), UNIQUE (IDAUTHOR, IDTITLE), FOREIGN KEY (IDAUTHOR) REFERENCES BOOKS.AUTHOR(IDAUTHOR), FOREIGN KEY (IDTITLE) REFERENCES BOOKS.TITLE(IDTITLE) </table> </schema>
You can edit
X-definition
or
XML data