Skip to content

Commit

Permalink
XML XSD for the definition of additional metadata that describes a sc…
Browse files Browse the repository at this point in the history
…hema.
  • Loading branch information
johncurrier committed Aug 22, 2008
1 parent fc2ca2f commit e7f7cbc
Showing 1 changed file with 99 additions and 0 deletions.
99 changes: 99 additions & 0 deletions src/schemaspy.meta.xsd
Original file line number Diff line number Diff line change
@@ -0,0 +1,99 @@
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="schemaMeta">
<xs:complexType>
<xs:sequence>
<xs:element ref="comments"/>
<xs:element ref="tables"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="comments" type="xs:string"/>
<xs:element name="tables">
<xs:complexType>
<xs:sequence>
<xs:element ref="table" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="table">
<xs:complexType>
<xs:sequence>
<xs:element ref="column" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="comments" type="xs:string"/>
<xs:attribute name="remoteSchema" type="xs:string">
<xs:annotation>
<xs:documentation>
Specifies that this table exists in another schema.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="column">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="foreignKey"/>
</xs:sequence>
<xs:attribute name="name" type="xs:string" use="required"/>
<xs:attribute name="comments" type="xs:string"/>
<xs:attribute name="primaryKey" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Specifies that this column is a primary key of
its table. Defaults to false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
<xs:attribute name="disableImpliedKeys">
<xs:annotation>
<xs:documentation>
Explicitly disables relationships to or from
this column that may be implied by the column's
name, type and size.
</xs:documentation>
</xs:annotation>
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="from"/>
<xs:enumeration value="to"/>
<xs:enumeration value="all"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
<xs:attribute name="disableDiagramAssociations" type="xs:boolean">
<xs:annotation>
<xs:documentation>
Sometimes the associations displayed on a relationships
diagram cause the diagram to become much more cluttered
than it needs to be. Enable this setting to not show
the relationships between this column and other columns.
This only impacts diagrams.
Defaults to false.
</xs:documentation>
</xs:annotation>
</xs:attribute>
</xs:complexType>
</xs:element>
<xs:element name="foreignKey">
<xs:annotation>
<xs:documentation>
Associates this column with the primary key of another
table.
</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:attribute name="remoteSchema" type="xs:string">
<xs:annotation>
<xs:documentation>
Specifies that the referenced table exists in
another schema.
</xs:documentation>
</xs:annotation></xs:attribute>
<xs:attribute name="table" type="xs:string" use="required"/>
<xs:attribute name="column" type="xs:string" use="required"/>
</xs:complexType>
</xs:element>
</xs:schema>

0 comments on commit e7f7cbc

Please sign in to comment.