You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@shardingsphere.apache.org by su...@apache.org on 2022/11/23 13:06:11 UTC

[shardingsphere] branch master updated: Remove @XmlElementWrapper for all sql parser tests (#22369)

This is an automated email from the ASF dual-hosted git repository.

sunnianjun pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 7ea19c74b82 Remove @XmlElementWrapper for all sql parser tests (#22369)
7ea19c74b82 is described below

commit 7ea19c74b82fddb908b00199dbb424a41d05e89f
Author: Liang Zhang <zh...@apache.org>
AuthorDate: Wed Nov 23 21:06:03 2022 +0800

    Remove @XmlElementWrapper for all sql parser tests (#22369)
---
 .../segment/impl/distsql/ExpectedAlgorithm.java    |   2 -
 .../segment/impl/distsql/ExpectedDataSource.java   |   2 -
 .../rdl/ExceptedReadwriteSplittingRule.java        |   2 -
 .../impl/distsql/rdl/ExpectedAuditStrategy.java    |   2 -
 .../ExpectedDatabaseDiscoveryDefinitionRule.java   |   2 -
 .../rdl/ExpectedDatabaseDiscoveryHeartbeat.java    |   2 -
 .../with/ExpectedCommonTableExpressionClause.java  |   2 -
 .../ddl/CreateIndexStatementTestCase.java          |   2 -
 .../statement/dml/CopyStatementTestCase.java       |   2 -
 .../domain/statement/dml/DoStatementTestCase.java  |   2 -
 .../ral/AlterTrafficRuleStatementTestCase.java     |   2 -
 .../ral/CreateTrafficRuleStatementTestCase.java    |   2 -
 .../ral/DropTrafficRuleStatementTestCase.java      |   2 -
 ...seDiscoveryDefinitionRuleStatementTestCase.java |   2 -
 ...seDiscoveryDefinitionRuleStatementTestCase.java |   2 -
 ...DropDatabaseDiscoveryRuleStatementTestCase.java |   2 -
 .../encrypt/AlterEncryptRuleStatementTestCase.java |   2 -
 .../CreateEncryptRuleStatementTestCase.java        |   2 -
 ...terReadwriteSplittingRuleStatementTestCase.java |   2 -
 ...ateReadwriteSplittingRuleStatementTestCase.java |   2 -
 ...ropReadwriteSplittingRuleStatementTestCase.java |   2 -
 .../shadow/AlterShadowRuleStatementTestCase.java   |   2 -
 .../shadow/CreateShadowRuleStatementTestCase.java  |   2 -
 .../DropShadowAlgorithmStatementTestCase.java      |   2 -
 .../shadow/DropShadowRuleStatementTestCase.java    |   2 -
 ...lterShardingAutoTableRuleStatementTestCase.java |   2 -
 ...ardingTableReferenceRulesStatementTestCase.java |   2 -
 .../AlterShardingTableRuleStatementTestCase.java   |   2 -
 ...eateShardingAutoTableRuleStatementTestCase.java |   2 -
 ...hardingTableReferenceRuleStatementTestCase.java |   2 -
 .../CreateShardingTableRuleStatementTestCase.java  |   2 -
 .../DropBroadcastTableRuleStatementTestCase.java   |   2 -
 .../DropShardingAlgorithmStatementTestCase.java    |   2 -
 .../DropShardingAuditorStatementTestCase.java      |   2 -
 .../DropShardingKeyGeneratorStatementTestCase.java |   2 -
 ...hardingTableReferenceRuleStatementTestCase.java |   2 -
 .../DropShardingTableRuleStatementTestCase.java    |   2 -
 .../src/main/resources/case/ddl/create-index.xml   | 100 +--
 test/parser/src/main/resources/case/dml/copy.xml   |   6 +-
 test/parser/src/main/resources/case/dml/delete.xml |   6 +-
 test/parser/src/main/resources/case/dml/do.xml     |  74 +--
 test/parser/src/main/resources/case/dml/insert.xml |   6 +-
 .../src/main/resources/case/dml/select-with.xml    |  22 +-
 test/parser/src/main/resources/case/dml/update.xml |   8 +-
 .../src/main/resources/case/ral/migration.xml      |   4 +-
 .../src/main/resources/case/ral/updatable.xml      |  52 +-
 test/parser/src/main/resources/case/rdl/alter.xml  | 410 +++++-------
 test/parser/src/main/resources/case/rdl/create.xml | 724 +++++++++------------
 test/parser/src/main/resources/case/rdl/drop.xml   | 102 +--
 49 files changed, 579 insertions(+), 1009 deletions(-)

diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedAlgorithm.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedAlgorithm.java
index e1c50621be2..ec038e46f57 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedAlgorithm.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedAlgorithm.java
@@ -23,7 +23,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.List;
 
 /**
@@ -36,7 +35,6 @@ public final class ExpectedAlgorithm extends AbstractExpectedIdentifierSQLSegmen
     @XmlAttribute(name = "algorithm-name")
     private String name;
     
-    @XmlElementWrapper
     @XmlElement(name = "property")
     private List<ExpectedProperty> properties;
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedDataSource.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedDataSource.java
index 0ad275f0b9d..a6b1783fe47 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedDataSource.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/ExpectedDataSource.java
@@ -23,7 +23,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.List;
 
 /**
@@ -51,7 +50,6 @@ public final class ExpectedDataSource extends AbstractExpectedIdentifierSQLSegme
     @XmlAttribute
     private String password;
     
-    @XmlElementWrapper
     @XmlElement(name = "property")
     private List<ExpectedProperty> properties;
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExceptedReadwriteSplittingRule.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExceptedReadwriteSplittingRule.java
index dc3a1dfe5d2..684fff77606 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExceptedReadwriteSplittingRule.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExceptedReadwriteSplittingRule.java
@@ -24,7 +24,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.List;
 
 /**
@@ -46,7 +45,6 @@ public final class ExceptedReadwriteSplittingRule extends AbstractExpectedIdenti
     @XmlAttribute(name = "load-balancer")
     private String loadBalancer;
     
-    @XmlElementWrapper
     @XmlElement(name = "property")
     private List<ExpectedProperty> properties;
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedAuditStrategy.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedAuditStrategy.java
index 94e2203bd7c..a2ec4d02ecc 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedAuditStrategy.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedAuditStrategy.java
@@ -23,7 +23,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.Collection;
 
 /**
@@ -36,7 +35,6 @@ public final class ExpectedAuditStrategy extends AbstractExpectedIdentifierSQLSe
     @XmlAttribute(name = "allow-hint-disable")
     private boolean allowHintDisable;
     
-    @XmlElementWrapper(name = "auditors")
     @XmlElement(name = "auditor")
     private Collection<ExpectedShardingAuditor> auditors;
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryDefinitionRule.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryDefinitionRule.java
index f44f5571a35..9f36bfe550d 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryDefinitionRule.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryDefinitionRule.java
@@ -25,7 +25,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.Collection;
 import java.util.List;
 
@@ -45,7 +44,6 @@ public final class ExpectedDatabaseDiscoveryDefinitionRule extends AbstractExpec
     @XmlElement(name = "discovery-type")
     private ExpectedAlgorithm discoveryType;
     
-    @XmlElementWrapper
     @XmlElement(name = "property")
     private List<ExpectedProperty> properties;
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryHeartbeat.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryHeartbeat.java
index 5bdf48f25b0..84b81551a68 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryHeartbeat.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/distsql/rdl/ExpectedDatabaseDiscoveryHeartbeat.java
@@ -24,7 +24,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.List;
 
 /**
@@ -37,7 +36,6 @@ public final class ExpectedDatabaseDiscoveryHeartbeat extends AbstractExpectedId
     @XmlAttribute(name = "heartbeat-name")
     private String name;
     
-    @XmlElementWrapper
     @XmlElement(name = "property")
     private List<ExpectedProperty> properties;
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/with/ExpectedCommonTableExpressionClause.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/with/ExpectedCommonTableExpressionClause.java
index 49655c18928..21131b554a0 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/with/ExpectedCommonTableExpressionClause.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/segment/impl/with/ExpectedCommonTableExpressionClause.java
@@ -25,7 +25,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -39,7 +38,6 @@ public final class ExpectedCommonTableExpressionClause extends AbstractExpectedS
     @XmlAttribute
     private String name;
     
-    @XmlElementWrapper
     @XmlElement(name = "column")
     private final List<ExpectedColumn> columns = new LinkedList<>();
     
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ddl/CreateIndexStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ddl/CreateIndexStatementTestCase.java
index e5e94fd8853..50f7bb99ac5 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ddl/CreateIndexStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ddl/CreateIndexStatementTestCase.java
@@ -25,7 +25,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -42,7 +41,6 @@ public final class CreateIndexStatementTestCase extends SQLParserTestCase {
     @XmlElement
     private ExpectedTable table;
     
-    @XmlElementWrapper
     @XmlElement(name = "column")
     private List<ExpectedColumn> columns = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/dml/CopyStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/dml/CopyStatementTestCase.java
index 6b4c4157980..3c1a0e4a0cc 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/dml/CopyStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/dml/CopyStatementTestCase.java
@@ -25,7 +25,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -39,7 +38,6 @@ public final class CopyStatementTestCase extends SQLParserTestCase {
     @XmlElement
     private ExpectedSimpleTable table;
     
-    @XmlElementWrapper
     @XmlElement(name = "column")
     private List<ExpectedColumn> columns = new LinkedList<>();
     
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/dml/DoStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/dml/DoStatementTestCase.java
index 808fffaa545..b23228b596a 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/dml/DoStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/dml/DoStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class DoStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper(name = "parameters")
     @XmlElement(name = "parameter")
     private final List<ExpectedDoParameter> doParameters = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ral/AlterTrafficRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ral/AlterTrafficRuleStatementTestCase.java
index 6cf41792d0d..7751a1381ec 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ral/AlterTrafficRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ral/AlterTrafficRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class AlterTrafficRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExpectedTrafficRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ral/CreateTrafficRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ral/CreateTrafficRuleStatementTestCase.java
index 13b1b283a31..5ba0d2cce0c 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ral/CreateTrafficRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ral/CreateTrafficRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class CreateTrafficRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExpectedTrafficRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ral/DropTrafficRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ral/DropTrafficRuleStatementTestCase.java
index 37c2fe8ab28..efc1aa67fab 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ral/DropTrafficRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/ral/DropTrafficRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import lombok.Setter;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.Collection;
 
 /**
@@ -32,7 +31,6 @@ import java.util.Collection;
 @Setter
 public final class DropTrafficRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "name")
     private Collection<String> names;
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/dbdiscovery/AlterDatabaseDiscoveryDefinitionRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/dbdiscovery/AlterDatabaseDiscoveryDefinitionRuleStatementTestCase.java
index c2315e7da6d..aca64845303 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/dbdiscovery/AlterDatabaseDiscoveryDefinitionRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/dbdiscovery/AlterDatabaseDiscoveryDefinitionRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class AlterDatabaseDiscoveryDefinitionRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExpectedDatabaseDiscoveryDefinitionRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/dbdiscovery/CreateDatabaseDiscoveryDefinitionRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/dbdiscovery/CreateDatabaseDiscoveryDefinitionRuleStatementTestCase.java
index 2750aa50c9e..e1819a912e6 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/dbdiscovery/CreateDatabaseDiscoveryDefinitionRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/dbdiscovery/CreateDatabaseDiscoveryDefinitionRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class CreateDatabaseDiscoveryDefinitionRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExpectedDatabaseDiscoveryDefinitionRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/dbdiscovery/DropDatabaseDiscoveryRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/dbdiscovery/DropDatabaseDiscoveryRuleStatementTestCase.java
index 1c836771637..4dfd62b5a1d 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/dbdiscovery/DropDatabaseDiscoveryRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/dbdiscovery/DropDatabaseDiscoveryRuleStatementTestCase.java
@@ -23,7 +23,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.st
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -34,7 +33,6 @@ import java.util.List;
 @Setter
 public final class DropDatabaseDiscoveryRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "name")
     private final List<String> names = new LinkedList<>();
     
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/encrypt/AlterEncryptRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/encrypt/AlterEncryptRuleStatementTestCase.java
index 3ca333ee75b..a1d81b502a9 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/encrypt/AlterEncryptRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/encrypt/AlterEncryptRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class AlterEncryptRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExpectedEncryptRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/encrypt/CreateEncryptRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/encrypt/CreateEncryptRuleStatementTestCase.java
index 668cdbaf5c7..c54112ccf99 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/encrypt/CreateEncryptRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/encrypt/CreateEncryptRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class CreateEncryptRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExpectedEncryptRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/readwritesplitting/AlterReadwriteSplittingRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/readwritesplitting/AlterReadwriteSplittingRuleStatementTestCase.java
index d0bddd142c3..91c50d6f874 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/readwritesplitting/AlterReadwriteSplittingRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/readwritesplitting/AlterReadwriteSplittingRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class AlterReadwriteSplittingRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExceptedReadwriteSplittingRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/readwritesplitting/CreateReadwriteSplittingRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/readwritesplitting/CreateReadwriteSplittingRuleStatementTestCase.java
index 29ddd1b0f59..7d07b900509 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/readwritesplitting/CreateReadwriteSplittingRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/readwritesplitting/CreateReadwriteSplittingRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class CreateReadwriteSplittingRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExceptedReadwriteSplittingRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/readwritesplitting/DropReadwriteSplittingRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/readwritesplitting/DropReadwriteSplittingRuleStatementTestCase.java
index de1ea464cad..8c647fe7b2f 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/readwritesplitting/DropReadwriteSplittingRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/readwritesplitting/DropReadwriteSplittingRuleStatementTestCase.java
@@ -21,7 +21,6 @@ import lombok.Getter;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.DropRuleStatementTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -31,7 +30,6 @@ import java.util.List;
 @Getter
 public final class DropReadwriteSplittingRuleStatementTestCase extends DropRuleStatementTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "name")
     private final List<String> names = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/AlterShadowRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/AlterShadowRuleStatementTestCase.java
index be5f96f0576..de04c6bd958 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/AlterShadowRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/AlterShadowRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class AlterShadowRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExpectedShadowRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/CreateShadowRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/CreateShadowRuleStatementTestCase.java
index b15069b730d..b6b5d33315e 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/CreateShadowRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/CreateShadowRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class CreateShadowRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExpectedShadowRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/DropShadowAlgorithmStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/DropShadowAlgorithmStatementTestCase.java
index d0b9efe0ce8..9aefda7fbb4 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/DropShadowAlgorithmStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/DropShadowAlgorithmStatementTestCase.java
@@ -23,7 +23,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.st
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -37,7 +36,6 @@ public final class DropShadowAlgorithmStatementTestCase extends SQLParserTestCas
     @XmlAttribute(name = "if-exists")
     private boolean ifExists;
     
-    @XmlElementWrapper
     @XmlElement(name = "name")
     private final List<String> names = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/DropShadowRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/DropShadowRuleStatementTestCase.java
index 2d53bd9271c..c26c8243357 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/DropShadowRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/shadow/DropShadowRuleStatementTestCase.java
@@ -23,7 +23,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.st
 
 import javax.xml.bind.annotation.XmlAttribute;
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -37,7 +36,6 @@ public final class DropShadowRuleStatementTestCase extends SQLParserTestCase {
     @XmlAttribute(name = "if-exists")
     private boolean ifExists;
     
-    @XmlElementWrapper
     @XmlElement(name = "name")
     private final List<String> names = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/AlterShardingAutoTableRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/AlterShardingAutoTableRuleStatementTestCase.java
index 2dd69b4e4de..99f56db0d9c 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/AlterShardingAutoTableRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/AlterShardingAutoTableRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class AlterShardingAutoTableRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExpectedAutoTableRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/AlterShardingTableReferenceRulesStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/AlterShardingTableReferenceRulesStatementTestCase.java
index b989169c82a..ba49a94b9f8 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/AlterShardingTableReferenceRulesStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/AlterShardingTableReferenceRulesStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class AlterShardingTableReferenceRulesStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExpectedShardingTableReferenceRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/AlterShardingTableRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/AlterShardingTableRuleStatementTestCase.java
index c6ac5c0a054..19115b2eb6a 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/AlterShardingTableRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/AlterShardingTableRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class AlterShardingTableRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExpectedTableRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/CreateShardingAutoTableRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/CreateShardingAutoTableRuleStatementTestCase.java
index bc9b206b7d8..689f262209a 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/CreateShardingAutoTableRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/CreateShardingAutoTableRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class CreateShardingAutoTableRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExpectedAutoTableRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/CreateShardingTableReferenceRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/CreateShardingTableReferenceRuleStatementTestCase.java
index c182a671015..a59d51e3edd 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/CreateShardingTableReferenceRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/CreateShardingTableReferenceRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class CreateShardingTableReferenceRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExpectedShardingTableReferenceRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/CreateShardingTableRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/CreateShardingTableRuleStatementTestCase.java
index 3b9043c7e8b..5e7e282e2fd 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/CreateShardingTableRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/CreateShardingTableRuleStatementTestCase.java
@@ -22,7 +22,6 @@ import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.se
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.SQLParserTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -32,7 +31,6 @@ import java.util.List;
 @Getter
 public final class CreateShardingTableRuleStatementTestCase extends SQLParserTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<ExpectedTableRule> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropBroadcastTableRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropBroadcastTableRuleStatementTestCase.java
index 76c6b30e367..3de5c423125 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropBroadcastTableRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropBroadcastTableRuleStatementTestCase.java
@@ -21,7 +21,6 @@ import lombok.Getter;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.DropRuleStatementTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -31,7 +30,6 @@ import java.util.List;
 @Getter
 public final class DropBroadcastTableRuleStatementTestCase extends DropRuleStatementTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "table")
     private final List<String> tables = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingAlgorithmStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingAlgorithmStatementTestCase.java
index ce326ae840a..0d27a257888 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingAlgorithmStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingAlgorithmStatementTestCase.java
@@ -21,7 +21,6 @@ import lombok.Getter;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.DropRuleStatementTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -31,7 +30,6 @@ import java.util.List;
 @Getter
 public final class DropShardingAlgorithmStatementTestCase extends DropRuleStatementTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "name")
     private final List<String> names = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingAuditorStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingAuditorStatementTestCase.java
index 07ef97b6168..fed724aa09b 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingAuditorStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingAuditorStatementTestCase.java
@@ -21,7 +21,6 @@ import lombok.Getter;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.DropRuleStatementTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -31,7 +30,6 @@ import java.util.List;
 @Getter
 public final class DropShardingAuditorStatementTestCase extends DropRuleStatementTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "name")
     private final List<String> names = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingKeyGeneratorStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingKeyGeneratorStatementTestCase.java
index a41f0906d7d..f652212dade 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingKeyGeneratorStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingKeyGeneratorStatementTestCase.java
@@ -21,7 +21,6 @@ import lombok.Getter;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.DropRuleStatementTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -31,7 +30,6 @@ import java.util.List;
 @Getter
 public final class DropShardingKeyGeneratorStatementTestCase extends DropRuleStatementTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "name")
     private final List<String> names = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingTableReferenceRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingTableReferenceRuleStatementTestCase.java
index 040cbb49c0a..929f784244b 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingTableReferenceRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingTableReferenceRuleStatementTestCase.java
@@ -21,7 +21,6 @@ import lombok.Getter;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.DropRuleStatementTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -31,7 +30,6 @@ import java.util.List;
 @Getter
 public final class DropShardingTableReferenceRuleStatementTestCase extends DropRuleStatementTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "rule")
     private final List<String> rules = new LinkedList<>();
 }
diff --git a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingTableRuleStatementTestCase.java b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingTableRuleStatementTestCase.java
index fe32aba46cf..186c9d27e92 100644
--- a/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingTableRuleStatementTestCase.java
+++ b/test/parser/src/main/java/org/apache/shardingsphere/test/sql/parser/internal/cases/parser/domain/statement/rdl/rule/sharding/DropShardingTableRuleStatementTestCase.java
@@ -21,7 +21,6 @@ import lombok.Getter;
 import org.apache.shardingsphere.test.sql.parser.internal.cases.parser.domain.statement.DropRuleStatementTestCase;
 
 import javax.xml.bind.annotation.XmlElement;
-import javax.xml.bind.annotation.XmlElementWrapper;
 import java.util.LinkedList;
 import java.util.List;
 
@@ -31,7 +30,6 @@ import java.util.List;
 @Getter
 public final class DropShardingTableRuleStatementTestCase extends DropRuleStatementTestCase {
     
-    @XmlElementWrapper
     @XmlElement(name = "table")
     private final List<String> tables = new LinkedList<>();
 }
diff --git a/test/parser/src/main/resources/case/ddl/create-index.xml b/test/parser/src/main/resources/case/ddl/create-index.xml
index 135b50711a9..58b0a93e400 100644
--- a/test/parser/src/main/resources/case/ddl/create-index.xml
+++ b/test/parser/src/main/resources/case/ddl/create-index.xml
@@ -22,9 +22,7 @@
             <simple-table name="t_log" start-index="28" stop-index="32" />
         </table>
         <index name="t_log_index" start-index="13" stop-index="23" />
-        <columns start-index="35" stop-index="36">
-            <column start-index="35" stop-index="36" name="id" />
-        </columns>
+        <column start-index="35" stop-index="36" name="id" />
     </create-index>
     
     <create-index sql-case-id="create_unique_index">
@@ -32,27 +30,21 @@
             <simple-table name="t_log" start-index="35" stop-index="39" />
         </table>
         <index name="t_log_index" start-index="20" stop-index="30" />
-        <columns start-index="42" stop-index="43">
-            <column start-index="42" stop-index="43" name="id" />
-        </columns>
+        <column start-index="42" stop-index="43" name="id" />
     </create-index>
     
     <create-index sql-case-id="create_index_with_space">
         <table>
             <simple-table name="t_order" start-index="52" stop-index="58" />
         </table>
-        <columns>
-            <column start-index="61" stop-index="68" name="order_id" />
-        </columns>
+        <column start-index="61" stop-index="68" name="order_id" />
     </create-index>
     
     <create-index sql-case-id="create_index_with_back_quota">
         <table>
             <simple-table name="t_order" start-delimiter="`" end-delimiter="`" start-index="30" stop-index="38" />
         </table>
-        <columns start-index="41" stop-index="50">
-            <column start-index="41" stop-index="50" name="order_id" start-delimiter="`" end-delimiter="`" />
-        </columns>
+        <column start-index="41" stop-index="50" name="order_id" start-delimiter="`" end-delimiter="`" />
     </create-index>
     
     <create-index sql-case-id="create_composite_index">
@@ -60,20 +52,16 @@
             <simple-table name="t_order" start-index="28" stop-index="34" />
         </table>
         <index name="order_index" start-index="13" stop-index="23" />
-        <columns start-index="37" stop-index="61">
-            <column name="order_id" start-index="37" stop-index="44" />
-            <column name="user_id" start-index="47" stop-index="53" />
-            <column name="status" start-index="56" stop-index="61" />
-        </columns>
+        <column name="order_id" start-index="37" stop-index="44" />
+        <column name="user_id" start-index="47" stop-index="53" />
+        <column name="status" start-index="56" stop-index="61" />
     </create-index>
     
     <create-index sql-case-id="create_btree_index">
         <table>
             <simple-table name="t_order" start-index="28" stop-index="34" />
         </table>
-        <columns start-index="49" stop-index="56">
-            <column start-index="49" stop-index="56" name="order_id" />
-        </columns>
+        <column start-index="49" stop-index="56" name="order_id" />
     </create-index>
     
     <create-index sql-case-id="create_index_with_quota">
@@ -81,9 +69,7 @@
             <simple-table name="t_order" start-delimiter="&quot;" end-delimiter="&quot;" start-index="30" stop-index="38" />
         </table>
         <index name="order_index" start-delimiter="&quot;" end-delimiter="&quot;" start-index="13" stop-index="25" />
-        <columns start-index="41" stop-index="50">
-            <column start-index="41" stop-index="50" name="order_id" start-delimiter="&quot;" end-delimiter="&quot;" />
-        </columns>
+        <column start-index="41" stop-index="50" name="order_id" start-delimiter="&quot;" end-delimiter="&quot;" />
     </create-index>
     
     <create-index sql-case-id="create_index_with_function">
@@ -97,9 +83,7 @@
         <table>
             <simple-table name="t_order" start-delimiter="&quot;" end-delimiter="&quot;" start-index="30" stop-index="38" />
         </table>
-        <columns start-index="41" stop-index="50">
-            <column start-index="41" stop-index="50" name="order_id" start-delimiter="&quot;" end-delimiter="&quot;" />
-        </columns>
+        <column start-index="41" stop-index="50" name="order_id" start-delimiter="&quot;" end-delimiter="&quot;" />
     </create-index>
     
     <create-index sql-case-id="create_index_with_double_quota_and_uescape">
@@ -107,36 +91,28 @@
         <table>
             <simple-table name="u&amp;t_order" start-index="58" stop-index="68" />
         </table>
-        <columns start-index="71" stop-index="82">
-            <column start-index="71" stop-index="82" name="u&amp;order_id" />
-        </columns>
+        <column start-index="71" stop-index="82" name="u&amp;order_id" />
     </create-index>
     
     <create-index sql-case-id="create_index_concurrently">
         <table>
             <simple-table name="t_order" start-index="41" stop-index="47" />
         </table>
-        <columns start-index="50" stop-index="57">
-            <column start-index="50" stop-index="57" name="order_id" />
-        </columns>
+        <column start-index="50" stop-index="57" name="order_id" />
     </create-index>
     
     <create-index sql-case-id="create_index_if_not_exists">
         <table>
             <simple-table name="t_order" start-index="42" stop-index="48" />
         </table>
-        <columns start-index="51" stop-index="58">
-            <column start-index="51" stop-index="58" name="order_id" />
-        </columns>
+        <column start-index="51" stop-index="58" name="order_id" />
     </create-index>
     
     <create-index sql-case-id="create_index_using_btree">
         <table>
             <simple-table name="t_order" start-index="28" stop-index="34" />
         </table>
-        <columns start-index="49" stop-index="56">
-            <column start-index="49" stop-index="56" name="order_id" />
-        </columns>
+        <column start-index="49" stop-index="56" name="order_id" />
     </create-index>
     
     <create-index sql-case-id="create_index_with_unique">
@@ -144,9 +120,7 @@
             <simple-table name="t_order" start-index="35" stop-index="41" />
         </table>
         <index name="order_index" start-index="20" stop-index="30" />
-        <columns start-index="44" stop-index="51">
-            <column start-index="44" stop-index="51" name="order_id" />
-        </columns>
+        <column start-index="44" stop-index="51" name="order_id" />
     </create-index>
     
     <create-index sql-case-id="create_index_with_usable">
@@ -154,9 +128,7 @@
             <simple-table name="t_order" start-index="35" stop-index="41" />
         </table>
         <index name="order_index" start-index="20" stop-index="30" />
-        <columns start-index="44" stop-index="51">
-            <column start-index="44" stop-index="51" name="order_id" />
-        </columns>
+        <column start-index="44" stop-index="51" name="order_id" />
     </create-index>
     
     <create-index sql-case-id="create_index_with_unusable">
@@ -164,9 +136,7 @@
             <simple-table name="t_order" start-index="35" stop-index="41" />
         </table>
         <index name="order_index" start-index="20" stop-index="30" />
-        <columns start-index="44" stop-index="51">
-            <column start-index="44" stop-index="51" name="order_id" />
-        </columns>
+        <column start-index="44" stop-index="51" name="order_id" />
     </create-index>
     
     <create-index sql-case-id="create_index_with_immediate_invalidation">
@@ -174,9 +144,7 @@
             <simple-table name="t_order" start-index="35" stop-index="41" />
         </table>
         <index name="order_index" start-index="20" stop-index="30" />
-        <columns start-index="44" stop-index="51">
-            <column start-index="44" stop-index="51" name="order_id" />
-        </columns>
+        <column start-index="44" stop-index="51" name="order_id" />
     </create-index>
     
     <create-index sql-case-id="create_index_with_cluster_index">
@@ -188,36 +156,28 @@
             <simple-table name="t_order" start-index="35" stop-index="41" />
         </table>
         <index name="order_index" start-index="20" stop-index="30" />
-        <columns start-index="44" stop-index="51">
-            <column start-index="44" stop-index="51" name="order_id" />
-        </columns>
+        <column start-index="44" stop-index="51" name="order_id" />
     </create-index>
     
     <create-index sql-case-id="create_index_with_bracket">
         <table>
             <simple-table name="t_order" start-delimiter="[" end-delimiter="]" start-index="30" stop-index="38" />
         </table>
-        <columns start-index="41" stop-index="50">
-            <column start-index="41" stop-index="50" name="order_id" start-delimiter="[" end-delimiter="]" />
-        </columns>
+        <column start-index="41" stop-index="50" name="order_id" start-delimiter="[" end-delimiter="]" />
     </create-index>
 
     <create-index sql-case-id="create_index_with_no_default_fill_factor">
         <table>
             <simple-table name="t_order" start-index="35" stop-index="41" />
         </table>
-        <columns start-index="44" stop-index="51">
-            <column start-index="44" stop-index="51" name="order_id" />
-        </columns>
+        <column start-index="44" stop-index="51" name="order_id" />
     </create-index>
 
     <create-index sql-case-id="create_index_with_tablespace">
         <table>
             <simple-table name="t_order" start-index="25" stop-index="31" />
         </table>
-        <columns start-index="34" stop-index="37">
-            <column start-index="34" stop-index="37" name="code" />
-        </columns>
+        <column start-index="34" stop-index="37" name="code" />
     </create-index>
 
     <create-index sql-case-id="create_index_using_gist">
@@ -230,35 +190,27 @@
         <table>
             <simple-table name="t_order" start-index="50" stop-index="56" />
         </table>
-        <columns start-index="58" stop-index="65">
-            <column start-index="58" stop-index="65" name="quantity" />
-        </columns>
+        <column start-index="58" stop-index="65" name="quantity" />
     </create-index>
 
     <create-index sql-case-id="create_gin_index">
         <table>
             <simple-table name="t_order" start-index="24" stop-index="30" />
         </table>
-        <columns start-index="43" stop-index="51">
-            <column start-index="43" stop-index="51" name="locations" />
-        </columns>
+        <column start-index="43" stop-index="51" name="locations" />
     </create-index>
 
     <create-index sql-case-id="create_index_using_ignore_dup_key">
         <table>
             <simple-table name="t_order" start-index="32" stop-index="38" />
         </table>
-        <columns start-index="41" stop-index="48">
-            <column start-index="41" stop-index="48" name="order_id" />
-        </columns>
+        <column start-index="41" stop-index="48" name="order_id" />
     </create-index>
 
     <create-index sql-case-id="create_index_using_drop_existing">
         <table>
             <simple-table name="t_order" start-index="52" stop-index="58" />
         </table>
-        <columns start-index="60" stop-index="67">
-            <column start-index="60" stop-index="67" name="order_id" />
-        </columns>
+        <column start-index="60" stop-index="67" name="order_id" />
     </create-index>
 </sql-parser-test-cases>
diff --git a/test/parser/src/main/resources/case/dml/copy.xml b/test/parser/src/main/resources/case/dml/copy.xml
index 12c2285377e..dbcbe5e9b09 100644
--- a/test/parser/src/main/resources/case/dml/copy.xml
+++ b/test/parser/src/main/resources/case/dml/copy.xml
@@ -73,9 +73,7 @@
     
     <copy sql-case-id="copy_table_with_columns_to_file">
         <table name="t_order" start-index="5" stop-index="11" />
-        <columns start-index="13" stop-index="20">
-            <column name="id" start-index="13" stop-index="14" />
-            <column name="name" start-index="17" stop-index="20" />
-        </columns>
+        <column name="id" start-index="13" stop-index="14" />
+        <column name="name" start-index="17" stop-index="20" />
     </copy>
 </sql-parser-test-cases>
diff --git a/test/parser/src/main/resources/case/dml/delete.xml b/test/parser/src/main/resources/case/dml/delete.xml
index 844c9e3793f..2248f1a89f9 100644
--- a/test/parser/src/main/resources/case/dml/delete.xml
+++ b/test/parser/src/main/resources/case/dml/delete.xml
@@ -360,10 +360,8 @@
     <delete sql-case-id="delete_with_with_clause">
         <with start-index="0" stop-index="70">
             <common-table-expression name = "cte" start-index="5" stop-index="70">
-                <columns start-index="9" stop-index="27">
-                    <column name="order_id" start-index="10" stop-index="17"/>
-                    <column name="user_id" start-index="20" stop-index="26"/>
-                </columns>
+                <column name="order_id" start-index="10" stop-index="17"/>
+                <column name="user_id" start-index="20" stop-index="26"/>
                 <subquery-expression start-index="33" stop-index="69">
                     <select>
                         <from>
diff --git a/test/parser/src/main/resources/case/dml/do.xml b/test/parser/src/main/resources/case/dml/do.xml
index a3d9ac06728..c9fb850c95f 100644
--- a/test/parser/src/main/resources/case/dml/do.xml
+++ b/test/parser/src/main/resources/case/dml/do.xml
@@ -18,61 +18,47 @@
 
 <sql-parser-test-cases>
     <do sql-case-id="do_constant">
-        <parameters>
-            <parameter>
-                <literal-expression value="1" start-index="3" stop-index="3"/>
-            </parameter>
-        </parameters>
+        <parameter>
+            <literal-expression value="1" start-index="3" stop-index="3"/>
+        </parameter>
     </do>
-
+    
     <do sql-case-id="do_sleep">
-        <parameters>
-            <parameter>
-                <literal-expression value="SLEEP(1)" start-index="3" stop-index="10"/>
-            </parameter>
-        </parameters>
+        <parameter>
+            <literal-expression value="SLEEP(1)" start-index="3" stop-index="10"/>
+        </parameter>
     </do>
-
+    
     <do sql-case-id="do_multiple_sleep">
-        <parameters>
-            <parameter>
-                <literal-expression value="SLEEP(1)" start-index="3" stop-index="10"/>
-            </parameter>
-            <parameter>
-                <literal-expression value="SLEEP(2)" start-index="13" stop-index="20"/>
-            </parameter>
-        </parameters>
+        <parameter>
+            <literal-expression value="SLEEP(1)" start-index="3" stop-index="10"/>
+        </parameter>
+        <parameter>
+            <literal-expression value="SLEEP(2)" start-index="13" stop-index="20"/>
+        </parameter>
     </do>
-
+    
     <do sql-case-id="do_with_function_1">
-        <parameters>
-            <parameter>
-                <literal-expression value="FROM_BASE64(CAST((MID(UUID(),20,64)) AS BINARY(55)))" start-index="3" stop-index="54"/>
-            </parameter>
-        </parameters>
+        <parameter>
+            <literal-expression value="FROM_BASE64(CAST((MID(UUID(),20,64)) AS BINARY(55)))" start-index="3" stop-index="54"/>
+        </parameter>
     </do>
-
+    
     <do sql-case-id="do_with_function_2">
-        <parameters>
-            <parameter>
-                <literal-expression value="FROM_BASE64(CAST(RIGHT(11,1)AS BINARY(24)))" start-index="3" stop-index="45"/>
-            </parameter>
-        </parameters>
+        <parameter>
+            <literal-expression value="FROM_BASE64(CAST(RIGHT(11,1)AS BINARY(24)))" start-index="3" stop-index="45"/>
+        </parameter>
     </do>
-
+    
     <do sql-case-id="do_with_function_3">
-        <parameters>
-            <parameter>
-                <literal-expression value="COUNT(DISTINCT ROUND(CAST(SLEEP(0) AS DECIMAL), NULL))" start-index="3" stop-index="56"/>
-            </parameter>
-        </parameters>
+        <parameter>
+            <literal-expression value="COUNT(DISTINCT ROUND(CAST(SLEEP(0) AS DECIMAL), NULL))" start-index="3" stop-index="56"/>
+        </parameter>
     </do>
-
+    
     <do sql-case-id="do_with_crc32_function">
-        <parameters>
-            <parameter>
-                <literal-expression value="CRC32(CHAR(1.134475E+308))" start-index="3" stop-index="28"/>
-            </parameter>
-        </parameters>
+        <parameter>
+            <literal-expression value="CRC32(CHAR(1.134475E+308))" start-index="3" stop-index="28"/>
+        </parameter>
     </do>
 </sql-parser-test-cases>
diff --git a/test/parser/src/main/resources/case/dml/insert.xml b/test/parser/src/main/resources/case/dml/insert.xml
index 6657a19375f..5f916d0a40e 100644
--- a/test/parser/src/main/resources/case/dml/insert.xml
+++ b/test/parser/src/main/resources/case/dml/insert.xml
@@ -1536,10 +1536,8 @@
     <insert sql-case-id="insert_with_with_clause">
         <with start-index="0" stop-index="70">
             <common-table-expression name = "cte" start-index="5" stop-index="70">
-                <columns start-index="9" stop-index="27">
-                    <column name="order_id" start-index="10" stop-index="17"/>
-                    <column name="user_id" start-index="20" stop-index="26"/>
-                </columns>
+                <column name="order_id" start-index="10" stop-index="17"/>
+                <column name="user_id" start-index="20" stop-index="26"/>
                 <subquery-expression start-index="33" stop-index="69">
                     <select>
                         <from>
diff --git a/test/parser/src/main/resources/case/dml/select-with.xml b/test/parser/src/main/resources/case/dml/select-with.xml
index a642369cde4..a5cc2945783 100644
--- a/test/parser/src/main/resources/case/dml/select-with.xml
+++ b/test/parser/src/main/resources/case/dml/select-with.xml
@@ -179,9 +179,7 @@
                         </where>
                     </select>
                 </subquery-expression>
-                <columns start-index="219" stop-index="224">
-                    <column name="order1" start-index="219" stop-index="224" />
-                </columns>
+                <column name="order1" start-index="219" stop-index="224" />
             </common-table-expression>
         </with>
         <from>
@@ -230,9 +228,7 @@
                         </where>
                     </select>
                 </subquery-expression>
-                <columns start-index="229" stop-index="234">
-                    <column name="order1" start-index="229" stop-index="234" />
-                </columns>
+                <column name="order1" start-index="229" stop-index="234" />
             </common-table-expression>
         </with>
         <from>
@@ -269,9 +265,7 @@
                         </projections>
                     </select>
                 </subquery-expression>
-                <columns start-index="202" stop-index="207">
-                    <column name="order1" start-index="202" stop-index="207" />
-                </columns>
+                <column name="order1" start-index="202" stop-index="207" />
             </common-table-expression>
         </with>
         <from>
@@ -322,10 +316,8 @@
                         </projections>
                     </select>
                 </subquery-expression>
-                <columns start-index="10" stop-index="24">
-                    <column name="status" start-index="10" stop-index="15" />
-                    <column name="user_id" start-index="18" stop-index="24" />
-                </columns>
+                <column name="status" start-index="10" stop-index="15" />
+                <column name="user_id" start-index="18" stop-index="24" />
             </common-table-expression>
             <common-table-expression name="cte2" start-index="69" stop-index="119">
                 <subquery-expression start-index="87" stop-index="118">
@@ -338,9 +330,7 @@
                         </projections>
                     </select>
                 </subquery-expression>
-                <columns start-index="74" stop-index="80">
-                    <column name="item_id" start-index="74" stop-index="80" />
-                </columns>
+                <column name="item_id" start-index="74" stop-index="80" />
             </common-table-expression>
         </with>
         <from>
diff --git a/test/parser/src/main/resources/case/dml/update.xml b/test/parser/src/main/resources/case/dml/update.xml
index a3ce4f0d7f8..271a49ddc09 100644
--- a/test/parser/src/main/resources/case/dml/update.xml
+++ b/test/parser/src/main/resources/case/dml/update.xml
@@ -736,11 +736,9 @@
     <update sql-case-id="update_with_with_clause" parameters="1, 1">
         <with start-index="0" stop-index="86">
             <common-table-expression name = "cte" start-index="5" stop-index="86">
-                <columns start-index="9" stop-index="35">
-                    <column name="order_id" start-index="10" stop-index="17" />
-                    <column name="user_id" start-index="20" stop-index="26" />
-                    <column name="status" start-index="29" stop-index="34" />
-                </columns>
+                <column name="order_id" start-index="10" stop-index="17" />
+                <column name="user_id" start-index="20" stop-index="26" />
+                <column name="status" start-index="29" stop-index="34" />
                 <subquery-expression>
                     <select>
                         <from>
diff --git a/test/parser/src/main/resources/case/ral/migration.xml b/test/parser/src/main/resources/case/ral/migration.xml
index 429c460c334..4578df0b0c0 100644
--- a/test/parser/src/main/resources/case/ral/migration.xml
+++ b/test/parser/src/main/resources/case/ral/migration.xml
@@ -28,9 +28,7 @@
     <check-migration sql-case-id="check-migration-with-type">
         <job-id>123</job-id>
         <type-strategy algorithm-name="DEFAULT">
-            <properties>
-                <property key="test-property" value="4"/>
-            </properties>
+            <property key="test-property" value="4"/>
         </type-strategy>
     </check-migration>
     
diff --git a/test/parser/src/main/resources/case/ral/updatable.xml b/test/parser/src/main/resources/case/ral/updatable.xml
index 2fd92ee06c6..f3b11990a29 100644
--- a/test/parser/src/main/resources/case/ral/updatable.xml
+++ b/test/parser/src/main/resources/case/ral/updatable.xml
@@ -35,45 +35,31 @@
     <alter-xa-transaction-rule sql-case-id="alter-xa-transaction-rule" />
    
     <create-traffic-rule sql-case-id="create-traffic-rule">
-        <rules>
-            <rule name="sql_match_traffic">
-                <label>OLTP</label>
-                <traffic-algorithm algorithm-name="SQL_MATCH">
-                    <properties>
-                        <property key="sql" value="SELECT * FROM t_order WHERE order_id = ?; UPDATE t_order SET order_id = ?;" />
-                    </properties>
-                </traffic-algorithm>
-                <load-balancer algorithm-name="RANDOM">
-                    <properties>
-                        <property key="key" value="value" />
-                    </properties>
-                </load-balancer>
-            </rule>
-        </rules>
+        <rule name="sql_match_traffic">
+            <label>OLTP</label>
+            <traffic-algorithm algorithm-name="SQL_MATCH">
+                <property key="sql" value="SELECT * FROM t_order WHERE order_id = ?; UPDATE t_order SET order_id = ?;" />
+            </traffic-algorithm>
+            <load-balancer algorithm-name="RANDOM">
+                <property key="key" value="value" />
+            </load-balancer>
+        </rule>
     </create-traffic-rule>
     
     <alter-traffic-rule sql-case-id="alter-traffic-rule">
-        <rules>
-            <rule name="sql_match_traffic">
-                <label>OLTP</label>
-                <traffic-algorithm algorithm-name="SQL_MATCH">
-                    <properties>
-                        <property key="sql" value="SELECT * FROM t_order WHERE order_id = ?; UPDATE t_order SET order_id = ?;" />
-                    </properties>
-                </traffic-algorithm>
-                <load-balancer algorithm-name="RANDOM">
-                    <properties>
-                        <property key="key" value="value" />
-                    </properties>
-                </load-balancer>
-            </rule>
-        </rules>
+        <rule name="sql_match_traffic">
+            <label>OLTP</label>
+            <traffic-algorithm algorithm-name="SQL_MATCH">
+                <property key="sql" value="SELECT * FROM t_order WHERE order_id = ?; UPDATE t_order SET order_id = ?;" />
+            </traffic-algorithm>
+            <load-balancer algorithm-name="RANDOM">
+                <property key="key" value="value" />
+            </load-balancer>
+        </rule>
     </alter-traffic-rule>
     
     <drop-traffic-rule sql-case-id="drop-traffic-rule">
-        <names>
-            <name>rule_name</name>
-        </names>
+        <name>rule_name</name>
     </drop-traffic-rule>
     
     <alter-compute-node sql-case-id="alter-compute-node-xa-recovery-nodes" instance-id="instance_xa_recovery" key="XA_RECOVERY_NODES" value="instance_1" />
diff --git a/test/parser/src/main/resources/case/rdl/alter.xml b/test/parser/src/main/resources/case/rdl/alter.xml
index 67eb070c7b4..6ebb3cdc652 100644
--- a/test/parser/src/main/resources/case/rdl/alter.xml
+++ b/test/parser/src/main/resources/case/rdl/alter.xml
@@ -45,9 +45,7 @@
 
     <alter-storage-unit sql-case-id="alter-storage-unit-single-with-properties">
         <data-source name="ds_0" hostname="127.0.0.1" port="3306" db="test0" user="ROOT" password="123456">
-            <properties>
-                <property key="maxPoolSize" value="30" />
-            </properties>
+            <property key="maxPoolSize" value="30" />
         </data-source>
     </alter-storage-unit>
 
@@ -57,291 +55,215 @@
 
     <alter-storage-unit sql-case-id="alter-storage-unit-url-single-with-properties">
         <data-source name="ds_0" url="jdbc:mysql://127.0.0.1:3306/test0" user="ROOT" password="123456">
-            <properties>
-                <property key="maxPoolSize" value="30" />
-            </properties>
+            <property key="maxPoolSize" value="30" />
         </data-source>
     </alter-storage-unit>
     
     <alter-sharding-auto-table-rule sql-case-id="alter-sharding-auto-table-rule">
-        <rules>
-            <rule name="t_order" table-strategy-column="order_id" key-generate-strategy-column="another_id">
-                <data-source>ms_group_0</data-source>
-                <data-source>ms_group_1</data-source>
-                <table-strategy algorithm-name="hash_mod">
-                    <properties>
-                        <property key="sharding-count" value="4" />
-                    </properties>
-                </table-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-            </rule>
-        </rules>
+        <rule name="t_order" table-strategy-column="order_id" key-generate-strategy-column="another_id">
+            <data-source>ms_group_0</data-source>
+            <data-source>ms_group_1</data-source>
+            <table-strategy algorithm-name="hash_mod">
+                <property key="sharding-count" value="4" />
+            </table-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+        </rule>
     </alter-sharding-auto-table-rule>
 
     <alter-sharding-auto-table-rule sql-case-id="alter-sharding-auto-table-rule-with-inline-expression">
-        <rules>
-            <rule name="t_order" table-strategy-column="order_id" key-generate-strategy-column="another_id">
-                <data-source>ms_group_${0..1}</data-source>
-                <table-strategy algorithm-name="hash_mod">
-                    <properties>
-                        <property key="sharding-count" value="4" />
-                    </properties>
-                </table-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-            </rule>
-        </rules>
+        <rule name="t_order" table-strategy-column="order_id" key-generate-strategy-column="another_id">
+            <data-source>ms_group_${0..1}</data-source>
+            <table-strategy algorithm-name="hash_mod">
+                <property key="sharding-count" value="4" />
+            </table-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+        </rule>
     </alter-sharding-auto-table-rule>
     
     <alter-sharding-auto-table-rule sql-case-id="alter-sharding-auto-table-rule-with-auditor">
-        <rules>
-            <rule name="t_order" table-strategy-column="order_id" key-generate-strategy-column="another_id">
-                <data-source>ms_group_${0..1}</data-source>
-                <table-strategy algorithm-name="hash_mod">
-                    <properties>
-                        <property key="sharding-count" value="4" />
-                    </properties>
-                </table-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-                <audit-strategy allow-hint-disable="true">
-                    <auditors>
-                        <auditor auditor-name = "t_order_dml_sharding_conditions_0">
-                            <algorithm algorithm-name="DML_SHARDING_CONDITIONS" />
-                        </auditor>
-                    </auditors>
-                </audit-strategy>
-            </rule>
-        </rules>
+        <rule name="t_order" table-strategy-column="order_id" key-generate-strategy-column="another_id">
+            <data-source>ms_group_${0..1}</data-source>
+            <table-strategy algorithm-name="hash_mod">
+                <property key="sharding-count" value="4" />
+            </table-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+            <audit-strategy allow-hint-disable="true">
+                <auditor auditor-name = "t_order_dml_sharding_conditions_0">
+                    <algorithm algorithm-name="DML_SHARDING_CONDITIONS" />
+                </auditor>
+            </audit-strategy>
+        </rule>
     </alter-sharding-auto-table-rule>
 
     <alter-sharding-table-rule sql-case-id="alter-sharding-table-rule">
-        <rules>
-            <rule name="t_order" key-generate-strategy-column="another_id">
-                <data-node>ms_group_${0..1}.t_order_${0..1}</data-node>
-                <table-strategy type="standard" sharding-column="user_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="t_order_${user_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </table-strategy>
-                <database-strategy type="standard" sharding-column="order_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </database-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-            </rule>
-        </rules>
+        <rule name="t_order" key-generate-strategy-column="another_id">
+            <data-node>ms_group_${0..1}.t_order_${0..1}</data-node>
+            <table-strategy type="standard" sharding-column="user_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="t_order_${user_id % 2}" />
+                </algorithm-segment>
+            </table-strategy>
+            <database-strategy type="standard" sharding-column="order_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
+                </algorithm-segment>
+            </database-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+        </rule>
     </alter-sharding-table-rule>
 
     <alter-sharding-table-rule sql-case-id="alter-sharding-table-rule-complex">
-        <rules>
-            <rule name="t_order" key-generate-strategy-column="another_id">
-                <data-node>ms_group_${0..1}_${0..1}.t_order_${0..1}</data-node>
-                <table-strategy type="standard" sharding-column="user_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="t_order_${user_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </table-strategy>
-                <database-strategy type="complex" sharding-column="order_id,user_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="ms_group_${order_id % 2}_${user_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </database-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-            </rule>
-        </rules>
+        <rule name="t_order" key-generate-strategy-column="another_id">
+            <data-node>ms_group_${0..1}_${0..1}.t_order_${0..1}</data-node>
+            <table-strategy type="standard" sharding-column="user_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="t_order_${user_id % 2}" />
+                </algorithm-segment>
+            </table-strategy>
+            <database-strategy type="complex" sharding-column="order_id,user_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="ms_group_${order_id % 2}_${user_id % 2}" />
+                </algorithm-segment>
+            </database-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+        </rule>
     </alter-sharding-table-rule>
     
     <alter-sharding-table-rule sql-case-id="alter-sharding-table-rule-with-auditor">
-        <rules>
-            <rule name="t_order" key-generate-strategy-column="another_id">
-                <data-node>ms_group_${0..1}.t_order_${0..1}</data-node>
-                <table-strategy type="standard" sharding-column="user_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="t_order_${user_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </table-strategy>
-                <database-strategy type="standard" sharding-column="order_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </database-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-                <audit-strategy allow-hint-disable="true">
-                    <auditors>
-                        <auditor auditor-name = "t_order_dml_sharding_conditions_0">
-                            <algorithm algorithm-name="DML_SHARDING_CONDITIONS" />
-                        </auditor>
-                    </auditors>
-                </audit-strategy>
-            </rule>
-        </rules>
+        <rule name="t_order" key-generate-strategy-column="another_id">
+            <data-node>ms_group_${0..1}.t_order_${0..1}</data-node>
+            <table-strategy type="standard" sharding-column="user_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="t_order_${user_id % 2}" />
+                </algorithm-segment>
+            </table-strategy>
+            <database-strategy type="standard" sharding-column="order_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
+                </algorithm-segment>
+            </database-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+            <audit-strategy allow-hint-disable="true">
+                <auditor auditor-name = "t_order_dml_sharding_conditions_0">
+                    <algorithm algorithm-name="DML_SHARDING_CONDITIONS" />
+                </auditor>
+            </audit-strategy>
+        </rule>
     </alter-sharding-table-rule>
     
     <alter-sharding-table-reference-rule sql-case-id="alter-sharding-table-reference-rule">
-        <rules>
-            <rule table-groups="t_order,t_order_item" />
-            <rule table-groups="t_1,t_2" />
-        </rules>
+        <rule table-groups="t_order,t_order_item" />
+        <rule table-groups="t_1,t_2" />
     </alter-sharding-table-reference-rule>
     
     <alter-readwrite-splitting-rule sql-case-id="alter-readwrite-splitting-rule">
-        <rules>
-            <rule name="ms_group_0" auto-aware-resource="group_0" load-balancer="random">
-                <properties>
-                    <property key="read_weight" value="2:1" />
-                </properties>
-            </rule>
-            <rule name="ms_group_1" write-data-source="primary_ds" load-balancer="random">
-                <read-data-source>replica_ds_0</read-data-source>
-                <read-data-source>replica_ds_1</read-data-source>
-            </rule>
-        </rules>
+        <rule name="ms_group_0" auto-aware-resource="group_0" load-balancer="random">
+            <property key="read_weight" value="2:1" />
+        </rule>
+        <rule name="ms_group_1" write-data-source="primary_ds" load-balancer="random">
+            <read-data-source>replica_ds_0</read-data-source>
+            <read-data-source>replica_ds_1</read-data-source>
+        </rule>
     </alter-readwrite-splitting-rule>
 
     <alter-database-discovery-definition-rule sql-case-id="alter-database-discovery-definition-rule">
-        <rules>
-            <rule rule-name="ha_group_0" type="mgr">
-                <data-source>ds_0</data-source>
-                <data-source>ds_1</data-source>
-                <discovery-type algorithm-name="mgr">
-                    <properties>
-                        <property key="groupName" value="92504d5b-6dec" />
-                    </properties>
-                </discovery-type>
-                <properties>
-                    <property key="keepAliveCron" value="0/5 * * * * ?" />
-                </properties>
-            </rule>
-            <rule rule-name="ha_group_1" type="mgr2">
-                <data-source>ds_2</data-source>
-                <data-source>ds_3</data-source>
-                <discovery-type algorithm-name="mgr2">
-                    <properties>
-                        <property key="groupName" value="92504d5b-6dec-2" />
-                    </properties>
-                </discovery-type>
-                <properties>
-                    <property key="keepAliveCron" value="0/6 * * * * ?" />
-                </properties>
-            </rule>
-        </rules>
+        <rule rule-name="ha_group_0" type="mgr">
+            <data-source>ds_0</data-source>
+            <data-source>ds_1</data-source>
+            <discovery-type algorithm-name="mgr">
+                <property key="groupName" value="92504d5b-6dec" />
+            </discovery-type>
+            <property key="keepAliveCron" value="0/5 * * * * ?" />
+        </rule>
+        <rule rule-name="ha_group_1" type="mgr2">
+            <data-source>ds_2</data-source>
+            <data-source>ds_3</data-source>
+            <discovery-type algorithm-name="mgr2">
+                <property key="groupName" value="92504d5b-6dec-2" />
+            </discovery-type>
+            <property key="keepAliveCron" value="0/6 * * * * ?" />
+        </rule>
     </alter-database-discovery-definition-rule>
     
     <alter-encrypt-rule sql-case-id="alter-encrypt-rule">
-        <rules>
-            <rule name="t_encrypt">
-                <column name="user_id" plain-column="user_plain" cipher-column="user_cipher">
-                    <encryptor algorithm-name="AES">
-                        <properties>
-                            <property key="aes-key-value" value="123456abc" />
-                        </properties>
-                    </encryptor>
-                </column>
-                <column name="order_id" cipher-column="order_cipher">
-                    <encryptor algorithm-name="MD5" />
-                </column>
-            </rule>
-        </rules>
+        <rule name="t_encrypt">
+            <column name="user_id" plain-column="user_plain" cipher-column="user_cipher">
+                <encryptor algorithm-name="AES">
+                    <property key="aes-key-value" value="123456abc" />
+                </encryptor>
+            </column>
+            <column name="order_id" cipher-column="order_cipher">
+                <encryptor algorithm-name="MD5" />
+            </column>
+        </rule>
     </alter-encrypt-rule>
 
     <alter-encrypt-rule sql-case-id="alter-encrypt-rule-with-assisted-query-column">
-        <rules>
-            <rule name="t_encrypt">
-                <column name="user_id" plain-column="user_plain" cipher-column="user_cipher" assisted-query-column="assisted_column">
-                    <encryptor algorithm-name="AES">
-                        <properties>
-                            <property key="aes-key-value" value="123456abc" />
-                        </properties>
-                    </encryptor>
-                    <assisted-query-encryptor algorithm-name="MD5" />
-                </column>
-                <column name="order_id" cipher-column="order_cipher">
-                    <encryptor algorithm-name="MD5" />
-                </column>
-            </rule>
-        </rules>
+        <rule name="t_encrypt">
+            <column name="user_id" plain-column="user_plain" cipher-column="user_cipher" assisted-query-column="assisted_column">
+                <encryptor algorithm-name="AES">
+                    <property key="aes-key-value" value="123456abc" />
+                </encryptor>
+                <assisted-query-encryptor algorithm-name="MD5" />
+            </column>
+            <column name="order_id" cipher-column="order_cipher">
+                <encryptor algorithm-name="MD5" />
+            </column>
+        </rule>
     </alter-encrypt-rule>
     
     <alter-encrypt-rule sql-case-id="alter-encrypt-rule-with-like-query-column">
-        <rules>
-            <rule name="t_encrypt">
-                <column name="user_id" plain-column="user_plain" cipher-column="user_cipher" like-query-column="like_column">
-                    <encryptor algorithm-name="AES">
-                        <properties>
-                            <property key="aes-key-value" value="123456abc"/>
-                        </properties>
-                    </encryptor>
-                    <like-query-encryptor algorithm-name="CHAR_DIGEST_LIKE"/>
-                </column>
-                <column name="order_id" cipher-column="order_cipher">
-                    <encryptor algorithm-name="MD5"/>
-                </column>
-            </rule>
-        </rules>
+        <rule name="t_encrypt">
+            <column name="user_id" plain-column="user_plain" cipher-column="user_cipher" like-query-column="like_column">
+                <encryptor algorithm-name="AES">
+                    <property key="aes-key-value" value="123456abc"/>
+                </encryptor>
+                <like-query-encryptor algorithm-name="CHAR_DIGEST_LIKE"/>
+            </column>
+            <column name="order_id" cipher-column="order_cipher">
+                <encryptor algorithm-name="MD5"/>
+            </column>
+        </rule>
     </alter-encrypt-rule>
     
     <alter-encrypt-rule sql-case-id="alter-encrypt-rule-with-query-with-cipher-column">
-        <rules>
-            <rule name="t_encrypt" query-with-cipher-column="false">
-                <column name="user_id" plain-column="user_plain" cipher-column="user_cipher">
-                    <encryptor algorithm-name="AES">
-                        <properties>
-                            <property key="aes-key-value" value="123456abc" />
-                        </properties>
-                    </encryptor>
-                </column>
-                <column name="order_id" cipher-column="order_cipher">
-                    <encryptor algorithm-name="MD5" />
-                </column>
-            </rule>
-        </rules>
+        <rule name="t_encrypt" query-with-cipher-column="false">
+            <column name="user_id" plain-column="user_plain" cipher-column="user_cipher">
+                <encryptor algorithm-name="AES">
+                    <property key="aes-key-value" value="123456abc" />
+                </encryptor>
+            </column>
+            <column name="order_id" cipher-column="order_cipher">
+                <encryptor algorithm-name="MD5" />
+            </column>
+        </rule>
     </alter-encrypt-rule>
     
     <alter-shadow-rule sql-case-id="alter-shadow-rule">
-        <rules>
-            <rule name="rule" rule-name="shadow_rule" source="demo_ds" shadow="demo_ds_shadow">
-                <table-rule table-name="t_order">
-                    <shadow-algorithm algorithm-id="shadow_rule_t_order_regex_match_0">
-                        <algorithm algorithm-name="REGEX_MATCH">
-                            <properties>
-                                <property key="operation" value="insert" />
-                                <property key="column" value="user_id" />
-                                <property key="regex" value="[1]" />
-                            </properties>
-                        </algorithm>
-                    </shadow-algorithm>
-                    <shadow-algorithm algorithm-id="shadow_rule_t_order_simple_hint_1">
-                        <algorithm algorithm-name="SIMPLE_HINT">
-                            <properties>
-                                <property key="shadow" value="true" />
-                                <property key="foo" value="bar" />
-                            </properties>
-                        </algorithm>
-                    </shadow-algorithm>
-                </table-rule>
-            </rule>
-        </rules>
+        <rule name="rule" rule-name="shadow_rule" source="demo_ds" shadow="demo_ds_shadow">
+            <table-rule table-name="t_order">
+                <shadow-algorithm algorithm-id="shadow_rule_t_order_regex_match_0">
+                    <algorithm algorithm-name="REGEX_MATCH">
+                        <property key="operation" value="insert" />
+                        <property key="column" value="user_id" />
+                        <property key="regex" value="[1]" />
+                    </algorithm>
+                </shadow-algorithm>
+                <shadow-algorithm algorithm-id="shadow_rule_t_order_simple_hint_1">
+                    <algorithm algorithm-name="SIMPLE_HINT">
+                        <property key="shadow" value="true" />
+                        <property key="foo" value="bar" />
+                    </algorithm>
+                </shadow-algorithm>
+            </table-rule>
+        </rule>
     </alter-shadow-rule>
     
     <alter-default-shadow-algorithm sql-case-id="alter-default-shadow-algorithm">
         <shadow-algorithm algorithm-id="default">
             <algorithm algorithm-name="SIMPLE_HINT">
-                <properties>
-                    <property key="shadow" value="true" />
-                    <property key="foo" value="bar" />
-                </properties>
+                <property key="shadow" value="true" />
+                <property key="foo" value="bar" />
             </algorithm>
         </shadow-algorithm>
     </alter-default-shadow-algorithm>
@@ -355,9 +277,7 @@
     <alter-default-sharding-strategy sql-case-id="alter-default-sharding-strategy">
         <strategy default-type="TABLE" strategy-type="standard" sharding-column="order_id">
             <algorithm-segment algorithm-name="INLINE">
-                <properties>
-                    <property key="algorithm-expression" value="t_order_${order_id % 2}" />
-                </properties>
+                <property key="algorithm-expression" value="t_order_${order_id % 2}" />
             </algorithm-segment>
         </strategy>
     </alter-default-sharding-strategy>
@@ -365,9 +285,7 @@
     <alter-default-sharding-strategy sql-case-id="alter-default-sharding-strategy-complex">
         <strategy default-type="TABLE" strategy-type="complex" sharding-column="order_id,user_id">
             <algorithm-segment algorithm-name="INLINE">
-                <properties>
-                    <property key="algorithm-expression" value="t_order_${order_id % 2}_${user_id % 2}" />
-                </properties>
+                <property key="algorithm-expression" value="t_order_${order_id % 2}_${user_id % 2}" />
             </algorithm-segment>
         </strategy>
     </alter-default-sharding-strategy>
diff --git a/test/parser/src/main/resources/case/rdl/create.xml b/test/parser/src/main/resources/case/rdl/create.xml
index 06b6469a233..4d8caec3559 100644
--- a/test/parser/src/main/resources/case/rdl/create.xml
+++ b/test/parser/src/main/resources/case/rdl/create.xml
@@ -53,10 +53,8 @@
 
     <register-storage-unit sql-case-id="register-storage-unit-single-with-properties">
         <data-source name="ds_0" hostname="127.0.0.1" port="3306" db="test0" user="ROOT" password="123456">
-            <properties>
-                <property key="maxPoolSize" value="30" />
-                <property key="idleTimeout" value="30000" />
-            </properties>
+            <property key="maxPoolSize" value="30" />
+            <property key="idleTimeout" value="30000" />
         </data-source>
     </register-storage-unit>
 
@@ -66,268 +64,200 @@
 
     <register-storage-unit sql-case-id="register-storage-unit-url-single-with-properties">
         <data-source name="ds_0" url="jdbc:mysql://127.0.0.1:3306/test0" user="ROOT" password="123456">
-            <properties>
-                <property key="maxPoolSize" value="30"/>
-            </properties>
+            <property key="maxPoolSize" value="30"/>
         </data-source>
     </register-storage-unit>
     
     <create-sharding-auto-table-rule sql-case-id="create-sharding-auto-table-rule">
-        <rules>
-            <rule name="t_order" table-strategy-column="order_id" key-generate-strategy-column="another_id">
-                <data-source>ms_group_0</data-source>
-                <data-source>ms_group_1</data-source>
-                <table-strategy algorithm-name="hash_mod">
-                    <properties>
-                        <property key="sharding-count" value="4"/>
-                    </properties>
-                </table-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-            </rule>
-        </rules>
+        <rule name="t_order" table-strategy-column="order_id" key-generate-strategy-column="another_id">
+            <data-source>ms_group_0</data-source>
+            <data-source>ms_group_1</data-source>
+            <table-strategy algorithm-name="hash_mod">
+                <property key="sharding-count" value="4"/>
+            </table-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+        </rule>
     </create-sharding-auto-table-rule>
 
     <create-sharding-auto-table-rule sql-case-id="create-sharding-auto-table-rule-with-quota">
-        <rules>
-            <rule name="t_order" table-strategy-column="order_id" key-generate-strategy-column="another_id">
-                <data-source>ms_group_0</data-source>
-                <data-source>ms_group_1</data-source>
-                <table-strategy algorithm-name="hash_mod">
-                    <properties>
-                        <property key="sharding-count" value="4"/>
-                    </properties>
-                </table-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-            </rule>
-        </rules>
+        <rule name="t_order" table-strategy-column="order_id" key-generate-strategy-column="another_id">
+            <data-source>ms_group_0</data-source>
+            <data-source>ms_group_1</data-source>
+            <table-strategy algorithm-name="hash_mod">
+                <property key="sharding-count" value="4"/>
+            </table-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+        </rule>
     </create-sharding-auto-table-rule>
     
     <create-sharding-auto-table-rule sql-case-id="create-sharding-auto-table-rule-with-inline-expression">
-        <rules>
-            <rule name="t_order" table-strategy-column="order_id" key-generate-strategy-column="another_id">
-                <data-source>ms_group_${0..1}</data-source>
-                <table-strategy algorithm-name="hash_mod">
-                    <properties>
-                        <property key="sharding-count" value="4" />
-                    </properties>
-                </table-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-            </rule>
-        </rules>
+        <rule name="t_order" table-strategy-column="order_id" key-generate-strategy-column="another_id">
+            <data-source>ms_group_${0..1}</data-source>
+            <table-strategy algorithm-name="hash_mod">
+                <property key="sharding-count" value="4" />
+            </table-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+        </rule>
     </create-sharding-auto-table-rule>
     
     <create-sharding-auto-table-rule sql-case-id="create-sharding-auto-table-rule-with-auditor">
-        <rules>
-            <rule name="t_order" table-strategy-column="order_id" key-generate-strategy-column="another_id">
-                <data-source>ms_group_${0..1}</data-source>
-                <table-strategy algorithm-name="hash_mod">
-                    <properties>
-                        <property key="sharding-count" value="4" />
-                    </properties>
-                </table-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-                <audit-strategy allow-hint-disable="true">
-                    <auditors>
-                        <auditor auditor-name = "t_order_dml_sharding_conditions_0">
-                            <algorithm algorithm-name="DML_SHARDING_CONDITIONS" />
-                        </auditor>
-                        <auditor auditor-name = "t_order_dml_sharding_conditions_1">
-                            <algorithm algorithm-name="DML_SHARDING_CONDITIONS" />
-                        </auditor>
-                    </auditors>
-                </audit-strategy>
-            </rule>
-        </rules>
+        <rule name="t_order" table-strategy-column="order_id" key-generate-strategy-column="another_id">
+            <data-source>ms_group_${0..1}</data-source>
+            <table-strategy algorithm-name="hash_mod">
+                <property key="sharding-count" value="4" />
+            </table-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+            <audit-strategy allow-hint-disable="true">
+                <auditor auditor-name = "t_order_dml_sharding_conditions_0">
+                    <algorithm algorithm-name="DML_SHARDING_CONDITIONS" />
+                </auditor>
+                <auditor auditor-name = "t_order_dml_sharding_conditions_1">
+                    <algorithm algorithm-name="DML_SHARDING_CONDITIONS" />
+                </auditor>
+            </audit-strategy>
+        </rule>
     </create-sharding-auto-table-rule>
 
     <create-sharding-table-rule sql-case-id="create-sharding-table-rule">
-        <rules>
-            <rule name="t_order" key-generate-strategy-column="another_id">
-                <data-node>ms_group_${0..1}.t_order_${0..1}</data-node>
-                <table-strategy type="standard" sharding-column="user_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="t_order_${user_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </table-strategy>
-                <database-strategy type="standard" sharding-column="order_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </database-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-            </rule>
-            <rule name="t_order_item" key-generate-strategy-column="another_id">
-                <data-node>ms_group_${0..1}.t_order_item_${0..1}</data-node>
-                <table-strategy type="standard" sharding-column="user_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="t_order_item_${user_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </table-strategy>
-                <database-strategy type="standard" sharding-column="order_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </database-strategy>
-            </rule>
-        </rules>
+        <rule name="t_order" key-generate-strategy-column="another_id">
+            <data-node>ms_group_${0..1}.t_order_${0..1}</data-node>
+            <table-strategy type="standard" sharding-column="user_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="t_order_${user_id % 2}" />
+                </algorithm-segment>
+            </table-strategy>
+            <database-strategy type="standard" sharding-column="order_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
+                </algorithm-segment>
+            </database-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+        </rule>
+        <rule name="t_order_item" key-generate-strategy-column="another_id">
+            <data-node>ms_group_${0..1}.t_order_item_${0..1}</data-node>
+            <table-strategy type="standard" sharding-column="user_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="t_order_item_${user_id % 2}" />
+                </algorithm-segment>
+            </table-strategy>
+            <database-strategy type="standard" sharding-column="order_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
+                </algorithm-segment>
+            </database-strategy>
+        </rule>
     </create-sharding-table-rule>
 
     <create-sharding-table-rule sql-case-id="create-sharding-table-rule-with-enum-inline-expression">
-        <rules>
-            <rule name="t_order" key-generate-strategy-column="another_id">
-                <data-node>ms_group_${['abc','ac']}.t_order_${0..1}</data-node>
-                <table-strategy type="standard" sharding-column="user_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="t_order_${user_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </table-strategy>
-                <database-strategy type="standard" sharding-column="order_name">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="ms_group_${order_name}" />
-                        </properties>
-                    </algorithm-segment>
-                </database-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-            </rule>
-            <rule name="t_order_item" key-generate-strategy-column="another_id">
-                <data-node>ms_group_${0..1}.t_order_item_${0..1}</data-node>
-                <table-strategy type="standard" sharding-column="user_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="t_order_item_${user_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </table-strategy>
-                <database-strategy type="standard" sharding-column="order_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </database-strategy>
-            </rule>
-        </rules>
+        <rule name="t_order" key-generate-strategy-column="another_id">
+            <data-node>ms_group_${['abc','ac']}.t_order_${0..1}</data-node>
+            <table-strategy type="standard" sharding-column="user_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="t_order_${user_id % 2}" />
+                </algorithm-segment>
+            </table-strategy>
+            <database-strategy type="standard" sharding-column="order_name">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="ms_group_${order_name}" />
+                </algorithm-segment>
+            </database-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+        </rule>
+        <rule name="t_order_item" key-generate-strategy-column="another_id">
+            <data-node>ms_group_${0..1}.t_order_item_${0..1}</data-node>
+            <table-strategy type="standard" sharding-column="user_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="t_order_item_${user_id % 2}" />
+                </algorithm-segment>
+            </table-strategy>
+            <database-strategy type="standard" sharding-column="order_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
+                </algorithm-segment>
+            </database-strategy>
+        </rule>
     </create-sharding-table-rule>
 
     <create-sharding-table-rule sql-case-id="create-sharding-table-rule-complex">
-        <rules>
-            <rule name="t_order" key-generate-strategy-column="another_id">
-                <data-node>ms_group_${0..1}_${0..1}.t_order_${0..1}</data-node>
-                <table-strategy type="standard" sharding-column="user_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="t_order_${user_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </table-strategy>
-                <database-strategy type="complex" sharding-column="order_id,user_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="ms_group_${order_id % 2}_${user_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </database-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-            </rule>
-            <rule name="t_order_item" key-generate-strategy-column="another_id">
-                <data-node>ms_group_${0..1}.t_order_item_${0..1}</data-node>
-                <table-strategy type="standard" sharding-column="user_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="t_order_item_${user_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </table-strategy>
-                <database-strategy type="standard" sharding-column="order_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </database-strategy>
-            </rule>
-        </rules>
+        <rule name="t_order" key-generate-strategy-column="another_id">
+            <data-node>ms_group_${0..1}_${0..1}.t_order_${0..1}</data-node>
+            <table-strategy type="standard" sharding-column="user_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="t_order_${user_id % 2}" />
+                </algorithm-segment>
+            </table-strategy>
+            <database-strategy type="complex" sharding-column="order_id,user_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="ms_group_${order_id % 2}_${user_id % 2}" />
+                </algorithm-segment>
+            </database-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+        </rule>
+        <rule name="t_order_item" key-generate-strategy-column="another_id">
+            <data-node>ms_group_${0..1}.t_order_item_${0..1}</data-node>
+            <table-strategy type="standard" sharding-column="user_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="t_order_item_${user_id % 2}" />
+                </algorithm-segment>
+            </table-strategy>
+            <database-strategy type="standard" sharding-column="order_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
+                </algorithm-segment>
+            </database-strategy>
+        </rule>
     </create-sharding-table-rule>
     
     <create-sharding-table-rule sql-case-id="create-sharding-table-rule-with-auto-create-algorithm">
-        <rules>
-            <rule name="t_order" key-generate-strategy-column="another_id">
-                <data-node>ms_group_${0..1}.t_order_${0..1}</data-node>
-                <table-strategy type="standard" sharding-column="user_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="t_order_${user_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </table-strategy>
-                <database-strategy type="standard" sharding-column="order_id" >
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </database-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-            </rule>
-        </rules>
+        <rule name="t_order" key-generate-strategy-column="another_id">
+            <data-node>ms_group_${0..1}.t_order_${0..1}</data-node>
+            <table-strategy type="standard" sharding-column="user_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="t_order_${user_id % 2}" />
+                </algorithm-segment>
+            </table-strategy>
+            <database-strategy type="standard" sharding-column="order_id" >
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
+                </algorithm-segment>
+            </database-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+        </rule>
     </create-sharding-table-rule>
     
     <create-sharding-table-rule sql-case-id="create-sharding-table-rule-with-auditor">
-        <rules>
-            <rule name="t_order" key-generate-strategy-column="another_id">
-                <data-node>ms_group_${0..1}.t_order_${0..1}</data-node>
-                <table-strategy type="standard" sharding-column="user_id">
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="t_order_${user_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </table-strategy>
-                <database-strategy type="standard" sharding-column="order_id" >
-                    <algorithm-segment algorithm-name="INLINE">
-                        <properties>
-                            <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
-                        </properties>
-                    </algorithm-segment>
-                </database-strategy>
-                <key-generate-strategy algorithm-name="snowflake" />
-                <audit-strategy allow-hint-disable="true">
-                    <auditors>
-                        <auditor auditor-name = "t_order_dml_sharding_conditions_0">
-                            <algorithm algorithm-name="DML_SHARDING_CONDITIONS" />
-                        </auditor>
-                        <auditor auditor-name = "t_order_dml_sharding_conditions_1">
-                            <algorithm algorithm-name="DML_SHARDING_CONDITIONS" />
-                        </auditor>
-                    </auditors>
-                </audit-strategy>
-            </rule>
-        </rules>
+        <rule name="t_order" key-generate-strategy-column="another_id">
+            <data-node>ms_group_${0..1}.t_order_${0..1}</data-node>
+            <table-strategy type="standard" sharding-column="user_id">
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="t_order_${user_id % 2}" />
+                </algorithm-segment>
+            </table-strategy>
+            <database-strategy type="standard" sharding-column="order_id" >
+                <algorithm-segment algorithm-name="INLINE">
+                    <property key="algorithm-expression" value="ms_group_${order_id % 2}" />
+                </algorithm-segment>
+            </database-strategy>
+            <key-generate-strategy algorithm-name="snowflake" />
+            <audit-strategy allow-hint-disable="true">
+                <auditor auditor-name = "t_order_dml_sharding_conditions_0">
+                    <algorithm algorithm-name="DML_SHARDING_CONDITIONS" />
+                </auditor>
+                <auditor auditor-name = "t_order_dml_sharding_conditions_1">
+                    <algorithm algorithm-name="DML_SHARDING_CONDITIONS" />
+                </auditor>
+            </audit-strategy>
+        </rule>
     </create-sharding-table-rule>
     
     <create-sharding-table-reference-rule sql-case-id="create-sharding-table-reference-rule">
-        <rules>
-            <rule table-groups="t_order,t_order_item" />
-            <rule table-groups="t_1,t_2" />
-        </rules>
+        <rule table-groups="t_order,t_order_item" />
+        <rule table-groups="t_1,t_2" />
     </create-sharding-table-reference-rule>
 
     <create-sharding-table-reference-rule sql-case-id="create-sharding-table-reference-rule-with-quota">
-        <rules>
-            <rule table-groups="t_order,t_order_item" />
-            <rule table-groups="t_1,t_2"/>
-        </rules>
+        <rule table-groups="t_order,t_order_item" />
+        <rule table-groups="t_1,t_2" />
     </create-sharding-table-reference-rule>
     
     <create-broadcast-table-rule sql-case-id="create-broadcast-table-rule">
@@ -341,233 +271,171 @@
     </create-broadcast-table-rule>
     
     <create-readwrite-splitting-rule sql-case-id="create-static-readwrite-splitting-rule">
-        <rules>
-            <rule name="ms_group_0" write-data-source="primary_ds" load-balancer="random">
-                <read-data-source>replica_ds_0</read-data-source>
-                <read-data-source>replica_ds_1</read-data-source>
-            </rule>
-        </rules>
+        <rule name="ms_group_0" write-data-source="primary_ds" load-balancer="random">
+            <read-data-source>replica_ds_0</read-data-source>
+            <read-data-source>replica_ds_1</read-data-source>
+        </rule>
     </create-readwrite-splitting-rule>
 
     <create-readwrite-splitting-rule sql-case-id="create-readwrite-splitting-rule-with-quota">
-        <rules>
-            <rule name="ms_group_0" write-data-source="primary_ds" load-balancer="random">
-                <read-data-source>replica_ds_0</read-data-source>
-                <read-data-source>replica_ds_1</read-data-source>
-            </rule>
-        </rules>
+        <rule name="ms_group_0" write-data-source="primary_ds" load-balancer="random">
+            <read-data-source>replica_ds_0</read-data-source>
+            <read-data-source>replica_ds_1</read-data-source>
+        </rule>
     </create-readwrite-splitting-rule>
     
     <create-readwrite-splitting-rule sql-case-id="create-dynamic-readwrite-splitting-rule">
-        <rules>
-            <rule name="ms_group_1" auto-aware-resource="group_0" load-balancer="random">
-                <properties>
-                    <property key="read_weight" value="2:1" />
-                </properties>
-            </rule>
-        </rules>
+        <rule name="ms_group_1" auto-aware-resource="group_0" load-balancer="random">
+            <property key="read_weight" value="2:1" />
+        </rule>
     </create-readwrite-splitting-rule>
     
     <create-database-discovery-definition-rule sql-case-id="create-database-discovery-definition-rule">
-        <rules>
-            <rule rule-name="ha_group_0" type="mgr">
-                <data-source>ds_0</data-source>
-                <data-source>ds_1</data-source>
-                <discovery-type algorithm-name="mgr">
-                    <properties>
-                        <property key="groupName" value="92504d5b-6dec" />
-                    </properties>
-                </discovery-type>
-                <properties>
-                    <property key="keepAliveCron" value="0/5 * * * * ?" />
-                </properties>
-            </rule>
-            <rule rule-name="ha_group_1" type="mgr2">
-                <data-source>ds_2</data-source>
-                <data-source>ds_3</data-source>
-                <discovery-type algorithm-name="mgr2">
-                    <properties>
-                        <property key="groupName" value="92504d5b-6dec-2" />
-                    </properties>
-                </discovery-type>
-                <properties>
-                    <property key="keepAliveCron" value="0/6 * * * * ?" />
-                </properties>
-            </rule>
-        </rules>
+        <rule rule-name="ha_group_0" type="mgr">
+            <data-source>ds_0</data-source>
+            <data-source>ds_1</data-source>
+            <discovery-type algorithm-name="mgr">
+                <property key="groupName" value="92504d5b-6dec" />
+            </discovery-type>
+            <property key="keepAliveCron" value="0/5 * * * * ?" />
+        </rule>
+        <rule rule-name="ha_group_1" type="mgr2">
+            <data-source>ds_2</data-source>
+            <data-source>ds_3</data-source>
+            <discovery-type algorithm-name="mgr2">
+                <property key="groupName" value="92504d5b-6dec-2" />
+            </discovery-type>
+            <property key="keepAliveCron" value="0/6 * * * * ?" />
+        </rule>
     </create-database-discovery-definition-rule>
 
     <create-database-discovery-definition-rule sql-case-id="create-database-discovery-rule-with-quota">
-        <rules>
-            <rule rule-name="ha_group_0" type="mgr">
-                <data-source>ds_0</data-source>
-                <data-source>ds_1</data-source>
-                <discovery-type algorithm-name="mgr">
-                    <properties>
-                        <property key="groupName" value="92504d5b-6dec"/>
-                    </properties>
-                </discovery-type>
-                <properties>
-                    <property key="keepAliveCron" value="0/5 * * * * ?"/>
-                </properties>
-            </rule>
-            <rule rule-name="ha_group_1" type="mgr2">
-                <data-source>ds_2</data-source>
-                <data-source>ds_3</data-source>
-                <discovery-type algorithm-name="mgr2">
-                    <properties>
-                        <property key="groupName" value="92504d5b-6dec-2"/>
-                    </properties>
-                </discovery-type>
-                <properties>
-                    <property key="keepAliveCron" value="0/6 * * * * ?"/>
-                </properties>
-            </rule>
-        </rules>
+        <rule rule-name="ha_group_0" type="mgr">
+            <data-source>ds_0</data-source>
+            <data-source>ds_1</data-source>
+            <discovery-type algorithm-name="mgr">
+                <property key="groupName" value="92504d5b-6dec"/>
+            </discovery-type>
+            <property key="keepAliveCron" value="0/5 * * * * ?"/>
+        </rule>
+        <rule rule-name="ha_group_1" type="mgr2">
+            <data-source>ds_2</data-source>
+            <data-source>ds_3</data-source>
+            <discovery-type algorithm-name="mgr2">
+                <property key="groupName" value="92504d5b-6dec-2"/>
+            </discovery-type>
+            <property key="keepAliveCron" value="0/6 * * * * ?"/>
+        </rule>
     </create-database-discovery-definition-rule>
     
     <create-encrypt-rule sql-case-id="create-encrypt-rule">
-        <rules>
-            <rule name="t_encrypt">
-                <column name="user_id" plain-column="user_plain" cipher-column="user_cipher">
-                    <encryptor algorithm-name="AES">
-                        <properties>
-                            <property key="aes-key-value" value="123456abc"/>
-                        </properties>
-                    </encryptor>
-                </column>
-                <column name="order_id" cipher-column="order_cipher">
-                    <encryptor algorithm-name="MD5"/>
-                </column>
-            </rule>
-        </rules>
+        <rule name="t_encrypt">
+            <column name="user_id" plain-column="user_plain" cipher-column="user_cipher">
+                <encryptor algorithm-name="AES">
+                    <property key="aes-key-value" value="123456abc"/>
+                </encryptor>
+            </column>
+            <column name="order_id" cipher-column="order_cipher">
+                <encryptor algorithm-name="MD5"/>
+            </column>
+        </rule>
     </create-encrypt-rule>
 
     <create-encrypt-rule sql-case-id="create-encrypt-rule-with-quota">
-        <rules>
-            <rule name="encrypt">
-                <column name="user_id" plain-column="user_plain" cipher-column="user_cipher">
-                    <encryptor algorithm-name="AES">
-                        <properties>
-                            <property key="aes-key-value" value="123456abc"/>
-                        </properties>
-                    </encryptor>
-                </column>
-                <column name="order_id" cipher-column="order_cipher">
-                    <encryptor algorithm-name="MD5"/>
-                </column>
-            </rule>
-        </rules>
+        <rule name="encrypt">
+            <column name="user_id" plain-column="user_plain" cipher-column="user_cipher">
+                <encryptor algorithm-name="AES">
+                    <property key="aes-key-value" value="123456abc"/>
+                </encryptor>
+            </column>
+            <column name="order_id" cipher-column="order_cipher">
+                <encryptor algorithm-name="MD5"/>
+            </column>
+        </rule>
     </create-encrypt-rule>
     
     <create-encrypt-rule sql-case-id="create-encrypt-rule-with-assisted-query-column">
-        <rules>
-            <rule name="t_encrypt">
-                <column name="user_id" plain-column="user_plain" cipher-column="user_cipher" assisted-query-column="assisted_column">
-                    <encryptor algorithm-name="AES">
-                        <properties>
-                            <property key="aes-key-value" value="123456abc"/>
-                        </properties>
-                    </encryptor>
-                    <assisted-query-encryptor algorithm-name="MD5" />
-                </column>
-                <column name="order_id" cipher-column="order_cipher">
-                    <encryptor algorithm-name="MD5"/>
-                </column>
-            </rule>
-        </rules>
+        <rule name="t_encrypt">
+            <column name="user_id" plain-column="user_plain" cipher-column="user_cipher" assisted-query-column="assisted_column">
+                <encryptor algorithm-name="AES">
+                    <property key="aes-key-value" value="123456abc"/>
+                </encryptor>
+                <assisted-query-encryptor algorithm-name="MD5" />
+            </column>
+            <column name="order_id" cipher-column="order_cipher">
+                <encryptor algorithm-name="MD5"/>
+            </column>
+        </rule>
     </create-encrypt-rule>
     
     <create-encrypt-rule sql-case-id="create-encrypt-rule-with-like-query-column">
-        <rules>
-            <rule name="t_encrypt">
-                <column name="user_id" plain-column="user_plain" cipher-column="user_cipher" like-query-column="like_column">
-                    <encryptor algorithm-name="AES">
-                        <properties>
-                            <property key="aes-key-value" value="123456abc"/>
-                        </properties>
-                    </encryptor>
-                    <like-query-encryptor algorithm-name="CHAR_DIGEST_LIKE" />
-                </column>
-                <column name="order_id" cipher-column="order_cipher">
-                    <encryptor algorithm-name="MD5"/>
-                </column>
-            </rule>
-        </rules>
+        <rule name="t_encrypt">
+            <column name="user_id" plain-column="user_plain" cipher-column="user_cipher" like-query-column="like_column">
+                <encryptor algorithm-name="AES">
+                    <property key="aes-key-value" value="123456abc"/>
+                </encryptor>
+                <like-query-encryptor algorithm-name="CHAR_DIGEST_LIKE" />
+            </column>
+            <column name="order_id" cipher-column="order_cipher">
+                <encryptor algorithm-name="MD5"/>
+            </column>
+        </rule>
     </create-encrypt-rule>
     
     <create-encrypt-rule sql-case-id="create-encrypt-rule-with-query-with-cipher-column">
-        <rules>
-            <rule name="encrypt" query-with-cipher-column="false">
-                <column name="user_id" plain-column="user_plain" cipher-column="user_cipher">
-                    <encryptor algorithm-name="AES">
-                        <properties>
-                            <property key="aes-key-value" value="123456abc" />
-                        </properties>
-                    </encryptor>
-                </column>
-            </rule>
-        </rules>
+        <rule name="encrypt" query-with-cipher-column="false">
+            <column name="user_id" plain-column="user_plain" cipher-column="user_cipher">
+                <encryptor algorithm-name="AES">
+                    <property key="aes-key-value" value="123456abc" />
+                </encryptor>
+            </column>
+        </rule>
     </create-encrypt-rule>
     
     <create-shadow-rule sql-case-id="create-shadow-rule">
-        <rules>
-            <rule name="rule" rule-name="shadow_rule" source="demo_ds" shadow="demo_ds_shadow">
-                <table-rule table-name="t_order">
-                    <shadow-algorithm algorithm-id="shadow_rule_t_order_regex_match_0">
-                        <algorithm algorithm-name="REGEX_MATCH">
-                            <properties>
-                                <property key="operation" value="insert"/>
-                                <property key="column" value="user_id"/>
-                                <property key="regex" value="[1]"/>
-                            </properties>
-                        </algorithm>
-                    </shadow-algorithm>
-                    <shadow-algorithm algorithm-id="shadow_rule_t_order_simple_hint_1">
-                        <algorithm algorithm-name="SIMPLE_HINT">
-                            <properties>
-                                <property key="shadow" value="true"/>
-                                <property key="foo" value="bar"/>
-                            </properties>
-                        </algorithm>
-                    </shadow-algorithm>
-                </table-rule>
-            </rule>
-        </rules>
+        <rule name="rule" rule-name="shadow_rule" source="demo_ds" shadow="demo_ds_shadow">
+            <table-rule table-name="t_order">
+                <shadow-algorithm algorithm-id="shadow_rule_t_order_regex_match_0">
+                    <algorithm algorithm-name="REGEX_MATCH">
+                        <property key="operation" value="insert"/>
+                        <property key="column" value="user_id"/>
+                        <property key="regex" value="[1]"/>
+                    </algorithm>
+                </shadow-algorithm>
+                <shadow-algorithm algorithm-id="shadow_rule_t_order_simple_hint_1">
+                    <algorithm algorithm-name="SIMPLE_HINT">
+                        <property key="shadow" value="true"/>
+                        <property key="foo" value="bar"/>
+                    </algorithm>
+                </shadow-algorithm>
+            </table-rule>
+        </rule>
     </create-shadow-rule>
     
     <create-shadow-rule sql-case-id="create-shadow-rule-with-quota">
-        <rules>
-            <rule name="rule" rule-name="shadow_rule" source="demo_ds" shadow="demo_ds_shadow">
-                <table-rule table-name="t_order">
-                    <shadow-algorithm algorithm-id="shadow_rule_t_order_regex_match_0">
-                        <algorithm algorithm-name="REGEX_MATCH">
-                            <properties>
-                                <property key="operation" value="insert"/>
-                                <property key="column" value="user_id"/>
-                                <property key="regex" value="[1]"/>
-                            </properties>
-                        </algorithm>
-                    </shadow-algorithm>
-                    <shadow-algorithm algorithm-id="shadow_rule_t_order_simple_hint_1">
-                        <algorithm algorithm-name="SIMPLE_HINT">
-                            <properties>
-                                <property key="shadow" value="true"/>
-                                <property key="foo" value="bar"/>
-                            </properties>
-                        </algorithm>
-                    </shadow-algorithm>
-                </table-rule>
-            </rule>
-        </rules>
+        <rule name="rule" rule-name="shadow_rule" source="demo_ds" shadow="demo_ds_shadow">
+            <table-rule table-name="t_order">
+                <shadow-algorithm algorithm-id="shadow_rule_t_order_regex_match_0">
+                    <algorithm algorithm-name="REGEX_MATCH">
+                        <property key="operation" value="insert"/>
+                        <property key="column" value="user_id"/>
+                        <property key="regex" value="[1]"/>
+                    </algorithm>
+                </shadow-algorithm>
+                <shadow-algorithm algorithm-id="shadow_rule_t_order_simple_hint_1">
+                    <algorithm algorithm-name="SIMPLE_HINT">
+                        <property key="shadow" value="true"/>
+                        <property key="foo" value="bar"/>
+                    </algorithm>
+                </shadow-algorithm>
+            </table-rule>
+        </rule>
     </create-shadow-rule>
     
     <create-default-sharding-strategy sql-case-id="create-default-sharding-table-strategy-with-lower-case">
         <strategy default-type="table" strategy-type="standard" sharding-column="order_id">
             <algorithm-segment algorithm-name="INLINE">
-                <properties>
-                    <property key="algorithm-expression" value="t_order_${order_id % 2}" />
-                </properties>
+                <property key="algorithm-expression" value="t_order_${order_id % 2}" />
             </algorithm-segment>
         </strategy>
     </create-default-sharding-strategy>
@@ -575,9 +443,7 @@
     <create-default-sharding-strategy sql-case-id="create-default-sharding-database-strategy">
         <strategy default-type="DATABASE" strategy-type="STANDARD" sharding-column="ORDER_ID">
             <algorithm-segment algorithm-name="INLINE">
-                <properties>
-                    <property key="algorithm-expression" value="ms_group_${user_id % 2}" />
-                </properties>
+                <property key="algorithm-expression" value="ms_group_${user_id % 2}" />
             </algorithm-segment>
         </strategy>
     </create-default-sharding-strategy>
@@ -585,9 +451,7 @@
     <create-default-sharding-strategy sql-case-id="create-default-sharding-strategy-complex">
         <strategy default-type="TABLE" strategy-type="complex" sharding-column="order_id,user_id">
             <algorithm-segment algorithm-name="INLINE">
-                <properties>
-                    <property key="algorithm-expression" value="t_order_${user_id % 2}_${order_id % 2}" />
-                </properties>
+                <property key="algorithm-expression" value="t_order_${user_id % 2}_${order_id % 2}" />
             </algorithm-segment>
         </strategy>
     </create-default-sharding-strategy>
@@ -595,10 +459,8 @@
     <create-default-shadow-algorithm sql-case-id="create-default-shadow-algorithm">
         <shadow-algorithm algorithm-id="default">
             <algorithm algorithm-name="HINT">
-                <properties>
-                    <property key="shadow" value="true"/>
-                    <property key="foo" value="bar"/>
-                </properties>
+                <property key="shadow" value="true"/>
+                <property key="foo" value="bar"/>
             </algorithm>
         </shadow-algorithm>
     </create-default-shadow-algorithm>
diff --git a/test/parser/src/main/resources/case/rdl/drop.xml b/test/parser/src/main/resources/case/rdl/drop.xml
index 930837d5029..f9709e0791a 100644
--- a/test/parser/src/main/resources/case/rdl/drop.xml
+++ b/test/parser/src/main/resources/case/rdl/drop.xml
@@ -36,76 +36,54 @@
     </unregister-storage-unit>
     
     <drop-sharding-table-rule sql-case-id="drop-sharding-table-rule" >
-        <tables>
-            <table>t_order</table>
-            <table>t_order_item</table>
-        </tables>
+        <table>t_order</table>
+        <table>t_order_item</table>
     </drop-sharding-table-rule>
     
     <drop-sharding-table-rule sql-case-id="drop-sharding-table-rule-if-exists" if-exists="true">
-        <tables>
-            <table>t_order</table>
-            <table>t_order_item</table>
-        </tables>
+        <table>t_order</table>
+        <table>t_order_item</table>
     </drop-sharding-table-rule>
     
     <drop-sharding-table-reference-rule sql-case-id="drop-sharding-table-reference-rule">
-        <rules>
-            <rule>t_1,t_2</rule>
-        </rules>
+        <rule>t_1,t_2</rule>
     </drop-sharding-table-reference-rule>
     
     <drop-sharding-table-reference-rule sql-case-id="drop-sharding-table-reference-rule-if-exists" if-exists="true">
-        <rules>
-            <rule>t_1,t_2</rule>
-        </rules>
+        <rule>t_1,t_2</rule>
     </drop-sharding-table-reference-rule>
     
     <drop-broadcast-table-rule sql-case-id="drop-broadcast-table-rule" >
-        <tables>
-            <table>t_1</table>
-        </tables>
+        <table>t_1</table>
     </drop-broadcast-table-rule>
     
     <drop-broadcast-table-rule sql-case-id="drop-multiple-broadcast-table-rules" >
-        <tables>
-            <table>t_1</table>
-            <table>t_2</table>
-        </tables>
+        <table>t_1</table>
+        <table>t_2</table>
     </drop-broadcast-table-rule>
     
     <drop-broadcast-table-rule sql-case-id="drop-broadcast-table-rule-if-exists" if-exists="true">
-        <tables>
-            <table>t_1</table>
-        </tables>
+        <table>t_1</table>
     </drop-broadcast-table-rule>
     
     <drop-readwrite-splitting-rule sql-case-id="drop-readwrite-splitting-rule">
-        <names>
-            <name>ms_group_0</name>
-            <name>ms_group_1</name>
-        </names>
+        <name>ms_group_0</name>
+        <name>ms_group_1</name>
     </drop-readwrite-splitting-rule>
 
     <drop-readwrite-splitting-rule sql-case-id="drop-readwrite-splitting-rule-if-exists" if-exists="true">
-        <names>
-            <name>ms_group_0</name>
-            <name>ms_group_1</name>
-        </names>
+        <name>ms_group_0</name>
+        <name>ms_group_1</name>
     </drop-readwrite-splitting-rule>
     
     <drop-database-discovery-rule sql-case-id="drop-database-discovery-rule">
-        <names>
-            <name>ha_group_0</name>
-            <name>ha_group_1</name>
-        </names>
+        <name>ha_group_0</name>
+        <name>ha_group_1</name>
     </drop-database-discovery-rule>
     
     <drop-database-discovery-rule sql-case-id="drop-database-discovery-rule-if-exists" if-exists="true">
-        <names>
-            <name>ha_group_0</name>
-            <name>ha_group_1</name>
-        </names>
+        <name>ha_group_0</name>
+        <name>ha_group_1</name>
     </drop-database-discovery-rule>
     
     <drop-database-discovery-type sql-case-id="drop-database-discovery-type">
@@ -139,57 +117,41 @@
     </drop-encrypt-rule>
     
     <drop-shadow-rule sql-case-id="drop-shadow-rule">
-        <names>
-            <name>shadow_rule_1</name>
-            <name>shadow_rule_2</name>
-        </names>
+        <name>shadow_rule_1</name>
+        <name>shadow_rule_2</name>
     </drop-shadow-rule>
     
     <drop-shadow-rule sql-case-id="drop-shadow-rule-if-exists" if-exists="true">
-        <names>
-            <name>shadow_rule_1</name>
-            <name>shadow_rule_2</name>
-        </names>
+        <name>shadow_rule_1</name>
+        <name>shadow_rule_2</name>
     </drop-shadow-rule>
     
     <drop-shadow-algorithm sql-case-id="drop-shadow-algorithm">
-        <names>
-            <name>shadow_algorithm_1</name>
-            <name>shadow_algorithm_2</name>
-        </names>
+        <name>shadow_algorithm_1</name>
+        <name>shadow_algorithm_2</name>
     </drop-shadow-algorithm>
     
     <drop-shadow-algorithm sql-case-id="drop-shadow-algorithm-if-exists" if-exists="true">
-        <names>
-            <name>shadow_algorithm_1</name>
-            <name>shadow_algorithm_2</name>
-        </names>
+        <name>shadow_algorithm_1</name>
+        <name>shadow_algorithm_2</name>
     </drop-shadow-algorithm>
     
     <drop-shadow-algorithm sql-case-id="drop-default-shadow-algorithm-if-exists" if-exists="true" />
     
     <drop-sharding-key-generator sql-case-id="drop-sharding-key-generator" >
-        <names>
-            <name>uuid_key_generator</name>
-        </names>
+        <name>uuid_key_generator</name>
     </drop-sharding-key-generator>
     
     <drop-sharding-key-generator sql-case-id="drop-sharding-key-generator-if-exists" if-exists="true">
-        <names>
-            <name>uuid_key_generator</name>
-        </names>
+        <name>uuid_key_generator</name>
     </drop-sharding-key-generator>
     
     <drop-sharding-auditor sql-case-id="drop-sharding-auditor" >
-        <names>
-            <name>sharding_key_required_auditor</name>
-        </names>
+        <name>sharding_key_required_auditor</name>
     </drop-sharding-auditor>
     
     <drop-sharding-auditor sql-case-id="drop-sharding-auditor-if-exists" if-exists="true">
-        <names>
-            <name>sharding_key_required_auditor</name>
-        </names>
+        <name>sharding_key_required_auditor</name>
     </drop-sharding-auditor>
     
     <drop-default-sharding-strategy sql-case-id="drop-default-sharding-strategy" type="table"/>
@@ -197,8 +159,6 @@
     <drop-default-sharding-strategy sql-case-id="drop-default-sharding-strategy-if-exists" type="table" if-exists="true"/>
     
     <drop-sharding-algorithm sql-case-id="drop-sharding-algorithm" if-exists="true">
-        <names>
-            <name>t_order_hash_mod</name>
-        </names>
+        <name>t_order_hash_mod</name>
     </drop-sharding-algorithm>
 </sql-parser-test-cases>