RBuild 'project' document DTD (rough draft).
authorEmanuele Aliberti <ea@iol.it>
Mon, 1 Aug 2005 16:11:29 +0000 (16:11 +0000)
committerEmanuele Aliberti <ea@iol.it>
Mon, 1 Aug 2005 16:11:29 +0000 (16:11 +0000)
svn path=/trunk/; revision=16958

reactos/tools/rbuild/project.dtd [new file with mode: 0644]

diff --git a/reactos/tools/rbuild/project.dtd b/reactos/tools/rbuild/project.dtd
new file mode 100644 (file)
index 0000000..daba6d2
--- /dev/null
@@ -0,0 +1,107 @@
+<!-- $Id$ -->
+<!ENTITY % CIdentifier "CDATA">
+       <!-- a C identifier -->
+<!ENTITY % Text "CDATA">
+    <!-- used for titles etc. -->
+
+<!-- XInclude patch -->
+
+<!ELEMENT xi:include (xi:fallback)*>
+<!ATTLIST xi:include
+       href %Text; #REQUIRED
+>
+
+<!ELEMENT xi:fallback (xi:include)>
+
+<!-- rbuild project DTD -->
+
+<!ELEMENT bootstrap ANY>
+<!ATTLIST bootstrap
+       base      %Text; #IMPLIED
+       nameoncd  %Text; #IMPLIED
+>
+
+<!ELEMENT cdfile ANY>
+<!ATTLIST cdfile
+       base      %Text; #IMPLIED
+       nameoncd  %Text; #IMPLIED
+>
+
+<!ELEMENT compilerflag (#PCDATA)>
+
+<!ELEMENT define EMPTY>
+<!ATTLIST define
+       name  %CIdentifier; #REQUIRED
+       value %Text;        #IMPLIED
+>
+
+<!ELEMENT directory (directory*|group*|file*|if*|module+|pch*|xi:include*)+>
+<!ATTLIST directory
+       name %Text; #REQUIRED
+>
+
+<!ELEMENT file (#PCDATA)>
+<!ATTLIST file
+       first (true|false) "false"
+>
+
+<!ELEMENT group (cdfile+|directory+|file+|property+)+>
+
+<!ELEMENT if (compilerflag*|define*|directory*|file*|if*|group*|property*)+>
+<!ATTLIST if
+       property %CIdentifier; #REQUIRED
+       value    %Text;        #REQUIRED
+>
+
+<!ELEMENT include (#PCDATA)>
+<!ATTLIST include
+       base %Text; #IMPLIED
+>
+
+<!ELEMENT importlibrary EMPTY>
+<!ATTLIST importlibrary
+       definition %Text; #REQUIRED
+>
+
+<!ELEMENT library ANY>
+
+<!ELEMENT linkerflag ANY>
+
+<!ELEMENT module (bootstrap*|importlibrary*|define*|include*|library*|directory*|file*|linkerflag*)*>
+<!ATTLIST module
+       if      %Text; #IMPLIED
+       ifnot   %Text; #IMPLIED
+       name    %CIdentifier; #IMPLIED
+       type    (buildtool|staticlibrary|objectlibrary|kernel|kernelmodedll|kernelmodedriver|nativedll|win32dll|win32cui|win32gui|bootloader|bootsector|iso|test|rpcserver|rpcclient|alias) #REQUIRED
+       extension       %CIdentifier; #IMPLIED
+       entrypoint      %CIdentifier; #IMPLIED
+       baseaddress     %CIdentifier; #IMPLIED
+       mangledsymbols  %Text; #IMPLIED
+       installbase     %Text; #IMPLIED
+       installname     %Text; #IMPLIED
+       usewrc          %Text; #IMPLIED
+       warnings %Text; #IMPLIED
+       aliasof %Text; #IMPLIED
+>
+
+<!ELEMENT pch (#PCDATA)>
+
+<!ELEMENT project (compilerflag*|define*|group*|if*|include*|directory*|xi:include*)+>
+<!ATTLIST project
+       name      %Text;  #FIXED "ReactOS"
+       makefile  %Text;  #FIXED "makefile.auto"
+       xmlns:xi  %Text;  #FIXED "http://www.w3.org/2001/XInclude"
+>
+
+<!ELEMENT property EMPTY>
+<!ATTLIST property
+       name    %CIdentifier;   #REQUIRED
+       value   %Text;          #REQUIRED
+>
+
+<!ELEMENT symbol (#PCDATA)>
+<!ATTLIST symbol
+       newname %Text; #IMPLIED
+>
+
+<!-- EOF -->