Liquibase generated changelog XML - ERROR cvc-complex-type.2.3 when used to migrate SQL Server
<p>I've seen this similar topic before, but without a resolution.</p>

<p><a href="http://forum.liquibase.org/topic/liquibase-validation-can-we-turn-it-off" rel="nofollow">http://forum.liquibase.org/topic/liquibase-validation-can-we-turn-it-off</a></p>

<p>The problem is a validation error that ONLY happens using "migrate" on SQL Server. The same file can be used to create the schema in PostgreSQL. Why does it have a problem with SQL Server? The change log was generated from SQL Server, but can't be used to migrate the schema to a different database on the same host.</p>

<p>Please help!!</p>

<p>The short version of the error is this...</p>

<blockquote>
  <p>cvc-complex-type.2.3: Element 'createTable' cannot have character [children], because the type's content type is element-only</p>
</blockquote>

<p>The full stack trace is this...</p>

<blockquote>
  <p>SEVERE 7/27/16 6:14 PM: liquibase: cvc-complex-type.2.3: Element 'createTable' cannot have character [children], because the type's content type is element-only.
  liquibase.exception.ChangeLogParseException: Error parsing line 144 column 23 of mssql-confluencetest-changelog.xml: cvc-complex-type.2.3: Element 'createTable' cannot have character [children], because the type's content type is element-only.
      at liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode(XMLChangeLogSAXParser.java:114)
      at liquibase.parser.core.xml.AbstractChangeLogParser.parse(AbstractChangeLogParser.java:17)
      at liquibase.Liquibase.getDatabaseChangeLog(Liquibase.java:229)
      at liquibase.Liquibase.update(Liquibase.java:202)
      at liquibase.Liquibase.update(Liquibase.java:192)
      at liquibase.integration.commandline.Main.doMigration(Main.java:1126)
      at liquibase.integration.commandline.Main.run(Main.java:184)
      at liquibase.integration.commandline.Main.main(Main.java:103)
  Caused by: org.xml.sax.SAXParseException; lineNumber: 144; columnNumber: 23; cvc-complex-type.2.3: Element 'createTable' cannot have character [children], because the type's content type is element-only.
      at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:198)
      at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:134)
      at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:437)
      at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:368)
      at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:325)
      at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator$XSIErrorReporter.reportError(XMLSchemaValidator.java:458)
      at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.reportSchemaError(XMLSchemaValidator.java:3237)
      at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidComplexType(XMLSchemaValidator.java:3200)
      at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.elementLocallyValidType(XMLSchemaValidator.java:3160)
      at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.processElementContent(XMLSchemaValidator.java:3062)
      at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleEndElement(XMLSchemaValidator.java:2140)
      at com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.endElement(XMLSchemaValidator.java:859)
      at com.sun.org.apache.xerces.internal.impl.XML11NSDocumentScannerImpl.scanEndElement(XML11NSDocumentScannerImpl.java:814)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2973)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentScannerImpl.java:606)
      at com.sun.org.apache.xerces.internal.impl.XML11NSDocumentScannerImpl.next(XML11NSDocumentScannerImpl.java:857)
      at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:510)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:848)
      at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configuration.java:777)
      at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)
      at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1213)
      at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:648)
      at liquibase.parser.core.xml.XMLChangeLogSAXParser.parseToNode(XMLChangeLogSAXParser.java:106)
      ... 7 more</p>
</blockquote>

<p>This is the problem XML...</p>

<pre><code>&lt;changeSet author="amartin (generated)" id="1469664903727-11" objectQuotingStrategy="QUOTE_ALL_OBJECTS"&gt;
&lt;createTable tableName="AO_5FB9D7_AOHIP_CHAT_LINK"&gt;
    &lt;column name="ADDON_TOKEN_EXPIRY" type="datetime"/&gt;
    &lt;column name="API_URL" type="nvarchar(255)"/&gt;
    &lt;column name="CONNECT_DESCRIPTOR" type="ntext"/&gt;
    &lt;column defaultValueNumeric="0" name="GROUP_ID" type="int"/&gt;
    &lt;column name="GROUP_NAME" type="nvarchar(255)"/&gt;
    &lt;column autoIncrement="true" name="ID" type="int"&gt;
        &lt;constraints primaryKey="true" primaryKeyName="pk_AO_5FB9D7_AOHIP_CHAT_LINK_ID"/&gt;
    &lt;/column&gt;
    &lt;column name="OAUTH_ID" type="nvarchar(255)"/&gt;
    &lt;column name="SECRET_KEY" type="nvarchar(255)"/&gt;
    &lt;column name="SYSTEM_PASSWORD" type="nvarchar(255)"/&gt;
    &lt;column name="SYSTEM_TOKEN_EXPIRY" type="datetime"/&gt;
    &lt;column name="SYSTEM_USER" type="nvarchar(255)"/&gt;
    &lt;column name="SYSTEM_USER_TOKEN" type="nvarchar(255)"/&gt;
    &lt;column name="TOKEN" type="nvarchar(255)"/&gt;
&lt;/createTable&gt;
&lt;/changeSet&gt;
</code></pre>