Příloha C. PSQL DTD

			<?xml version="1.0" encoding="UTF-8" ?>
			<!ELEMENT psql (type|pers|link)* >
			<!ENTITY % psql.id
				'psql.uuid ID #IMPLIED psql.idref CDATA #IMPLIED' >
			<!--  -->
			<!-- Akce s objektem. Může nabývat hodnot
			    none - žádná změna
				added - nové přidáno
				removed - smazáno
			-->
			<!ENTITY % psql.att
				'action CDATA "added"' >
			
			<!-- Definice vlastního typu nebo složeného typu  -->
			<!ELEMENT type ANY >
			<!ATTLIST type 
				%psql.id; 
				%psql.att; >
			
			<!--  Definice tabulky -->
			<!ELEMENT pers ANY >
			<!ATTLIST pers
				%psql.id; 
				%psql.att; >
			
			<!-- Definice odkazu na master tabulku, obsahuje dovážené cizí klíče -->
			<!ELEMENT link ANY >
			<!ATTLIST link
				%psql.id; 
				%psql.att;
				position CDATA #REQUIRED >
			
			
			<!-- Vlastnost nadřazeného objektu. Nese např. jméno, datový typ apod. -->
			<!ELEMENT prop EMPTY>
			<!ATTLIST prop
				%psql.att;
				name CDATA #REQUIRED
				value CDATA #IMPLIED
				old CDATA #IMPLIED >
			
			<!--  Definice jednoduchého vlastního sloupce tabulky. -->
			<!ELEMENT baseattr (prop*) >
			<!ATTLIST baseattr
				%psql.id;
				%psql.att; 
				order CDATA '999' >
			<!-- Sloupec vzniklý expanzí atributu se složeným typem. Obsahuje cestu od jednoduchého
				atributu až po iniciální atribut. -->
			<!ELEMENT expcompattr ANY >
			<!ATTLIST expcompattr
				%psql.id;
				%psql.att; 
				order CDATA '999' >
			
			<!-- Atribut jenž je cizím klíčem dováženym přes vazbu. -->
			<!ELEMENT impattr ANY >
			<!ATTLIST impattr
				%psql.id;
				%psql.att; 
				order CDATA '999' >
			<!-- atribut se složeným typem. Nevzniká z něj sloupec.  -->
			<!ELEMENT compattr ANY >
			<!ATTLIST compattr
				%psql.id;
				%psql.att; 
				order CDATA '999' >
			<!-- Pomocné uzly. -->
			<!ELEMENT import ANY >
			<!ELEMENT expand ANY >