Explorar el Código

[DoctrineBundle] Refactor doctrine-1.0.xsd

Benjamin Eberlei hace 14 años
padre
commit
63375060e8

+ 14 - 24
src/Symfony/Bundle/DoctrineBundle/Resources/config/schema/doctrine-1.0.xsd

@@ -5,15 +5,7 @@
     targetNamespace="http://www.symfony-project.org/schema/dic/doctrine"
     elementFormDefault="qualified">
 
-    <xsd:element name="dbal" type="dbal" />
-
-    <xsd:complexType name="dbal">
-        <xsd:all>
-            <xsd:element name="connections" type="connections" minOccurs="0" maxOccurs="1" />
-            <xsd:element name="types" type="types" minOccurs="0" maxOccurs="1" />
-        </xsd:all>
-
-        <xsd:attribute name="default-connection" type="xsd:string" />
+    <xsd:attributeGroup name="connection-config">
         <xsd:attribute name="dbname" type="xsd:string" />
         <xsd:attribute name="host" type="xsd:string" />
         <xsd:attribute name="port" type="xsd:integer" />
@@ -29,6 +21,18 @@
         <xsd:attribute name="wrapper-class" type="xsd:string" />
         <xsd:attribute name="platform-service" type="xsd:string" />
         <xsd:attribute name="logging" type="xsd:string" default="false" />
+    </xsd:attributeGroup>
+
+    <xsd:element name="dbal" type="dbal" />
+
+    <xsd:complexType name="dbal">
+        <xsd:all>
+            <xsd:element name="connections" type="connections" minOccurs="0" maxOccurs="1" />
+            <xsd:element name="types" type="types" minOccurs="0" maxOccurs="1" />
+        </xsd:all>
+
+        <xsd:attribute name="default-connection" type="xsd:string" />
+        <xsd:attributeGroup ref="connection-config" />
     </xsd:complexType>
 
     <xsd:complexType name="connections">
@@ -50,21 +54,7 @@
 
     <xsd:complexType name="connection">
         <xsd:attribute name="name" type="xsd:string" use="required" />
-        <xsd:attribute name="dbname" type="xsd:string" use="required" />
-        <xsd:attribute name="host" type="xsd:string" />
-        <xsd:attribute name="port" type="xsd:integer" />
-        <xsd:attribute name="user" type="xsd:string" />
-        <xsd:attribute name="password" type="xsd:string" />
-        <xsd:attribute name="driver" type="xsd:string" />
-        <xsd:attribute name="driver-class" type="xsd:string" />
-        <xsd:attribute name="options" type="xsd:string" />
-        <xsd:attribute name="path" type="xsd:string" />
-        <xsd:attribute name="unix-socket" type="xsd:string" />
-        <xsd:attribute name="memory" type="xsd:boolean" />
-        <xsd:attribute name="charset" type="xsd:string" />
-        <xsd:attribute name="wrapper-class" type="xsd:string" />
-        <xsd:attribute name="platform-service" type="xsd:string" />
-        <xsd:attribute name="logging" type="xsd:string" default="false" />
+        <xsd:attributeGroup ref="connection-config" />
     </xsd:complexType>
 
     <xsd:element name="orm" type="orm" />