1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148
|
<?xml version="1.0" encoding="UTF-8"?>
<!ELEMENT GPTPackageMetadata (FeatureSetIdentity*, PackageInfo, PackageReleaseInfo, (SourcePackage | DataPackage | DevelopmentPackage | DocPackage | HeaderPackage | PGMPackage | PGMStaticPackage | RTLPackage | SetupPackage))>
<!ATTLIST GPTPackageMetadata
Name CDATA #REQUIRED
FormatVersion CDATA #REQUIRED
>
<!-- ********************************************************************************************-->
<!ELEMENT FeatureSetIdentity (CompatibilityIdentifier)>
<!ATTLIST FeatureSetIdentity
FeatureSubName CDATA #REQUIRED
>
<!ELEMENT CompatibilityIdentifier EMPTY>
<!ATTLIST CompatibilityIdentifier
Major CDATA #REQUIRED
Minor CDATA #REQUIRED
Age CDATA #REQUIRED
>
<!-- ********************************************************************************************-->
<!ELEMENT PackageInfo (Description, ContactInfo*, PackageDocs*)>
<!ELEMENT Description (#PCDATA)>
<!ELEMENT ContactInfo EMPTY>
<!ATTLIST ContactInfo
ContactName CDATA #REQUIRED
ContactEmail CDATA #REQUIRED
>
<!ELEMENT PackageDocs EMPTY>
<!ATTLIST PackageDocs
PackageDocsDesc CDATA #REQUIRED
PackageDocsURL CDATA #REQUIRED
>
<!-- ********************************************************************************************-->
<!ELEMENT PackageReleaseInfo (PackageStability, CompatibilityIdentifier, PackageIdentifier?, PackagingTool, UserRunTimeEnv)>
<!ELEMENT PackageStability EMPTY>
<!ATTLIST PackageStability
Release (Experimental | Alpha | Alpha1 | Alpha2 | Beta | Beta1 | Beta2 | Production) #REQUIRED
>
<!ELEMENT PackageIdentifier (#PCDATA)>
<!ELEMENT PackagingTool EMPTY>
<!ATTLIST PackagingTool
ToolName CDATA #REQUIRED
ToolVersion CDATA #REQUIRED
>
<!-- ********************************************************************************************-->
<!ELEMENT SetupPackage (SourceDependencies*, BuildInstructions?, BuildEnvironment?, PostInstallMessage, PostInstallProgram)>
<!ELEMENT SourcePackage (WithFlavors, SourceDependencies*, BuildInstructions?, BuildEnvironment?)>
<!ELEMENT PGMPackage (Flavor, BinaryDependencies*, PostInstallMessage, PostInstallProgram)>
<!ELEMENT PGMStaticPackage (Flavor, BinaryDependencies*, PostInstallMessage, PostInstallProgram)>
<!ELEMENT DevelopmentPackage (Flavor, BinaryDependencies*, BuildEnvironment?)>
<!ELEMENT HeaderPackage (BinaryDependencies*)>
<!ELEMENT RTLPackage (Flavor, BinaryDependencies*)>
<!ELEMENT DataPackage (BinaryDependencies*)>
<!ELEMENT DocPackage (BinaryDependencies*)>
<!-- ********************************************************************************************-->
<!ELEMENT WithFlavors EMPTY>
<!ATTLIST WithFlavors
Build (yes | no) #REQUIRED
>
<!-- ********************************************************************************************-->
<!ELEMENT Flavor (#PCDATA)>
<!-- ********************************************************************************************-->
<!ELEMENT SourceDependencies (RuntimeType* | SetupType* | BuildType*)>
<!ELEMENT RuntimeType (Dependency+, FlavorChoice?)>
<!ATTLIST RuntimeType
Type (data_runtime | doc_runtime | pgm_runtime | lib_runtime) #REQUIRED
>
<!ELEMENT SetupType (Dependency+)>
<!ATTLIST SetupType
Type (data_setup | doc_setup | pgm_setup | lib_setup) #REQUIRED
>
<!ELEMENT BuildType (BuildDependency+)>
<!ATTLIST BuildType
Type (compile | pgm_link | lib_link) #REQUIRED
>
<!-- ********************************************************************************************-->
<!ELEMENT BinaryDependencies (BinaryBuild | BinaryRuntime)>
<!ELEMENT BinaryBuild (BuildDependency+)>
<!ATTLIST BinaryBuild
Type (Compile | Build_Link) #REQUIRED
>
<!ELEMENT BinaryRuntime (Dependency+, FlavorChoice?)>
<!ATTLIST BinaryRuntime
Type (Regeneration | Runtime_Link | Runtime | Setup) #REQUIRED
>
<!-- ********************************************************************************************-->
<!ELEMENT Dependency (CompatibilityRequirement)>
<!ATTLIST Dependency
Name CDATA #REQUIRED
PackageType (data | dev | doc | hdr | pgm | rtl) #REQUIRED
AllowSubstitution (No | Yes) #REQUIRED
>
<!ELEMENT BuildDependency (CompatibilityRequirement)>
<!ATTLIST BuildDependency
Name CDATA #REQUIRED
AllowSubstitution (No | Yes) #REQUIRED
>
<!-- ********************************************************************************************-->
<!ELEMENT CompatibilityRequirement (Simple* | Range*)>
<!ELEMENT Simple EMPTY>
<!ATTLIST Simple
Major CDATA #REQUIRED
>
<!ELEMENT Range EMPTY>
<!ATTLIST Range
LowerMajor CDATA #REQUIRED
LowerMinor CDATA #REQUIRED
UpperMajor CDATA #REQUIRED
UpperMinor CDATA #REQUIRED
>
<!-- ********************************************************************************************-->
<!ELEMENT BuildInstructions (BuildStep*, FlavorChoice*)>
<!ELEMENT BuildStep EMPTY>
<!ATTLIST BuildStep
MacroArgs CDATA #IMPLIED
Step CDATA #REQUIRED
>
<!ELEMENT FlavorChoice (FlavorOption+, InvalidFlavors*)>
<!ELEMENT FlavorOption EMPTY>
<!ATTLIST FlavorOption
FlavorSwitch CDATA #REQUIRED
FlavorLabel NMTOKEN #REQUIRED
>
<!ELEMENT InvalidFlavors EMPTY>
<!ATTLIST InvalidFlavors
FlavorLabel NMTOKEN #REQUIRED
>
<!-- ********************************************************************************************-->
<!ELEMENT BuildEnvironment (Cflags?, PackageLibs?, SystemLibs?, SystemIncludes?)>
<!ELEMENT Cflags (#PCDATA)>
<!ELEMENT SystemIncludes (#PCDATA)>
<!ELEMENT PackageLibs (#PCDATA)>
<!ELEMENT SystemLibs (#PCDATA)>
<!-- ********************************************************************************************-->
<!ELEMENT PostInstallMessage (#PCDATA)>
<!-- ********************************************************************************************-->
<!ELEMENT PostInstallProgram (#PCDATA)>
<!-- ********************************************************************************************-->
<!ELEMENT VersionLabel (#PCDATA)>
<!ELEMENT LinkagePath (#PCDATA)>
<!-- ********************************************************************************************-->
<!ELEMENT UserRunTimeEnv (EnvFile* | EnvPrg)>
<!ELEMENT EnvFile (EnvInfo)>
<!ELEMENT EnvInfo EMPTY>
<!ATTLIST EnvInfo
Name CDATA #REQUIRED
Location CDATA #REQUIRED
>
<!ELEMENT EnvPrg (EnvInfo)>
|