You are viewing a plain text version of this content. The canonical link for it is here.
Posted to ddlutils-dev@db.apache.org by "Thomas Dudziak (JIRA)" <ji...@apache.org> on 2011/05/05 08:05:03 UTC
[jira] [Resolved] (DDLUTILS-245) writeDataToFile produce broken XML
[ https://issues.apache.org/jira/browse/DDLUTILS-245?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thomas Dudziak resolved DDLUTILS-245.
-------------------------------------
Resolution: Fixed
Fix Version/s: 1.1
This is fixed in trunk for the 1.1 version. DdlUtils now generates different attributes and/or sub elements if the table or column name is not a valid tag or contains illegal characters or is too long for a tag/attribute name. See the schema.xml file in the doc for a description of the format.
> writeDataToFile produce broken XML
> ----------------------------------
>
> Key: DDLUTILS-245
> URL: https://issues.apache.org/jira/browse/DDLUTILS-245
> Project: DdlUtils
> Issue Type: Bug
> Components: Core (No specific database)
> Affects Versions: 1.0
> Environment: JRE 1.5 eclipse 3.4 ant 1.7.1
> Reporter: Nikolas Falco
> Assignee: Thomas Dudziak
> Priority: Blocker
> Fix For: 1.1
>
>
> databaseToDdl ant task produces a broken XML output if column's name contains special characters.
> Example of a table schema/data exported:
> SCHEMA.XML
> <table name="C_RE_FE4FB">
> <column name="OID$" primaryKey="true" required="true" type="CHAR" size="35" autoIncrement="false"/>
> ..
> <column name="TYPE$_MIMETY_28F8F" primaryKey="false" required="false" type="VARCHAR" size="256" autoIncrement="false"/>
> ..
> </table>
> DATA.XML (broken)
> <C_RE_FE4FB OID$="8a8081c81f93c944011f93c9b1c4004b " .. TYPE$_MIMETY_28F8F="TEXT.Xml" C_MIMETYPE_M_8FBF9="text/xml" .. />
> <C_RE_FE4FB OID$="8a8081c81f93c944011f93c9b752004f " .. TYPE$_MIMETY_28F8F="TEXT.Xml" C_MIMETYPE_M_8FBF9="text/xml" .. />
> A little output log
> [ddlToDatabase] Written schema to database
> [ddlToDatabase] Parse Fatal Error at line 3 column 18: Attribute name "OID" associated with an element type "C_RE_FE4FB" must be followed by the ' = ' character.
> [ddlToDatabase] org.xml.sax.SAXParseException: Attribute name "OID" associated with an element type "C_RE_FE4FB" must be followed by the ' = ' character.
> [ddlToDatabase] at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:236)
> [ddlToDatabase] at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:215)
> [ddlToDatabase] at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:386)
> [ddlToDatabase] at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:316)
> [ddlToDatabase] at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(XMLScanner.java:1438)
> [ddlToDatabase] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanAttribute(XMLDocumentFragmentScannerImpl.java:1016)
> [ddlToDatabase] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanStartElement(XMLDocumentFragmentScannerImpl.java:851)
> [ddlToDatabase] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1693)
> [ddlToDatabase] at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:368)
> [ddlToDatabase] at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:834)
> Should be change data.xml output format. Column name (as also table name) should be converted from attriute to value to avoid special characters.
> Can become:
> <table="C_RE_FE4FB" column1="OID$" value1="8a8081c81f93c944011f93c9b1c4004b " .. columnN="TYPE$_MIMETY_28F8F" valueN="TEXT.Xml" C_MIMETYPE_M_8FBF9="text/xml" .. />
--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira