Mercurial > repos > snowblizz-super-API-ideas
changeset 224:f097888efcfe
Fixes #233: "unitPoints" attribute is badly named
* Rename "unitPoints" to "basePoints"
* Re-order schema to more sensible name
* Use new name in code when parsing XML (object property already has sensible name)
Also:
* Rename "dtds" folder to more accurate "schemas"
* Change references to folder in code
author | IBBoard <dev@ibboard.co.uk> |
---|---|
date | Mon, 14 Dec 2009 20:50:39 +0000 |
parents | fe5a03d73918 |
children | 0d5a17f33a36 |
files | IBBoard.WarFoundry.API.csproj api/Factories/Xml/WarFoundryXmlFactoryUtils.cs api/Factories/Xml/WarFoundryXmlRaceFactory.cs dtds/army.xsd dtds/race.xsd dtds/system.xsd dtds/warfoundry-cats.xsd dtds/warfoundry-core.xsd dtds/xhtml-lat1.ent dtds/xhtml-special.ent dtds/xhtml-symbol.ent dtds/xhtml1-strict.dtd schemas/army.xsd schemas/race.xsd schemas/system.xsd schemas/warfoundry-cats.xsd schemas/warfoundry-core.xsd schemas/xhtml-lat1.ent schemas/xhtml-special.ent schemas/xhtml-symbol.ent schemas/xhtml1-strict.dtd |
diffstat | 21 files changed, 1990 insertions(+), 1985 deletions(-) [+] |
line wrap: on
line diff
--- a/IBBoard.WarFoundry.API.csproj Mon Dec 14 20:19:01 2009 +0000 +++ b/IBBoard.WarFoundry.API.csproj Mon Dec 14 20:50:39 2009 +0000 @@ -1,4 +1,4 @@ -<?xml version="1.0" encoding="utf-8"?> +<?xml version="1.0" encoding="utf-8"?> <Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> @@ -37,38 +37,7 @@ </Target> --> <ItemGroup> - <None Include="dtds\system.xsd"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="dtds\race.xsd"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - <SubType> - </SubType> - </None> - <None Include="dtds\warfoundry-core.xsd"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - <SubType> - </SubType> - </None> - <None Include="dtds\warfoundry-cats.xsd"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="dtds\army.xsd"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> <None Include="COPYING" /> - <None Include="dtds\xhtml-lat1.ent"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="dtds\xhtml-special.ent"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="dtds\xhtml-symbol.ent"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> - <None Include="dtds\xhtml1-strict.dtd"> - <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> - </None> <Compile Include="api\Objects\ICostedWarFoundryObject.cs" /> <Compile Include="api\Commands\CreateAndAddUnitCommand.cs" /> <Compile Include="api\Commands\RemoveUnitCommand.cs" /> @@ -152,6 +121,42 @@ <Compile Include="api\Factories\Xml\WarFoundryXmlArmyParser.cs" /> <Compile Include="api\Exporters\IWarFoundryExporter.cs" /> <Compile Include="api\Exporters\WarFoundryHtmlExporter.cs" /> + <None Include="schemas\army.xsd"> + <Gettext-ScanForTranslations>false</Gettext-ScanForTranslations> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="schemas\race.xsd"> + <Gettext-ScanForTranslations>false</Gettext-ScanForTranslations> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="schemas\system.xsd"> + <Gettext-ScanForTranslations>false</Gettext-ScanForTranslations> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="schemas\warfoundry-cats.xsd"> + <Gettext-ScanForTranslations>false</Gettext-ScanForTranslations> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="schemas\warfoundry-core.xsd"> + <Gettext-ScanForTranslations>false</Gettext-ScanForTranslations> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="schemas\xhtml1-strict.dtd"> + <Gettext-ScanForTranslations>false</Gettext-ScanForTranslations> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="schemas\xhtml-lat1.ent"> + <Gettext-ScanForTranslations>false</Gettext-ScanForTranslations> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="schemas\xhtml-special.ent"> + <Gettext-ScanForTranslations>false</Gettext-ScanForTranslations> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> + <None Include="schemas\xhtml-symbol.ent"> + <Gettext-ScanForTranslations>false</Gettext-ScanForTranslations> + <CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory> + </None> </ItemGroup> <ItemGroup> <Content Include="libs\ICSharpCode.SharpZipLib.dll" />
--- a/api/Factories/Xml/WarFoundryXmlFactoryUtils.cs Mon Dec 14 20:19:01 2009 +0000 +++ b/api/Factories/Xml/WarFoundryXmlFactoryUtils.cs Mon Dec 14 20:50:39 2009 +0000 @@ -67,7 +67,7 @@ settings.ProhibitDtd = true; settings.ValidationEventHandler+= new ValidationEventHandler(ValidationEventMethod); XmlSchemaSet cache = new XmlSchemaSet(); - string path = IBBoard.Constants.ExecutablePath + "/dtds/"; + string path = IBBoard.Constants.ExecutablePath + "/schemas/"; AddSchemaToCache(cache, NS_BASE + "core", path + "warfoundry-core.xsd"); AddSchemaToCache(cache, NS_BASE + "cats", path + "warfoundry-cats.xsd"); AddSchemaToCache(cache, NS_BASE + "race", path + "race.xsd");
--- a/api/Factories/Xml/WarFoundryXmlRaceFactory.cs Mon Dec 14 20:19:01 2009 +0000 +++ b/api/Factories/Xml/WarFoundryXmlRaceFactory.cs Mon Dec 14 20:50:39 2009 +0000 @@ -141,7 +141,7 @@ type.MinSize = XmlTools.GetIntValueFromAttribute(elem, "minSize"); type.BaseSize = XmlTools.GetIntValueFromAttribute(elem, "baseSize"); type.CostPerTrooper = XmlTools.GetDoubleValueFromAttribute(elem, "points"); - type.BaseUnitCost = XmlTools.GetDoubleValueFromAttribute(elem, "unitPoints"); + type.BaseUnitCost = XmlTools.GetDoubleValueFromAttribute(elem, "basePoints"); } catch (FormatException ex) {
--- a/dtds/army.xsd Mon Dec 14 20:19:01 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,97 +0,0 @@ -<?xml version="1.0"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ibboard.co.uk/warfoundry/army" xmlns="http://ibboard.co.uk/warfoundry/army" xmlns:core="http://ibboard.co.uk/warfoundry/core" elementFormDefault="qualified"> -<xs:element name="army"> - <xs:complexType> - <xs:all> - <xs:element name="units"> - <xs:complexType> - <xs:sequence> - <xs:element name="unit" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:all> - <xs:element name="equipment" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="equipItem" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element ref="core:extension" minOccurs="0" /> - </xs:sequence> - <xs:attribute name="id" type="xs:string" /> - <xs:attribute name="amount" type="core:nonNegativeOrInfiniteIntegerOrPercentage" use="required"/> - <xs:attribute name="amountType" type="equipmentAmountType" default="ratio"/> - <xs:attribute name="isCustomEquipment" type="xs:boolean" default="false"/> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="contains" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="containedUnit"> - <xs:complexType> - <xs:sequence> - <xs:element ref="core:extension" minOccurs="0" /> - </xs:sequence> - <xs:attribute name="containedID" type="xs:IDREF" use="required"/> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element ref="core:extension" minOccurs="0" /> - </xs:all> - <xs:attribute name="id" type="xs:ID" /> - <xs:attribute name="unitType" type="xs:string" use="required"/> - <xs:attribute name="unitName" type="xs:string" use="required"/> - <xs:attribute name="size" type="xs:positiveInteger" use="required"/> - <xs:attribute name="race" type="xs:string" default=""/> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="customEquipment" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="customEquip" minOccurs="0" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="customEquipPart" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element ref="core:extension" minOccurs="0" /> - </xs:sequence> - <xs:attribute name="partIDRef" type="xs:string" /> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="id" type="xs:ID" /> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element ref="core:extension" minOccurs="0" /> - </xs:all> - <xs:attribute name="id" type="xs:ID" /> - <xs:attribute name="name" type="xs:string" use="required"/> - <xs:attribute name="system" type="xs:string" use="required"/> - <xs:attribute name="race" type="xs:string" use="required"/> - <xs:attribute name="maxPoints" type="xs:positiveInteger" use="required"/> - <xs:anyAttribute/> - </xs:complexType> -</xs:element> -<xs:simpleType name="equipmentAmountType"> - <xs:restriction base="xs:string"> - <xs:enumeration value="ratio"/> - <xs:enumeration value="fixed"/> - </xs:restriction> -</xs:simpleType> -</xs:schema> \ No newline at end of file
--- a/dtds/race.xsd Mon Dec 14 20:19:01 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,227 +0,0 @@ -<?xml version="1.0"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:core="http://ibboard.co.uk/warfoundry/core" xmlns:cats="http://ibboard.co.uk/warfoundry/cats" -targetNamespace="http://ibboard.co.uk/warfoundry/race" xmlns="http://ibboard.co.uk/warfoundry/race" elementFormDefault="qualified"> -<xs:element name="race"> - <xs:complexType> - <xs:all> - <xs:element name="units"> - <xs:complexType> - <xs:sequence> - <xs:element name="unit" maxOccurs="unbounded"> - <xs:complexType> - <xs:all> - <xs:element name="stats"> - <xs:complexType> - <xs:sequence> - <xs:element name="stat" maxOccurs="unbounded"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="name" type="xs:string" use="required"/> - <xs:anyAttribute/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="statSet" type="xs:string" default="" /> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - <xs:element name="equipmentSlots" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="equipmentSlot" maxOccurs="unbounded"> - <xs:complexType> - <xs:all> - <xs:element name="maxLimit" minOccurs="0" type="core:limit" /> - <xs:element ref="core:extension" minOccurs="0" /> - </xs:all> - <xs:attribute name="name" type="xs:string" use="required"/> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="unitEquipment" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="unitEquipmentItem" maxOccurs="unbounded"> - <xs:complexType> - <xs:all> - <xs:element name="minLimit" minOccurs="0" type="core:limit" /> - <xs:element name="maxLimit" minOccurs="0" type="core:limit" /> - <xs:element ref="core:extension" minOccurs="0" /> - </xs:all> - <xs:attribute name="id" type="xs:IDREF" /> - <xs:attribute name="required" type="xs:boolean" default="false"/> - <!-- exclusivityGroup is deprecated in favour of the comma-separated exclusivityGroups --> - <xs:attribute name="exclusivityGroup" type="xs:string" default=""/> - <xs:attribute name="exclusivityGroups" type="xs:string" default=""/> - <xs:attribute name="equipmentSlot" type="xs:string"/> - <xs:attribute name="roundDirection" type="core:updowntype" default="up"/> - <xs:attribute name="costMultiplier" type="core:nonNegativeDouble" default="1"/> - <xs:attribute name="costRounding" type="costroundingtype" default="UpToHalf"/> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - <xs:element name="unitAbilities" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="unitAbility" maxOccurs="unbounded"> - <xs:complexType> - <xs:attribute name="abilityID" type="xs:IDREF" /> - <xs:attribute name="required" type="xs:boolean" default="true"/> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - <xs:element name="requirements" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="requirement"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="requirementName" type="xs:string" use="required"/> - <xs:anyAttribute/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - <xs:element name="contains" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="containedUnit" maxOccurs="unbounded"> - <xs:complexType> - <xs:attribute name="containedID" type="xs:IDREF" use="required"/> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - <xs:element name="extraData" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="data"> - <xs:complexType> - <xs:simpleContent> - <xs:extension base="xs:string"> - <xs:attribute name="id" type="xs:ID" use="required"/> - <xs:anyAttribute/> - </xs:extension> - </xs:simpleContent> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - <xs:element name="notes" type="xs:string" minOccurs="0" /> - <xs:element ref="core:extension" minOccurs="0" /> - </xs:all> - <xs:attribute name="id" type="xs:ID" /> - <xs:attribute name="typeName" type="xs:string" use="required"/> - <xs:attribute name="cat" type="xs:string" use="required"/> - <xs:attribute name="unitPoints" type="core:nonNegativeNonInfiniteDouble" default="0"/> - <xs:attribute name="points" type="core:nonNegativeNonInfiniteDouble" use="required"/> - <xs:attribute name="minNum" type="xs:nonNegativeInteger" default="0"/> - <xs:attribute name="maxNum" type="core:positiveOrInfiniteInteger" default="-1"/> - <xs:attribute name="minSize" type="xs:nonNegativeInteger" default="5"/> - <xs:attribute name="maxSize" type="core:positiveOrInfiniteInteger" default="-1"/> - <xs:attribute name="baseSize" type="xs:nonNegativeInteger" default="0"/> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - </xs:complexType> - </xs:element> - <xs:element name="categories" type="cats:categoriestype" minOccurs="0" /> - <xs:element name="equipment" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="equipmentItem" maxOccurs="unbounded"> - <xs:complexType> - <xs:all> - <xs:element name="description" type="xs:string" minOccurs="0" /> - <xs:element ref="core:extension" minOccurs="0" /> - </xs:all> - <xs:attribute name="id" type="xs:ID" use="required"/> - <xs:attribute name="name" type="xs:string" use="required"/> - <xs:attribute name="cost" type="core:nonNegativeNonInfiniteDouble" use="required"/> - <xs:attribute name="armourType" type="armourtype" default="None"/> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - <xs:element name="abilities" minOccurs="0"> - <xs:complexType> - <xs:sequence> - <xs:element name="ability" maxOccurs="unbounded"> - <xs:complexType> - <xs:all> - <xs:element name="description" type="xs:string" /> - <xs:element ref="core:extension" minOccurs="0" /> - </xs:all> - <xs:attribute name="id" type="xs:ID" use="required"/> - <xs:attribute name="name" type="xs:string" use="required"/> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - <xs:element ref="core:extension" minOccurs="0" /> - </xs:all> - <xs:attribute name="id" type="xs:ID" /> - <xs:attribute name="subid" type="xs:string" default=""/> - <xs:attribute name="name" type="xs:string" use="required"/> - <xs:attribute name="system" type="xs:string" use="required"/> - <xs:anyAttribute/> - </xs:complexType> -</xs:element> -<xs:simpleType name="costroundingtype"> - <xs:restriction base="xs:string"> - <xs:enumeration value="Up"/> - <xs:enumeration value="Down"/> - <xs:enumeration value="Banker"/> - <xs:enumeration value="UpToHalf"/> - <xs:enumeration value="DownToHalf"/> - <xs:enumeration value="BankerToHalf"/> - </xs:restriction> -</xs:simpleType> -<xs:simpleType name="armourtype"> - <xs:restriction base="xs:string"> - <xs:enumeration value="None"/> - <xs:enumeration value="Shield"/> - <xs:enumeration value="LightArmour"/> - <xs:enumeration value="LightArmourShield"/> - <xs:enumeration value="HeavyArmour"/> - <xs:enumeration value="HeavyArmourShield"/> - <xs:enumeration value="Barding"/> - <xs:enumeration value="BardingShield"/> - <xs:enumeration value="BardingLightArmour"/> - <xs:enumeration value="BardingLightArmourShield"/> - <xs:enumeration value="BardingHeavyArmour"/> - <xs:enumeration value="BardingHeavyArmourShield"/> - </xs:restriction> -</xs:simpleType> -</xs:schema> \ No newline at end of file
--- a/dtds/system.xsd Mon Dec 14 20:19:01 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,39 +0,0 @@ -<?xml version="1.0"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:core="http://ibboard.co.uk/warfoundry/core" xmlns:cats="http://ibboard.co.uk/warfoundry/cats" -targetNamespace="http://ibboard.co.uk/warfoundry/system" xmlns="http://ibboard.co.uk/warfoundry/system" elementFormDefault="qualified"> -<xs:element name="system"> - <xs:complexType> - <xs:all> - <xs:element name="categories" type="cats:categoriestype"/> - <xs:element name="sysStatsList"> - <xs:complexType> - <xs:sequence> - <xs:element name="sysStats" maxOccurs="unbounded"> - <xs:complexType> - <xs:sequence> - <xs:element name="sysStat" maxOccurs="unbounded"> - <xs:complexType> - <xs:attribute name="name" type="xs:string" use="required"/> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="id" type="xs:ID" /> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:attribute name="defaultStats" type="xs:IDREF" use="required" /> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - <xs:element ref="core:extension" minOccurs="0" /> - </xs:all> - <xs:attribute name="id" type="xs:ID" /> - <xs:attribute name="name" type="xs:string" use="required"/> - <xs:attribute name="warn" type="xs:boolean" default="false"/> - <xs:attribute name="allowAllies" type="xs:boolean" default="true"/> - <xs:anyAttribute/> - </xs:complexType> -</xs:element> -</xs:schema> \ No newline at end of file
--- a/dtds/warfoundry-cats.xsd Mon Dec 14 20:19:01 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,20 +0,0 @@ -<?xml version="1.0"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:core="http://ibboard.co.uk/warfoundry/core" targetNamespace="http://ibboard.co.uk/warfoundry/cats" -xmlns="http://ibboard.co.uk/warfoundry/cats" elementFormDefault="qualified"> -<xs:complexType name="categoriestype"> - <xs:sequence> - <xs:element name="cat" minOccurs="1" maxOccurs="unbounded"> - <xs:complexType> - <xs:attribute name="id" type="xs:ID" /> - <xs:attribute name="name" type="xs:string" use="required"/> - <xs:attribute name="minPoints" type="core:nonNegativeDouble" default="0"/> - <xs:attribute name="maxPoints" type="core:nonNegativeOrInfiniteInteger" default="-1"/> - <xs:attribute name="minPercentage" type="core:percentage" default="0"/> - <xs:attribute name="maxPercentage" type="core:percentage" default="100"/> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:sequence> - <xs:anyAttribute/> -</xs:complexType> -</xs:schema> \ No newline at end of file
--- a/dtds/warfoundry-core.xsd Mon Dec 14 20:19:01 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,77 +0,0 @@ -<?xml version="1.0"?> -<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ibboard.co.uk/warfoundry/core" -xmlns="http://ibboard.co.uk/warfoundry/core" elementFormDefault="qualified"> -<xs:element name="extension"> - <xs:complexType> - <xs:sequence> - <xs:any minOccurs="0" maxOccurs="unbounded" /> - </xs:sequence> - </xs:complexType> -</xs:element> -<xs:complexType name="limit"> - <xs:choice> - <xs:element name="percentageLimit"> - <xs:complexType> - <xs:attribute name="limit" type="percentage" use="required"/> - <xs:attribute name="round" type="updowntype" default="up" /> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - <xs:element name="sizeConstrainedLimit"> - <xs:complexType> - <xs:attribute name="limit" type="xs:nonNegativeInteger" use="required"/> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - <xs:element name="absoluteLimit"> - <xs:complexType> - <xs:attribute name="limit" type="xs:nonNegativeInteger" use="required"/> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - <xs:element name="unitSizeLimit"> - <xs:complexType> - <xs:anyAttribute/> - </xs:complexType> - </xs:element> - </xs:choice> -</xs:complexType> -<xs:simpleType name="positiveOrInfiniteInteger"> - <xs:union memberTypes="xs:positiveInteger infinity"/> -</xs:simpleType> -<xs:simpleType name="nonNegativeOrInfiniteInteger"> - <xs:union memberTypes="xs:nonNegativeInteger infinity"/> -</xs:simpleType> -<xs:simpleType name="infinity"> - <xs:restriction base="xs:integer"> - <xs:minInclusive value="-1"/> - <xs:maxInclusive value="-1"/> - </xs:restriction> -</xs:simpleType> -<xs:simpleType name="nonNegativeDouble"> - <xs:restriction base="xs:double"> - <xs:minInclusive value="0"/> - </xs:restriction> -</xs:simpleType> -<xs:simpleType name="nonNegativeNonInfiniteDouble"> - <xs:restriction base="xs:double"> - <xs:minInclusive value="0"/> - <xs:maxExclusive value="INF"/> - </xs:restriction> -</xs:simpleType> -<xs:simpleType name="percentage"> - <xs:restriction base="xs:double"> - <xs:minInclusive value="0"/> - <xs:maxInclusive value="100"/> - </xs:restriction> -</xs:simpleType> -<xs:simpleType name="nonNegativeOrInfiniteIntegerOrPercentage"> - <xs:union memberTypes="xs:nonNegativeInteger infinity percentage"/> -</xs:simpleType> -<xs:simpleType name="updowntype"> - <xs:restriction base="xs:string"> - <xs:enumeration value="up"/> - <xs:enumeration value="down"/> - </xs:restriction> -</xs:simpleType> -</xs:schema> \ No newline at end of file
--- a/dtds/xhtml-lat1.ent Mon Dec 14 20:19:01 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,196 +0,0 @@ -<!-- Portions (C) International Organization for Standardization 1986 - Permission to copy in any form is granted for use with - conforming SGML systems and applications as defined in - ISO 8879, provided this notice is included in all copies. ---> -<!-- Character entity set. Typical invocation: - <!ENTITY % HTMLlat1 PUBLIC - "-//W3C//ENTITIES Latin 1 for XHTML//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"> - %HTMLlat1; ---> - -<!ENTITY nbsp " "> <!-- no-break space = non-breaking space, - U+00A0 ISOnum --> -<!ENTITY iexcl "¡"> <!-- inverted exclamation mark, U+00A1 ISOnum --> -<!ENTITY cent "¢"> <!-- cent sign, U+00A2 ISOnum --> -<!ENTITY pound "£"> <!-- pound sign, U+00A3 ISOnum --> -<!ENTITY curren "¤"> <!-- currency sign, U+00A4 ISOnum --> -<!ENTITY yen "¥"> <!-- yen sign = yuan sign, U+00A5 ISOnum --> -<!ENTITY brvbar "¦"> <!-- broken bar = broken vertical bar, - U+00A6 ISOnum --> -<!ENTITY sect "§"> <!-- section sign, U+00A7 ISOnum --> -<!ENTITY uml "¨"> <!-- diaeresis = spacing diaeresis, - U+00A8 ISOdia --> -<!ENTITY copy "©"> <!-- copyright sign, U+00A9 ISOnum --> -<!ENTITY ordf "ª"> <!-- feminine ordinal indicator, U+00AA ISOnum --> -<!ENTITY laquo "«"> <!-- left-pointing double angle quotation mark - = left pointing guillemet, U+00AB ISOnum --> -<!ENTITY not "¬"> <!-- not sign = angled dash, - U+00AC ISOnum --> -<!ENTITY shy "­"> <!-- soft hyphen = discretionary hyphen, - U+00AD ISOnum --> -<!ENTITY reg "®"> <!-- registered sign = registered trade mark sign, - U+00AE ISOnum --> -<!ENTITY macr "¯"> <!-- macron = spacing macron = overline - = APL overbar, U+00AF ISOdia --> -<!ENTITY deg "°"> <!-- degree sign, U+00B0 ISOnum --> -<!ENTITY plusmn "±"> <!-- plus-minus sign = plus-or-minus sign, - U+00B1 ISOnum --> -<!ENTITY sup2 "²"> <!-- superscript two = superscript digit two - = squared, U+00B2 ISOnum --> -<!ENTITY sup3 "³"> <!-- superscript three = superscript digit three - = cubed, U+00B3 ISOnum --> -<!ENTITY acute "´"> <!-- acute accent = spacing acute, - U+00B4 ISOdia --> -<!ENTITY micro "µ"> <!-- micro sign, U+00B5 ISOnum --> -<!ENTITY para "¶"> <!-- pilcrow sign = paragraph sign, - U+00B6 ISOnum --> -<!ENTITY middot "·"> <!-- middle dot = Georgian comma - = Greek middle dot, U+00B7 ISOnum --> -<!ENTITY cedil "¸"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia --> -<!ENTITY sup1 "¹"> <!-- superscript one = superscript digit one, - U+00B9 ISOnum --> -<!ENTITY ordm "º"> <!-- masculine ordinal indicator, - U+00BA ISOnum --> -<!ENTITY raquo "»"> <!-- right-pointing double angle quotation mark - = right pointing guillemet, U+00BB ISOnum --> -<!ENTITY frac14 "¼"> <!-- vulgar fraction one quarter - = fraction one quarter, U+00BC ISOnum --> -<!ENTITY frac12 "½"> <!-- vulgar fraction one half - = fraction one half, U+00BD ISOnum --> -<!ENTITY frac34 "¾"> <!-- vulgar fraction three quarters - = fraction three quarters, U+00BE ISOnum --> -<!ENTITY iquest "¿"> <!-- inverted question mark - = turned question mark, U+00BF ISOnum --> -<!ENTITY Agrave "À"> <!-- latin capital letter A with grave - = latin capital letter A grave, - U+00C0 ISOlat1 --> -<!ENTITY Aacute "Á"> <!-- latin capital letter A with acute, - U+00C1 ISOlat1 --> -<!ENTITY Acirc "Â"> <!-- latin capital letter A with circumflex, - U+00C2 ISOlat1 --> -<!ENTITY Atilde "Ã"> <!-- latin capital letter A with tilde, - U+00C3 ISOlat1 --> -<!ENTITY Auml "Ä"> <!-- latin capital letter A with diaeresis, - U+00C4 ISOlat1 --> -<!ENTITY Aring "Å"> <!-- latin capital letter A with ring above - = latin capital letter A ring, - U+00C5 ISOlat1 --> -<!ENTITY AElig "Æ"> <!-- latin capital letter AE - = latin capital ligature AE, - U+00C6 ISOlat1 --> -<!ENTITY Ccedil "Ç"> <!-- latin capital letter C with cedilla, - U+00C7 ISOlat1 --> -<!ENTITY Egrave "È"> <!-- latin capital letter E with grave, - U+00C8 ISOlat1 --> -<!ENTITY Eacute "É"> <!-- latin capital letter E with acute, - U+00C9 ISOlat1 --> -<!ENTITY Ecirc "Ê"> <!-- latin capital letter E with circumflex, - U+00CA ISOlat1 --> -<!ENTITY Euml "Ë"> <!-- latin capital letter E with diaeresis, - U+00CB ISOlat1 --> -<!ENTITY Igrave "Ì"> <!-- latin capital letter I with grave, - U+00CC ISOlat1 --> -<!ENTITY Iacute "Í"> <!-- latin capital letter I with acute, - U+00CD ISOlat1 --> -<!ENTITY Icirc "Î"> <!-- latin capital letter I with circumflex, - U+00CE ISOlat1 --> -<!ENTITY Iuml "Ï"> <!-- latin capital letter I with diaeresis, - U+00CF ISOlat1 --> -<!ENTITY ETH "Ð"> <!-- latin capital letter ETH, U+00D0 ISOlat1 --> -<!ENTITY Ntilde "Ñ"> <!-- latin capital letter N with tilde, - U+00D1 ISOlat1 --> -<!ENTITY Ograve "Ò"> <!-- latin capital letter O with grave, - U+00D2 ISOlat1 --> -<!ENTITY Oacute "Ó"> <!-- latin capital letter O with acute, - U+00D3 ISOlat1 --> -<!ENTITY Ocirc "Ô"> <!-- latin capital letter O with circumflex, - U+00D4 ISOlat1 --> -<!ENTITY Otilde "Õ"> <!-- latin capital letter O with tilde, - U+00D5 ISOlat1 --> -<!ENTITY Ouml "Ö"> <!-- latin capital letter O with diaeresis, - U+00D6 ISOlat1 --> -<!ENTITY times "×"> <!-- multiplication sign, U+00D7 ISOnum --> -<!ENTITY Oslash "Ø"> <!-- latin capital letter O with stroke - = latin capital letter O slash, - U+00D8 ISOlat1 --> -<!ENTITY Ugrave "Ù"> <!-- latin capital letter U with grave, - U+00D9 ISOlat1 --> -<!ENTITY Uacute "Ú"> <!-- latin capital letter U with acute, - U+00DA ISOlat1 --> -<!ENTITY Ucirc "Û"> <!-- latin capital letter U with circumflex, - U+00DB ISOlat1 --> -<!ENTITY Uuml "Ü"> <!-- latin capital letter U with diaeresis, - U+00DC ISOlat1 --> -<!ENTITY Yacute "Ý"> <!-- latin capital letter Y with acute, - U+00DD ISOlat1 --> -<!ENTITY THORN "Þ"> <!-- latin capital letter THORN, - U+00DE ISOlat1 --> -<!ENTITY szlig "ß"> <!-- latin small letter sharp s = ess-zed, - U+00DF ISOlat1 --> -<!ENTITY agrave "à"> <!-- latin small letter a with grave - = latin small letter a grave, - U+00E0 ISOlat1 --> -<!ENTITY aacute "á"> <!-- latin small letter a with acute, - U+00E1 ISOlat1 --> -<!ENTITY acirc "â"> <!-- latin small letter a with circumflex, - U+00E2 ISOlat1 --> -<!ENTITY atilde "ã"> <!-- latin small letter a with tilde, - U+00E3 ISOlat1 --> -<!ENTITY auml "ä"> <!-- latin small letter a with diaeresis, - U+00E4 ISOlat1 --> -<!ENTITY aring "å"> <!-- latin small letter a with ring above - = latin small letter a ring, - U+00E5 ISOlat1 --> -<!ENTITY aelig "æ"> <!-- latin small letter ae - = latin small ligature ae, U+00E6 ISOlat1 --> -<!ENTITY ccedil "ç"> <!-- latin small letter c with cedilla, - U+00E7 ISOlat1 --> -<!ENTITY egrave "è"> <!-- latin small letter e with grave, - U+00E8 ISOlat1 --> -<!ENTITY eacute "é"> <!-- latin small letter e with acute, - U+00E9 ISOlat1 --> -<!ENTITY ecirc "ê"> <!-- latin small letter e with circumflex, - U+00EA ISOlat1 --> -<!ENTITY euml "ë"> <!-- latin small letter e with diaeresis, - U+00EB ISOlat1 --> -<!ENTITY igrave "ì"> <!-- latin small letter i with grave, - U+00EC ISOlat1 --> -<!ENTITY iacute "í"> <!-- latin small letter i with acute, - U+00ED ISOlat1 --> -<!ENTITY icirc "î"> <!-- latin small letter i with circumflex, - U+00EE ISOlat1 --> -<!ENTITY iuml "ï"> <!-- latin small letter i with diaeresis, - U+00EF ISOlat1 --> -<!ENTITY eth "ð"> <!-- latin small letter eth, U+00F0 ISOlat1 --> -<!ENTITY ntilde "ñ"> <!-- latin small letter n with tilde, - U+00F1 ISOlat1 --> -<!ENTITY ograve "ò"> <!-- latin small letter o with grave, - U+00F2 ISOlat1 --> -<!ENTITY oacute "ó"> <!-- latin small letter o with acute, - U+00F3 ISOlat1 --> -<!ENTITY ocirc "ô"> <!-- latin small letter o with circumflex, - U+00F4 ISOlat1 --> -<!ENTITY otilde "õ"> <!-- latin small letter o with tilde, - U+00F5 ISOlat1 --> -<!ENTITY ouml "ö"> <!-- latin small letter o with diaeresis, - U+00F6 ISOlat1 --> -<!ENTITY divide "÷"> <!-- division sign, U+00F7 ISOnum --> -<!ENTITY oslash "ø"> <!-- latin small letter o with stroke, - = latin small letter o slash, - U+00F8 ISOlat1 --> -<!ENTITY ugrave "ù"> <!-- latin small letter u with grave, - U+00F9 ISOlat1 --> -<!ENTITY uacute "ú"> <!-- latin small letter u with acute, - U+00FA ISOlat1 --> -<!ENTITY ucirc "û"> <!-- latin small letter u with circumflex, - U+00FB ISOlat1 --> -<!ENTITY uuml "ü"> <!-- latin small letter u with diaeresis, - U+00FC ISOlat1 --> -<!ENTITY yacute "ý"> <!-- latin small letter y with acute, - U+00FD ISOlat1 --> -<!ENTITY thorn "þ"> <!-- latin small letter thorn, - U+00FE ISOlat1 --> -<!ENTITY yuml "ÿ"> <!-- latin small letter y with diaeresis, - U+00FF ISOlat1 -->
--- a/dtds/xhtml-special.ent Mon Dec 14 20:19:01 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,80 +0,0 @@ -<!-- Special characters for XHTML --> - -<!-- Character entity set. Typical invocation: - <!ENTITY % HTMLspecial PUBLIC - "-//W3C//ENTITIES Special for XHTML//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"> - %HTMLspecial; ---> - -<!-- Portions (C) International Organization for Standardization 1986: - Permission to copy in any form is granted for use with - conforming SGML systems and applications as defined in - ISO 8879, provided this notice is included in all copies. ---> - -<!-- Relevant ISO entity set is given unless names are newly introduced. - New names (i.e., not in ISO 8879 list) do not clash with any - existing ISO 8879 entity names. ISO 10646 character numbers - are given for each character, in hex. values are decimal - conversions of the ISO 10646 values and refer to the document - character set. Names are Unicode names. ---> - -<!-- C0 Controls and Basic Latin --> -<!ENTITY quot """> <!-- quotation mark, U+0022 ISOnum --> -<!ENTITY amp "&#38;"> <!-- ampersand, U+0026 ISOnum --> -<!ENTITY lt "&#60;"> <!-- less-than sign, U+003C ISOnum --> -<!ENTITY gt ">"> <!-- greater-than sign, U+003E ISOnum --> -<!ENTITY apos "'"> <!-- apostrophe = APL quote, U+0027 ISOnum --> - -<!-- Latin Extended-A --> -<!ENTITY OElig "Œ"> <!-- latin capital ligature OE, - U+0152 ISOlat2 --> -<!ENTITY oelig "œ"> <!-- latin small ligature oe, U+0153 ISOlat2 --> -<!-- ligature is a misnomer, this is a separate character in some languages --> -<!ENTITY Scaron "Š"> <!-- latin capital letter S with caron, - U+0160 ISOlat2 --> -<!ENTITY scaron "š"> <!-- latin small letter s with caron, - U+0161 ISOlat2 --> -<!ENTITY Yuml "Ÿ"> <!-- latin capital letter Y with diaeresis, - U+0178 ISOlat2 --> - -<!-- Spacing Modifier Letters --> -<!ENTITY circ "ˆ"> <!-- modifier letter circumflex accent, - U+02C6 ISOpub --> -<!ENTITY tilde "˜"> <!-- small tilde, U+02DC ISOdia --> - -<!-- General Punctuation --> -<!ENTITY ensp " "> <!-- en space, U+2002 ISOpub --> -<!ENTITY emsp " "> <!-- em space, U+2003 ISOpub --> -<!ENTITY thinsp " "> <!-- thin space, U+2009 ISOpub --> -<!ENTITY zwnj "‌"> <!-- zero width non-joiner, - U+200C NEW RFC 2070 --> -<!ENTITY zwj "‍"> <!-- zero width joiner, U+200D NEW RFC 2070 --> -<!ENTITY lrm "‎"> <!-- left-to-right mark, U+200E NEW RFC 2070 --> -<!ENTITY rlm "‏"> <!-- right-to-left mark, U+200F NEW RFC 2070 --> -<!ENTITY ndash "–"> <!-- en dash, U+2013 ISOpub --> -<!ENTITY mdash "—"> <!-- em dash, U+2014 ISOpub --> -<!ENTITY lsquo "‘"> <!-- left single quotation mark, - U+2018 ISOnum --> -<!ENTITY rsquo "’"> <!-- right single quotation mark, - U+2019 ISOnum --> -<!ENTITY sbquo "‚"> <!-- single low-9 quotation mark, U+201A NEW --> -<!ENTITY ldquo "“"> <!-- left double quotation mark, - U+201C ISOnum --> -<!ENTITY rdquo "”"> <!-- right double quotation mark, - U+201D ISOnum --> -<!ENTITY bdquo "„"> <!-- double low-9 quotation mark, U+201E NEW --> -<!ENTITY dagger "†"> <!-- dagger, U+2020 ISOpub --> -<!ENTITY Dagger "‡"> <!-- double dagger, U+2021 ISOpub --> -<!ENTITY permil "‰"> <!-- per mille sign, U+2030 ISOtech --> -<!ENTITY lsaquo "‹"> <!-- single left-pointing angle quotation mark, - U+2039 ISO proposed --> -<!-- lsaquo is proposed but not yet ISO standardized --> -<!ENTITY rsaquo "›"> <!-- single right-pointing angle quotation mark, - U+203A ISO proposed --> -<!-- rsaquo is proposed but not yet ISO standardized --> - -<!-- Currency Symbols --> -<!ENTITY euro "€"> <!-- euro sign, U+20AC NEW -->
--- a/dtds/xhtml-symbol.ent Mon Dec 14 20:19:01 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,237 +0,0 @@ -<!-- Mathematical, Greek and Symbolic characters for XHTML --> - -<!-- Character entity set. Typical invocation: - <!ENTITY % HTMLsymbol PUBLIC - "-//W3C//ENTITIES Symbols for XHTML//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"> - %HTMLsymbol; ---> - -<!-- Portions (C) International Organization for Standardization 1986: - Permission to copy in any form is granted for use with - conforming SGML systems and applications as defined in - ISO 8879, provided this notice is included in all copies. ---> - -<!-- Relevant ISO entity set is given unless names are newly introduced. - New names (i.e., not in ISO 8879 list) do not clash with any - existing ISO 8879 entity names. ISO 10646 character numbers - are given for each character, in hex. values are decimal - conversions of the ISO 10646 values and refer to the document - character set. Names are Unicode names. ---> - -<!-- Latin Extended-B --> -<!ENTITY fnof "ƒ"> <!-- latin small letter f with hook = function - = florin, U+0192 ISOtech --> - -<!-- Greek --> -<!ENTITY Alpha "Α"> <!-- greek capital letter alpha, U+0391 --> -<!ENTITY Beta "Β"> <!-- greek capital letter beta, U+0392 --> -<!ENTITY Gamma "Γ"> <!-- greek capital letter gamma, - U+0393 ISOgrk3 --> -<!ENTITY Delta "Δ"> <!-- greek capital letter delta, - U+0394 ISOgrk3 --> -<!ENTITY Epsilon "Ε"> <!-- greek capital letter epsilon, U+0395 --> -<!ENTITY Zeta "Ζ"> <!-- greek capital letter zeta, U+0396 --> -<!ENTITY Eta "Η"> <!-- greek capital letter eta, U+0397 --> -<!ENTITY Theta "Θ"> <!-- greek capital letter theta, - U+0398 ISOgrk3 --> -<!ENTITY Iota "Ι"> <!-- greek capital letter iota, U+0399 --> -<!ENTITY Kappa "Κ"> <!-- greek capital letter kappa, U+039A --> -<!ENTITY Lambda "Λ"> <!-- greek capital letter lamda, - U+039B ISOgrk3 --> -<!ENTITY Mu "Μ"> <!-- greek capital letter mu, U+039C --> -<!ENTITY Nu "Ν"> <!-- greek capital letter nu, U+039D --> -<!ENTITY Xi "Ξ"> <!-- greek capital letter xi, U+039E ISOgrk3 --> -<!ENTITY Omicron "Ο"> <!-- greek capital letter omicron, U+039F --> -<!ENTITY Pi "Π"> <!-- greek capital letter pi, U+03A0 ISOgrk3 --> -<!ENTITY Rho "Ρ"> <!-- greek capital letter rho, U+03A1 --> -<!-- there is no Sigmaf, and no U+03A2 character either --> -<!ENTITY Sigma "Σ"> <!-- greek capital letter sigma, - U+03A3 ISOgrk3 --> -<!ENTITY Tau "Τ"> <!-- greek capital letter tau, U+03A4 --> -<!ENTITY Upsilon "Υ"> <!-- greek capital letter upsilon, - U+03A5 ISOgrk3 --> -<!ENTITY Phi "Φ"> <!-- greek capital letter phi, - U+03A6 ISOgrk3 --> -<!ENTITY Chi "Χ"> <!-- greek capital letter chi, U+03A7 --> -<!ENTITY Psi "Ψ"> <!-- greek capital letter psi, - U+03A8 ISOgrk3 --> -<!ENTITY Omega "Ω"> <!-- greek capital letter omega, - U+03A9 ISOgrk3 --> - -<!ENTITY alpha "α"> <!-- greek small letter alpha, - U+03B1 ISOgrk3 --> -<!ENTITY beta "β"> <!-- greek small letter beta, U+03B2 ISOgrk3 --> -<!ENTITY gamma "γ"> <!-- greek small letter gamma, - U+03B3 ISOgrk3 --> -<!ENTITY delta "δ"> <!-- greek small letter delta, - U+03B4 ISOgrk3 --> -<!ENTITY epsilon "ε"> <!-- greek small letter epsilon, - U+03B5 ISOgrk3 --> -<!ENTITY zeta "ζ"> <!-- greek small letter zeta, U+03B6 ISOgrk3 --> -<!ENTITY eta "η"> <!-- greek small letter eta, U+03B7 ISOgrk3 --> -<!ENTITY theta "θ"> <!-- greek small letter theta, - U+03B8 ISOgrk3 --> -<!ENTITY iota "ι"> <!-- greek small letter iota, U+03B9 ISOgrk3 --> -<!ENTITY kappa "κ"> <!-- greek small letter kappa, - U+03BA ISOgrk3 --> -<!ENTITY lambda "λ"> <!-- greek small letter lamda, - U+03BB ISOgrk3 --> -<!ENTITY mu "μ"> <!-- greek small letter mu, U+03BC ISOgrk3 --> -<!ENTITY nu "ν"> <!-- greek small letter nu, U+03BD ISOgrk3 --> -<!ENTITY xi "ξ"> <!-- greek small letter xi, U+03BE ISOgrk3 --> -<!ENTITY omicron "ο"> <!-- greek small letter omicron, U+03BF NEW --> -<!ENTITY pi "π"> <!-- greek small letter pi, U+03C0 ISOgrk3 --> -<!ENTITY rho "ρ"> <!-- greek small letter rho, U+03C1 ISOgrk3 --> -<!ENTITY sigmaf "ς"> <!-- greek small letter final sigma, - U+03C2 ISOgrk3 --> -<!ENTITY sigma "σ"> <!-- greek small letter sigma, - U+03C3 ISOgrk3 --> -<!ENTITY tau "τ"> <!-- greek small letter tau, U+03C4 ISOgrk3 --> -<!ENTITY upsilon "υ"> <!-- greek small letter upsilon, - U+03C5 ISOgrk3 --> -<!ENTITY phi "φ"> <!-- greek small letter phi, U+03C6 ISOgrk3 --> -<!ENTITY chi "χ"> <!-- greek small letter chi, U+03C7 ISOgrk3 --> -<!ENTITY psi "ψ"> <!-- greek small letter psi, U+03C8 ISOgrk3 --> -<!ENTITY omega "ω"> <!-- greek small letter omega, - U+03C9 ISOgrk3 --> -<!ENTITY thetasym "ϑ"> <!-- greek theta symbol, - U+03D1 NEW --> -<!ENTITY upsih "ϒ"> <!-- greek upsilon with hook symbol, - U+03D2 NEW --> -<!ENTITY piv "ϖ"> <!-- greek pi symbol, U+03D6 ISOgrk3 --> - -<!-- General Punctuation --> -<!ENTITY bull "•"> <!-- bullet = black small circle, - U+2022 ISOpub --> -<!-- bullet is NOT the same as bullet operator, U+2219 --> -<!ENTITY hellip "…"> <!-- horizontal ellipsis = three dot leader, - U+2026 ISOpub --> -<!ENTITY prime "′"> <!-- prime = minutes = feet, U+2032 ISOtech --> -<!ENTITY Prime "″"> <!-- double prime = seconds = inches, - U+2033 ISOtech --> -<!ENTITY oline "‾"> <!-- overline = spacing overscore, - U+203E NEW --> -<!ENTITY frasl "⁄"> <!-- fraction slash, U+2044 NEW --> - -<!-- Letterlike Symbols --> -<!ENTITY weierp "℘"> <!-- script capital P = power set - = Weierstrass p, U+2118 ISOamso --> -<!ENTITY image "ℑ"> <!-- black-letter capital I = imaginary part, - U+2111 ISOamso --> -<!ENTITY real "ℜ"> <!-- black-letter capital R = real part symbol, - U+211C ISOamso --> -<!ENTITY trade "™"> <!-- trade mark sign, U+2122 ISOnum --> -<!ENTITY alefsym "ℵ"> <!-- alef symbol = first transfinite cardinal, - U+2135 NEW --> -<!-- alef symbol is NOT the same as hebrew letter alef, - U+05D0 although the same glyph could be used to depict both characters --> - -<!-- Arrows --> -<!ENTITY larr "←"> <!-- leftwards arrow, U+2190 ISOnum --> -<!ENTITY uarr "↑"> <!-- upwards arrow, U+2191 ISOnum--> -<!ENTITY rarr "→"> <!-- rightwards arrow, U+2192 ISOnum --> -<!ENTITY darr "↓"> <!-- downwards arrow, U+2193 ISOnum --> -<!ENTITY harr "↔"> <!-- left right arrow, U+2194 ISOamsa --> -<!ENTITY crarr "↵"> <!-- downwards arrow with corner leftwards - = carriage return, U+21B5 NEW --> -<!ENTITY lArr "⇐"> <!-- leftwards double arrow, U+21D0 ISOtech --> -<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow - but also does not have any other character for that function. So lArr can - be used for 'is implied by' as ISOtech suggests --> -<!ENTITY uArr "⇑"> <!-- upwards double arrow, U+21D1 ISOamsa --> -<!ENTITY rArr "⇒"> <!-- rightwards double arrow, - U+21D2 ISOtech --> -<!-- Unicode does not say this is the 'implies' character but does not have - another character with this function so rArr can be used for 'implies' - as ISOtech suggests --> -<!ENTITY dArr "⇓"> <!-- downwards double arrow, U+21D3 ISOamsa --> -<!ENTITY hArr "⇔"> <!-- left right double arrow, - U+21D4 ISOamsa --> - -<!-- Mathematical Operators --> -<!ENTITY forall "∀"> <!-- for all, U+2200 ISOtech --> -<!ENTITY part "∂"> <!-- partial differential, U+2202 ISOtech --> -<!ENTITY exist "∃"> <!-- there exists, U+2203 ISOtech --> -<!ENTITY empty "∅"> <!-- empty set = null set, U+2205 ISOamso --> -<!ENTITY nabla "∇"> <!-- nabla = backward difference, - U+2207 ISOtech --> -<!ENTITY isin "∈"> <!-- element of, U+2208 ISOtech --> -<!ENTITY notin "∉"> <!-- not an element of, U+2209 ISOtech --> -<!ENTITY ni "∋"> <!-- contains as member, U+220B ISOtech --> -<!ENTITY prod "∏"> <!-- n-ary product = product sign, - U+220F ISOamsb --> -<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though - the same glyph might be used for both --> -<!ENTITY sum "∑"> <!-- n-ary summation, U+2211 ISOamsb --> -<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma' - though the same glyph might be used for both --> -<!ENTITY minus "−"> <!-- minus sign, U+2212 ISOtech --> -<!ENTITY lowast "∗"> <!-- asterisk operator, U+2217 ISOtech --> -<!ENTITY radic "√"> <!-- square root = radical sign, - U+221A ISOtech --> -<!ENTITY prop "∝"> <!-- proportional to, U+221D ISOtech --> -<!ENTITY infin "∞"> <!-- infinity, U+221E ISOtech --> -<!ENTITY ang "∠"> <!-- angle, U+2220 ISOamso --> -<!ENTITY and "∧"> <!-- logical and = wedge, U+2227 ISOtech --> -<!ENTITY or "∨"> <!-- logical or = vee, U+2228 ISOtech --> -<!ENTITY cap "∩"> <!-- intersection = cap, U+2229 ISOtech --> -<!ENTITY cup "∪"> <!-- union = cup, U+222A ISOtech --> -<!ENTITY int "∫"> <!-- integral, U+222B ISOtech --> -<!ENTITY there4 "∴"> <!-- therefore, U+2234 ISOtech --> -<!ENTITY sim "∼"> <!-- tilde operator = varies with = similar to, - U+223C ISOtech --> -<!-- tilde operator is NOT the same character as the tilde, U+007E, - although the same glyph might be used to represent both --> -<!ENTITY cong "≅"> <!-- approximately equal to, U+2245 ISOtech --> -<!ENTITY asymp "≈"> <!-- almost equal to = asymptotic to, - U+2248 ISOamsr --> -<!ENTITY ne "≠"> <!-- not equal to, U+2260 ISOtech --> -<!ENTITY equiv "≡"> <!-- identical to, U+2261 ISOtech --> -<!ENTITY le "≤"> <!-- less-than or equal to, U+2264 ISOtech --> -<!ENTITY ge "≥"> <!-- greater-than or equal to, - U+2265 ISOtech --> -<!ENTITY sub "⊂"> <!-- subset of, U+2282 ISOtech --> -<!ENTITY sup "⊃"> <!-- superset of, U+2283 ISOtech --> -<!ENTITY nsub "⊄"> <!-- not a subset of, U+2284 ISOamsn --> -<!ENTITY sube "⊆"> <!-- subset of or equal to, U+2286 ISOtech --> -<!ENTITY supe "⊇"> <!-- superset of or equal to, - U+2287 ISOtech --> -<!ENTITY oplus "⊕"> <!-- circled plus = direct sum, - U+2295 ISOamsb --> -<!ENTITY otimes "⊗"> <!-- circled times = vector product, - U+2297 ISOamsb --> -<!ENTITY perp "⊥"> <!-- up tack = orthogonal to = perpendicular, - U+22A5 ISOtech --> -<!ENTITY sdot "⋅"> <!-- dot operator, U+22C5 ISOamsb --> -<!-- dot operator is NOT the same character as U+00B7 middle dot --> - -<!-- Miscellaneous Technical --> -<!ENTITY lceil "⌈"> <!-- left ceiling = APL upstile, - U+2308 ISOamsc --> -<!ENTITY rceil "⌉"> <!-- right ceiling, U+2309 ISOamsc --> -<!ENTITY lfloor "⌊"> <!-- left floor = APL downstile, - U+230A ISOamsc --> -<!ENTITY rfloor "⌋"> <!-- right floor, U+230B ISOamsc --> -<!ENTITY lang "〈"> <!-- left-pointing angle bracket = bra, - U+2329 ISOtech --> -<!-- lang is NOT the same character as U+003C 'less than sign' - or U+2039 'single left-pointing angle quotation mark' --> -<!ENTITY rang "〉"> <!-- right-pointing angle bracket = ket, - U+232A ISOtech --> -<!-- rang is NOT the same character as U+003E 'greater than sign' - or U+203A 'single right-pointing angle quotation mark' --> - -<!-- Geometric Shapes --> -<!ENTITY loz "◊"> <!-- lozenge, U+25CA ISOpub --> - -<!-- Miscellaneous Symbols --> -<!ENTITY spades "♠"> <!-- black spade suit, U+2660 ISOpub --> -<!-- black here seems to mean filled as opposed to hollow --> -<!ENTITY clubs "♣"> <!-- black club suit = shamrock, - U+2663 ISOpub --> -<!ENTITY hearts "♥"> <!-- black heart suit = valentine, - U+2665 ISOpub --> -<!ENTITY diams "♦"> <!-- black diamond suit, U+2666 ISOpub -->
--- a/dtds/xhtml1-strict.dtd Mon Dec 14 20:19:01 2009 +0000 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,978 +0,0 @@ -<!-- - Extensible HTML version 1.0 Strict DTD - - This is the same as HTML 4 Strict except for - changes due to the differences between XML and SGML. - - Namespace = http://www.w3.org/1999/xhtml - - For further information, see: http://www.w3.org/TR/xhtml1 - - Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio), - All Rights Reserved. - - This DTD module is identified by the PUBLIC and SYSTEM identifiers: - - PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" - - $Revision: 1.1 $ - $Date: 2002/08/01 13:56:03 $ - ---> - -<!--================ Character mnemonic entities =========================--> - -<!ENTITY % HTMLlat1 PUBLIC - "-//W3C//ENTITIES Latin 1 for XHTML//EN" - "xhtml-lat1.ent"> -%HTMLlat1; - -<!ENTITY % HTMLsymbol PUBLIC - "-//W3C//ENTITIES Symbols for XHTML//EN" - "xhtml-symbol.ent"> -%HTMLsymbol; - -<!ENTITY % HTMLspecial PUBLIC - "-//W3C//ENTITIES Special for XHTML//EN" - "xhtml-special.ent"> -%HTMLspecial; - -<!--================== Imported Names ====================================--> - -<!ENTITY % ContentType "CDATA"> - <!-- media type, as per [RFC2045] --> - -<!ENTITY % ContentTypes "CDATA"> - <!-- comma-separated list of media types, as per [RFC2045] --> - -<!ENTITY % Charset "CDATA"> - <!-- a character encoding, as per [RFC2045] --> - -<!ENTITY % Charsets "CDATA"> - <!-- a space separated list of character encodings, as per [RFC2045] --> - -<!ENTITY % LanguageCode "NMTOKEN"> - <!-- a language code, as per [RFC3066] --> - -<!ENTITY % Character "CDATA"> - <!-- a single character, as per section 2.2 of [XML] --> - -<!ENTITY % Number "CDATA"> - <!-- one or more digits --> - -<!ENTITY % LinkTypes "CDATA"> - <!-- space-separated list of link types --> - -<!ENTITY % MediaDesc "CDATA"> - <!-- single or comma-separated list of media descriptors --> - -<!ENTITY % URI "CDATA"> - <!-- a Uniform Resource Identifier, see [RFC2396] --> - -<!ENTITY % UriList "CDATA"> - <!-- a space separated list of Uniform Resource Identifiers --> - -<!ENTITY % Datetime "CDATA"> - <!-- date and time information. ISO date format --> - -<!ENTITY % Script "CDATA"> - <!-- script expression --> - -<!ENTITY % StyleSheet "CDATA"> - <!-- style sheet data --> - -<!ENTITY % Text "CDATA"> - <!-- used for titles etc. --> - -<!ENTITY % Length "CDATA"> - <!-- nn for pixels or nn% for percentage length --> - -<!ENTITY % MultiLength "CDATA"> - <!-- pixel, percentage, or relative --> - -<!ENTITY % Pixels "CDATA"> - <!-- integer representing length in pixels --> - -<!-- these are used for image maps --> - -<!ENTITY % Shape "(rect|circle|poly|default)"> - -<!ENTITY % Coords "CDATA"> - <!-- comma separated list of lengths --> - -<!--=================== Generic Attributes ===============================--> - -<!-- core attributes common to most elements - id document-wide unique id - class space separated list of classes - style associated style info - title advisory title/amplification ---> -<!ENTITY % coreattrs - "id ID #IMPLIED - class CDATA #IMPLIED - style %StyleSheet; #IMPLIED - title %Text; #IMPLIED" - > - -<!-- internationalization attributes - lang language code (backwards compatible) - xml:lang language code (as per XML 1.0 spec) - dir direction for weak/neutral text ---> -<!ENTITY % i18n - "lang %LanguageCode; #IMPLIED - xml:lang %LanguageCode; #IMPLIED - dir (ltr|rtl) #IMPLIED" - > - -<!-- attributes for common UI events - onclick a pointer button was clicked - ondblclick a pointer button was double clicked - onmousedown a pointer button was pressed down - onmouseup a pointer button was released - onmousemove a pointer was moved onto the element - onmouseout a pointer was moved away from the element - onkeypress a key was pressed and released - onkeydown a key was pressed down - onkeyup a key was released ---> -<!ENTITY % events - "onclick %Script; #IMPLIED - ondblclick %Script; #IMPLIED - onmousedown %Script; #IMPLIED - onmouseup %Script; #IMPLIED - onmouseover %Script; #IMPLIED - onmousemove %Script; #IMPLIED - onmouseout %Script; #IMPLIED - onkeypress %Script; #IMPLIED - onkeydown %Script; #IMPLIED - onkeyup %Script; #IMPLIED" - > - -<!-- attributes for elements that can get the focus - accesskey accessibility key character - tabindex position in tabbing order - onfocus the element got the focus - onblur the element lost the focus ---> -<!ENTITY % focus - "accesskey %Character; #IMPLIED - tabindex %Number; #IMPLIED - onfocus %Script; #IMPLIED - onblur %Script; #IMPLIED" - > - -<!ENTITY % attrs "%coreattrs; %i18n; %events;"> - -<!--=================== Text Elements ====================================--> - -<!ENTITY % special.pre - "br | span | bdo | map"> - - -<!ENTITY % special - "%special.pre; | object | img "> - -<!ENTITY % fontstyle "tt | i | b | big | small "> - -<!ENTITY % phrase "em | strong | dfn | code | q | - samp | kbd | var | cite | abbr | acronym | sub | sup "> - -<!ENTITY % inline.forms "input | select | textarea | label | button"> - -<!-- these can occur at block or inline level --> -<!ENTITY % misc.inline "ins | del | script"> - -<!-- these can only occur at block level --> -<!ENTITY % misc "noscript | %misc.inline;"> - -<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;"> - -<!-- %Inline; covers inline or "text-level" elements --> -<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*"> - -<!--================== Block level elements ==============================--> - -<!ENTITY % heading "h1|h2|h3|h4|h5|h6"> -<!ENTITY % lists "ul | ol | dl"> -<!ENTITY % blocktext "pre | hr | blockquote | address"> - -<!ENTITY % block - "p | %heading; | div | %lists; | %blocktext; | fieldset | table"> - -<!ENTITY % Block "(%block; | form | %misc;)*"> - -<!-- %Flow; mixes block and inline and is used for list items etc. --> -<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*"> - -<!--================== Content models for exclusions =====================--> - -<!-- a elements use %Inline; excluding a --> - -<!ENTITY % a.content - "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*"> - -<!-- pre uses %Inline excluding big, small, sup or sup --> - -<!ENTITY % pre.content - "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline; - | %inline.forms;)*"> - -<!-- form uses %Block; excluding form --> - -<!ENTITY % form.content "(%block; | %misc;)*"> - -<!-- button uses %Flow; but excludes a, form and form controls --> - -<!ENTITY % button.content - "(#PCDATA | p | %heading; | div | %lists; | %blocktext; | - table | %special; | %fontstyle; | %phrase; | %misc;)*"> - -<!--================ Document Structure ==================================--> - -<!-- the namespace URI designates the document profile --> - -<!ELEMENT html (head, body)> -<!ATTLIST html - %i18n; - id ID #IMPLIED - xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml' - > - -<!--================ Document Head =======================================--> - -<!ENTITY % head.misc "(script|style|meta|link|object)*"> - -<!-- content model is %head.misc; combined with a single - title and an optional base element in any order --> - -<!ELEMENT head (%head.misc;, - ((title, %head.misc;, (base, %head.misc;)?) | - (base, %head.misc;, (title, %head.misc;))))> - -<!ATTLIST head - %i18n; - id ID #IMPLIED - profile %URI; #IMPLIED - > - -<!-- The title element is not considered part of the flow of text. - It should be displayed, for example as the page header or - window title. Exactly one title is required per document. - --> -<!ELEMENT title (#PCDATA)> -<!ATTLIST title - %i18n; - id ID #IMPLIED - > - -<!-- document base URI --> - -<!ELEMENT base EMPTY> -<!ATTLIST base - href %URI; #REQUIRED - id ID #IMPLIED - > - -<!-- generic metainformation --> -<!ELEMENT meta EMPTY> -<!ATTLIST meta - %i18n; - id ID #IMPLIED - http-equiv CDATA #IMPLIED - name CDATA #IMPLIED - content CDATA #REQUIRED - scheme CDATA #IMPLIED - > - -<!-- - Relationship values can be used in principle: - - a) for document specific toolbars/menus when used - with the link element in document head e.g. - start, contents, previous, next, index, end, help - b) to link to a separate style sheet (rel="stylesheet") - c) to make a link to a script (rel="script") - d) by stylesheets to control how collections of - html nodes are rendered into printed documents - e) to make a link to a printable version of this document - e.g. a PostScript or PDF version (rel="alternate" media="print") ---> - -<!ELEMENT link EMPTY> -<!ATTLIST link - %attrs; - charset %Charset; #IMPLIED - href %URI; #IMPLIED - hreflang %LanguageCode; #IMPLIED - type %ContentType; #IMPLIED - rel %LinkTypes; #IMPLIED - rev %LinkTypes; #IMPLIED - media %MediaDesc; #IMPLIED - > - -<!-- style info, which may include CDATA sections --> -<!ELEMENT style (#PCDATA)> -<!ATTLIST style - %i18n; - id ID #IMPLIED - type %ContentType; #REQUIRED - media %MediaDesc; #IMPLIED - title %Text; #IMPLIED - xml:space (preserve) #FIXED 'preserve' - > - -<!-- script statements, which may include CDATA sections --> -<!ELEMENT script (#PCDATA)> -<!ATTLIST script - id ID #IMPLIED - charset %Charset; #IMPLIED - type %ContentType; #REQUIRED - src %URI; #IMPLIED - defer (defer) #IMPLIED - xml:space (preserve) #FIXED 'preserve' - > - -<!-- alternate content container for non script-based rendering --> - -<!ELEMENT noscript %Block;> -<!ATTLIST noscript - %attrs; - > - -<!--=================== Document Body ====================================--> - -<!ELEMENT body %Block;> -<!ATTLIST body - %attrs; - onload %Script; #IMPLIED - onunload %Script; #IMPLIED - > - -<!ELEMENT div %Flow;> <!-- generic language/style container --> -<!ATTLIST div - %attrs; - > - -<!--=================== Paragraphs =======================================--> - -<!ELEMENT p %Inline;> -<!ATTLIST p - %attrs; - > - -<!--=================== Headings =========================================--> - -<!-- - There are six levels of headings from h1 (the most important) - to h6 (the least important). ---> - -<!ELEMENT h1 %Inline;> -<!ATTLIST h1 - %attrs; - > - -<!ELEMENT h2 %Inline;> -<!ATTLIST h2 - %attrs; - > - -<!ELEMENT h3 %Inline;> -<!ATTLIST h3 - %attrs; - > - -<!ELEMENT h4 %Inline;> -<!ATTLIST h4 - %attrs; - > - -<!ELEMENT h5 %Inline;> -<!ATTLIST h5 - %attrs; - > - -<!ELEMENT h6 %Inline;> -<!ATTLIST h6 - %attrs; - > - -<!--=================== Lists ============================================--> - -<!-- Unordered list --> - -<!ELEMENT ul (li)+> -<!ATTLIST ul - %attrs; - > - -<!-- Ordered (numbered) list --> - -<!ELEMENT ol (li)+> -<!ATTLIST ol - %attrs; - > - -<!-- list item --> - -<!ELEMENT li %Flow;> -<!ATTLIST li - %attrs; - > - -<!-- definition lists - dt for term, dd for its definition --> - -<!ELEMENT dl (dt|dd)+> -<!ATTLIST dl - %attrs; - > - -<!ELEMENT dt %Inline;> -<!ATTLIST dt - %attrs; - > - -<!ELEMENT dd %Flow;> -<!ATTLIST dd - %attrs; - > - -<!--=================== Address ==========================================--> - -<!-- information on author --> - -<!ELEMENT address %Inline;> -<!ATTLIST address - %attrs; - > - -<!--=================== Horizontal Rule ==================================--> - -<!ELEMENT hr EMPTY> -<!ATTLIST hr - %attrs; - > - -<!--=================== Preformatted Text ================================--> - -<!-- content is %Inline; excluding "img|object|big|small|sub|sup" --> - -<!ELEMENT pre %pre.content;> -<!ATTLIST pre - %attrs; - xml:space (preserve) #FIXED 'preserve' - > - -<!--=================== Block-like Quotes ================================--> - -<!ELEMENT blockquote %Block;> -<!ATTLIST blockquote - %attrs; - cite %URI; #IMPLIED - > - -<!--=================== Inserted/Deleted Text ============================--> - -<!-- - ins/del are allowed in block and inline content, but its - inappropriate to include block content within an ins element - occurring in inline content. ---> -<!ELEMENT ins %Flow;> -<!ATTLIST ins - %attrs; - cite %URI; #IMPLIED - datetime %Datetime; #IMPLIED - > - -<!ELEMENT del %Flow;> -<!ATTLIST del - %attrs; - cite %URI; #IMPLIED - datetime %Datetime; #IMPLIED - > - -<!--================== The Anchor Element ================================--> - -<!-- content is %Inline; except that anchors shouldn't be nested --> - -<!ELEMENT a %a.content;> -<!ATTLIST a - %attrs; - %focus; - charset %Charset; #IMPLIED - type %ContentType; #IMPLIED - name NMTOKEN #IMPLIED - href %URI; #IMPLIED - hreflang %LanguageCode; #IMPLIED - rel %LinkTypes; #IMPLIED - rev %LinkTypes; #IMPLIED - shape %Shape; "rect" - coords %Coords; #IMPLIED - > - -<!--===================== Inline Elements ================================--> - -<!ELEMENT span %Inline;> <!-- generic language/style container --> -<!ATTLIST span - %attrs; - > - -<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride --> -<!ATTLIST bdo - %coreattrs; - %events; - lang %LanguageCode; #IMPLIED - xml:lang %LanguageCode; #IMPLIED - dir (ltr|rtl) #REQUIRED - > - -<!ELEMENT br EMPTY> <!-- forced line break --> -<!ATTLIST br - %coreattrs; - > - -<!ELEMENT em %Inline;> <!-- emphasis --> -<!ATTLIST em %attrs;> - -<!ELEMENT strong %Inline;> <!-- strong emphasis --> -<!ATTLIST strong %attrs;> - -<!ELEMENT dfn %Inline;> <!-- definitional --> -<!ATTLIST dfn %attrs;> - -<!ELEMENT code %Inline;> <!-- program code --> -<!ATTLIST code %attrs;> - -<!ELEMENT samp %Inline;> <!-- sample --> -<!ATTLIST samp %attrs;> - -<!ELEMENT kbd %Inline;> <!-- something user would type --> -<!ATTLIST kbd %attrs;> - -<!ELEMENT var %Inline;> <!-- variable --> -<!ATTLIST var %attrs;> - -<!ELEMENT cite %Inline;> <!-- citation --> -<!ATTLIST cite %attrs;> - -<!ELEMENT abbr %Inline;> <!-- abbreviation --> -<!ATTLIST abbr %attrs;> - -<!ELEMENT acronym %Inline;> <!-- acronym --> -<!ATTLIST acronym %attrs;> - -<!ELEMENT q %Inline;> <!-- inlined quote --> -<!ATTLIST q - %attrs; - cite %URI; #IMPLIED - > - -<!ELEMENT sub %Inline;> <!-- subscript --> -<!ATTLIST sub %attrs;> - -<!ELEMENT sup %Inline;> <!-- superscript --> -<!ATTLIST sup %attrs;> - -<!ELEMENT tt %Inline;> <!-- fixed pitch font --> -<!ATTLIST tt %attrs;> - -<!ELEMENT i %Inline;> <!-- italic font --> -<!ATTLIST i %attrs;> - -<!ELEMENT b %Inline;> <!-- bold font --> -<!ATTLIST b %attrs;> - -<!ELEMENT big %Inline;> <!-- bigger font --> -<!ATTLIST big %attrs;> - -<!ELEMENT small %Inline;> <!-- smaller font --> -<!ATTLIST small %attrs;> - -<!--==================== Object ======================================--> -<!-- - object is used to embed objects as part of HTML pages. - param elements should precede other content. Parameters - can also be expressed as attribute/value pairs on the - object element itself when brevity is desired. ---> - -<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*> -<!ATTLIST object - %attrs; - declare (declare) #IMPLIED - classid %URI; #IMPLIED - codebase %URI; #IMPLIED - data %URI; #IMPLIED - type %ContentType; #IMPLIED - codetype %ContentType; #IMPLIED - archive %UriList; #IMPLIED - standby %Text; #IMPLIED - height %Length; #IMPLIED - width %Length; #IMPLIED - usemap %URI; #IMPLIED - name NMTOKEN #IMPLIED - tabindex %Number; #IMPLIED - > - -<!-- - param is used to supply a named property value. - In XML it would seem natural to follow RDF and support an - abbreviated syntax where the param elements are replaced - by attribute value pairs on the object start tag. ---> -<!ELEMENT param EMPTY> -<!ATTLIST param - id ID #IMPLIED - name CDATA #IMPLIED - value CDATA #IMPLIED - valuetype (data|ref|object) "data" - type %ContentType; #IMPLIED - > - -<!--=================== Images ===========================================--> - -<!-- - To avoid accessibility problems for people who aren't - able to see the image, you should provide a text - description using the alt and longdesc attributes. - In addition, avoid the use of server-side image maps. - Note that in this DTD there is no name attribute. That - is only available in the transitional and frameset DTD. ---> - -<!ELEMENT img EMPTY> -<!ATTLIST img - %attrs; - src %URI; #REQUIRED - alt %Text; #REQUIRED - longdesc %URI; #IMPLIED - height %Length; #IMPLIED - width %Length; #IMPLIED - usemap %URI; #IMPLIED - ismap (ismap) #IMPLIED - > - -<!-- usemap points to a map element which may be in this document - or an external document, although the latter is not widely supported --> - -<!--================== Client-side image maps ============================--> - -<!-- These can be placed in the same document or grouped in a - separate document although this isn't yet widely supported --> - -<!ELEMENT map ((%block; | form | %misc;)+ | area+)> -<!ATTLIST map - %i18n; - %events; - id ID #REQUIRED - class CDATA #IMPLIED - style %StyleSheet; #IMPLIED - title %Text; #IMPLIED - name NMTOKEN #IMPLIED - > - -<!ELEMENT area EMPTY> -<!ATTLIST area - %attrs; - %focus; - shape %Shape; "rect" - coords %Coords; #IMPLIED - href %URI; #IMPLIED - nohref (nohref) #IMPLIED - alt %Text; #REQUIRED - > - -<!--================ Forms ===============================================--> -<!ELEMENT form %form.content;> <!-- forms shouldn't be nested --> - -<!ATTLIST form - %attrs; - action %URI; #REQUIRED - method (get|post) "get" - enctype %ContentType; "application/x-www-form-urlencoded" - onsubmit %Script; #IMPLIED - onreset %Script; #IMPLIED - accept %ContentTypes; #IMPLIED - accept-charset %Charsets; #IMPLIED - > - -<!-- - Each label must not contain more than ONE field - Label elements shouldn't be nested. ---> -<!ELEMENT label %Inline;> -<!ATTLIST label - %attrs; - for IDREF #IMPLIED - accesskey %Character; #IMPLIED - onfocus %Script; #IMPLIED - onblur %Script; #IMPLIED - > - -<!ENTITY % InputType - "(text | password | checkbox | - radio | submit | reset | - file | hidden | image | button)" - > - -<!-- the name attribute is required for all but submit & reset --> - -<!ELEMENT input EMPTY> <!-- form control --> -<!ATTLIST input - %attrs; - %focus; - type %InputType; "text" - name CDATA #IMPLIED - value CDATA #IMPLIED - checked (checked) #IMPLIED - disabled (disabled) #IMPLIED - readonly (readonly) #IMPLIED - size CDATA #IMPLIED - maxlength %Number; #IMPLIED - src %URI; #IMPLIED - alt CDATA #IMPLIED - usemap %URI; #IMPLIED - onselect %Script; #IMPLIED - onchange %Script; #IMPLIED - accept %ContentTypes; #IMPLIED - > - -<!ELEMENT select (optgroup|option)+> <!-- option selector --> -<!ATTLIST select - %attrs; - name CDATA #IMPLIED - size %Number; #IMPLIED - multiple (multiple) #IMPLIED - disabled (disabled) #IMPLIED - tabindex %Number; #IMPLIED - onfocus %Script; #IMPLIED - onblur %Script; #IMPLIED - onchange %Script; #IMPLIED - > - -<!ELEMENT optgroup (option)+> <!-- option group --> -<!ATTLIST optgroup - %attrs; - disabled (disabled) #IMPLIED - label %Text; #REQUIRED - > - -<!ELEMENT option (#PCDATA)> <!-- selectable choice --> -<!ATTLIST option - %attrs; - selected (selected) #IMPLIED - disabled (disabled) #IMPLIED - label %Text; #IMPLIED - value CDATA #IMPLIED - > - -<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field --> -<!ATTLIST textarea - %attrs; - %focus; - name CDATA #IMPLIED - rows %Number; #REQUIRED - cols %Number; #REQUIRED - disabled (disabled) #IMPLIED - readonly (readonly) #IMPLIED - onselect %Script; #IMPLIED - onchange %Script; #IMPLIED - > - -<!-- - The fieldset element is used to group form fields. - Only one legend element should occur in the content - and if present should only be preceded by whitespace. ---> -<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*> -<!ATTLIST fieldset - %attrs; - > - -<!ELEMENT legend %Inline;> <!-- fieldset label --> -<!ATTLIST legend - %attrs; - accesskey %Character; #IMPLIED - > - -<!-- - Content is %Flow; excluding a, form and form controls ---> -<!ELEMENT button %button.content;> <!-- push button --> -<!ATTLIST button - %attrs; - %focus; - name CDATA #IMPLIED - value CDATA #IMPLIED - type (button|submit|reset) "submit" - disabled (disabled) #IMPLIED - > - -<!--======================= Tables =======================================--> - -<!-- Derived from IETF HTML table standard, see [RFC1942] --> - -<!-- - The border attribute sets the thickness of the frame around the - table. The default units are screen pixels. - - The frame attribute specifies which parts of the frame around - the table should be rendered. The values are not the same as - CALS to avoid a name clash with the valign attribute. ---> -<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> - -<!-- - The rules attribute defines which rules to draw between cells: - - If rules is absent then assume: - "none" if border is absent or border="0" otherwise "all" ---> - -<!ENTITY % TRules "(none | groups | rows | cols | all)"> - -<!-- horizontal alignment attributes for cell contents - - char alignment char, e.g. char=':' - charoff offset for alignment char ---> -<!ENTITY % cellhalign - "align (left|center|right|justify|char) #IMPLIED - char %Character; #IMPLIED - charoff %Length; #IMPLIED" - > - -<!-- vertical alignment attributes for cell contents --> -<!ENTITY % cellvalign - "valign (top|middle|bottom|baseline) #IMPLIED" - > - -<!ELEMENT table - (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))> -<!ELEMENT caption %Inline;> -<!ELEMENT thead (tr)+> -<!ELEMENT tfoot (tr)+> -<!ELEMENT tbody (tr)+> -<!ELEMENT colgroup (col)*> -<!ELEMENT col EMPTY> -<!ELEMENT tr (th|td)+> -<!ELEMENT th %Flow;> -<!ELEMENT td %Flow;> - -<!ATTLIST table - %attrs; - summary %Text; #IMPLIED - width %Length; #IMPLIED - border %Pixels; #IMPLIED - frame %TFrame; #IMPLIED - rules %TRules; #IMPLIED - cellspacing %Length; #IMPLIED - cellpadding %Length; #IMPLIED - > - -<!ATTLIST caption - %attrs; - > - -<!-- -colgroup groups a set of col elements. It allows you to group -several semantically related columns together. ---> -<!ATTLIST colgroup - %attrs; - span %Number; "1" - width %MultiLength; #IMPLIED - %cellhalign; - %cellvalign; - > - -<!-- - col elements define the alignment properties for cells in - one or more columns. - - The width attribute specifies the width of the columns, e.g. - - width=64 width in screen pixels - width=0.5* relative width of 0.5 - - The span attribute causes the attributes of one - col element to apply to more than one column. ---> -<!ATTLIST col - %attrs; - span %Number; "1" - width %MultiLength; #IMPLIED - %cellhalign; - %cellvalign; - > - -<!-- - Use thead to duplicate headers when breaking table - across page boundaries, or for static headers when - tbody sections are rendered in scrolling panel. - - Use tfoot to duplicate footers when breaking table - across page boundaries, or for static footers when - tbody sections are rendered in scrolling panel. - - Use multiple tbody sections when rules are needed - between groups of table rows. ---> -<!ATTLIST thead - %attrs; - %cellhalign; - %cellvalign; - > - -<!ATTLIST tfoot - %attrs; - %cellhalign; - %cellvalign; - > - -<!ATTLIST tbody - %attrs; - %cellhalign; - %cellvalign; - > - -<!ATTLIST tr - %attrs; - %cellhalign; - %cellvalign; - > - - -<!-- Scope is simpler than headers attribute for common tables --> -<!ENTITY % Scope "(row|col|rowgroup|colgroup)"> - -<!-- th is for headers, td for data and for cells acting as both --> - -<!ATTLIST th - %attrs; - abbr %Text; #IMPLIED - axis CDATA #IMPLIED - headers IDREFS #IMPLIED - scope %Scope; #IMPLIED - rowspan %Number; "1" - colspan %Number; "1" - %cellhalign; - %cellvalign; - > - -<!ATTLIST td - %attrs; - abbr %Text; #IMPLIED - axis CDATA #IMPLIED - headers IDREFS #IMPLIED - scope %Scope; #IMPLIED - rowspan %Number; "1" - colspan %Number; "1" - %cellhalign; - %cellvalign; - > -
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/schemas/army.xsd Mon Dec 14 20:50:39 2009 +0000 @@ -0,0 +1,97 @@ +<?xml version="1.0"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ibboard.co.uk/warfoundry/army" xmlns="http://ibboard.co.uk/warfoundry/army" xmlns:core="http://ibboard.co.uk/warfoundry/core" elementFormDefault="qualified"> +<xs:element name="army"> + <xs:complexType> + <xs:all> + <xs:element name="units"> + <xs:complexType> + <xs:sequence> + <xs:element name="unit" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:all> + <xs:element name="equipment" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="equipItem" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element ref="core:extension" minOccurs="0" /> + </xs:sequence> + <xs:attribute name="id" type="xs:string" /> + <xs:attribute name="amount" type="core:nonNegativeOrInfiniteIntegerOrPercentage" use="required"/> + <xs:attribute name="amountType" type="equipmentAmountType" default="ratio"/> + <xs:attribute name="isCustomEquipment" type="xs:boolean" default="false"/> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="contains" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="containedUnit"> + <xs:complexType> + <xs:sequence> + <xs:element ref="core:extension" minOccurs="0" /> + </xs:sequence> + <xs:attribute name="containedID" type="xs:IDREF" use="required"/> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element ref="core:extension" minOccurs="0" /> + </xs:all> + <xs:attribute name="id" type="xs:ID" /> + <xs:attribute name="unitType" type="xs:string" use="required"/> + <xs:attribute name="unitName" type="xs:string" use="required"/> + <xs:attribute name="size" type="xs:positiveInteger" use="required"/> + <xs:attribute name="race" type="xs:string" default=""/> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="customEquipment" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="customEquip" minOccurs="0" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="customEquipPart" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element ref="core:extension" minOccurs="0" /> + </xs:sequence> + <xs:attribute name="partIDRef" type="xs:string" /> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="id" type="xs:ID" /> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element ref="core:extension" minOccurs="0" /> + </xs:all> + <xs:attribute name="id" type="xs:ID" /> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:attribute name="system" type="xs:string" use="required"/> + <xs:attribute name="race" type="xs:string" use="required"/> + <xs:attribute name="maxPoints" type="xs:positiveInteger" use="required"/> + <xs:anyAttribute/> + </xs:complexType> +</xs:element> +<xs:simpleType name="equipmentAmountType"> + <xs:restriction base="xs:string"> + <xs:enumeration value="ratio"/> + <xs:enumeration value="fixed"/> + </xs:restriction> +</xs:simpleType> +</xs:schema> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/schemas/race.xsd Mon Dec 14 20:50:39 2009 +0000 @@ -0,0 +1,227 @@ +<?xml version="1.0"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:core="http://ibboard.co.uk/warfoundry/core" xmlns:cats="http://ibboard.co.uk/warfoundry/cats" +targetNamespace="http://ibboard.co.uk/warfoundry/race" xmlns="http://ibboard.co.uk/warfoundry/race" elementFormDefault="qualified"> +<xs:element name="race"> + <xs:complexType> + <xs:all> + <xs:element name="units"> + <xs:complexType> + <xs:sequence> + <xs:element name="unit" maxOccurs="unbounded"> + <xs:complexType> + <xs:all> + <xs:element name="stats"> + <xs:complexType> + <xs:sequence> + <xs:element name="stat" maxOccurs="unbounded"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:anyAttribute/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="statSet" type="xs:string" default="" /> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + <xs:element name="equipmentSlots" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="equipmentSlot" maxOccurs="unbounded"> + <xs:complexType> + <xs:all> + <xs:element name="maxLimit" minOccurs="0" type="core:limit" /> + <xs:element ref="core:extension" minOccurs="0" /> + </xs:all> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="unitEquipment" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="unitEquipmentItem" maxOccurs="unbounded"> + <xs:complexType> + <xs:all> + <xs:element name="minLimit" minOccurs="0" type="core:limit" /> + <xs:element name="maxLimit" minOccurs="0" type="core:limit" /> + <xs:element ref="core:extension" minOccurs="0" /> + </xs:all> + <xs:attribute name="id" type="xs:IDREF" /> + <xs:attribute name="required" type="xs:boolean" default="false"/> + <!-- exclusivityGroup is deprecated in favour of the comma-separated exclusivityGroups --> + <xs:attribute name="exclusivityGroup" type="xs:string" default=""/> + <xs:attribute name="exclusivityGroups" type="xs:string" default=""/> + <xs:attribute name="equipmentSlot" type="xs:string"/> + <xs:attribute name="roundDirection" type="core:updowntype" default="up"/> + <xs:attribute name="costMultiplier" type="core:nonNegativeDouble" default="1"/> + <xs:attribute name="costRounding" type="costroundingtype" default="UpToHalf"/> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + <xs:element name="unitAbilities" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="unitAbility" maxOccurs="unbounded"> + <xs:complexType> + <xs:attribute name="abilityID" type="xs:IDREF" /> + <xs:attribute name="required" type="xs:boolean" default="true"/> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + <xs:element name="requirements" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="requirement"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="requirementName" type="xs:string" use="required"/> + <xs:anyAttribute/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + <xs:element name="contains" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="containedUnit" maxOccurs="unbounded"> + <xs:complexType> + <xs:attribute name="containedID" type="xs:IDREF" use="required"/> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + <xs:element name="extraData" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="data"> + <xs:complexType> + <xs:simpleContent> + <xs:extension base="xs:string"> + <xs:attribute name="id" type="xs:ID" use="required"/> + <xs:anyAttribute/> + </xs:extension> + </xs:simpleContent> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + <xs:element name="notes" type="xs:string" minOccurs="0" /> + <xs:element ref="core:extension" minOccurs="0" /> + </xs:all> + <xs:attribute name="id" type="xs:ID" /> + <xs:attribute name="typeName" type="xs:string" use="required"/> + <xs:attribute name="cat" type="xs:string" use="required"/> + <xs:attribute name="unitPoints" type="core:nonNegativeNonInfiniteDouble" default="0"/> + <xs:attribute name="points" type="core:nonNegativeNonInfiniteDouble" use="required"/> + <xs:attribute name="minNum" type="xs:nonNegativeInteger" default="0"/> + <xs:attribute name="maxNum" type="core:positiveOrInfiniteInteger" default="-1"/> + <xs:attribute name="minSize" type="xs:nonNegativeInteger" default="5"/> + <xs:attribute name="maxSize" type="core:positiveOrInfiniteInteger" default="-1"/> + <xs:attribute name="baseSize" type="xs:nonNegativeInteger" default="0"/> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + </xs:complexType> + </xs:element> + <xs:element name="categories" type="cats:categoriestype" minOccurs="0" /> + <xs:element name="equipment" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="equipmentItem" maxOccurs="unbounded"> + <xs:complexType> + <xs:all> + <xs:element name="description" type="xs:string" minOccurs="0" /> + <xs:element ref="core:extension" minOccurs="0" /> + </xs:all> + <xs:attribute name="id" type="xs:ID" use="required"/> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:attribute name="cost" type="core:nonNegativeNonInfiniteDouble" use="required"/> + <xs:attribute name="armourType" type="armourtype" default="None"/> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + <xs:element name="abilities" minOccurs="0"> + <xs:complexType> + <xs:sequence> + <xs:element name="ability" maxOccurs="unbounded"> + <xs:complexType> + <xs:all> + <xs:element name="description" type="xs:string" /> + <xs:element ref="core:extension" minOccurs="0" /> + </xs:all> + <xs:attribute name="id" type="xs:ID" use="required"/> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + <xs:element ref="core:extension" minOccurs="0" /> + </xs:all> + <xs:attribute name="id" type="xs:ID" /> + <xs:attribute name="subid" type="xs:string" default=""/> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:attribute name="system" type="xs:string" use="required"/> + <xs:anyAttribute/> + </xs:complexType> +</xs:element> +<xs:simpleType name="costroundingtype"> + <xs:restriction base="xs:string"> + <xs:enumeration value="Up"/> + <xs:enumeration value="Down"/> + <xs:enumeration value="Banker"/> + <xs:enumeration value="UpToHalf"/> + <xs:enumeration value="DownToHalf"/> + <xs:enumeration value="BankerToHalf"/> + </xs:restriction> +</xs:simpleType> +<xs:simpleType name="armourtype"> + <xs:restriction base="xs:string"> + <xs:enumeration value="None"/> + <xs:enumeration value="Shield"/> + <xs:enumeration value="LightArmour"/> + <xs:enumeration value="LightArmourShield"/> + <xs:enumeration value="HeavyArmour"/> + <xs:enumeration value="HeavyArmourShield"/> + <xs:enumeration value="Barding"/> + <xs:enumeration value="BardingShield"/> + <xs:enumeration value="BardingLightArmour"/> + <xs:enumeration value="BardingLightArmourShield"/> + <xs:enumeration value="BardingHeavyArmour"/> + <xs:enumeration value="BardingHeavyArmourShield"/> + </xs:restriction> +</xs:simpleType> +</xs:schema> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/schemas/system.xsd Mon Dec 14 20:50:39 2009 +0000 @@ -0,0 +1,39 @@ +<?xml version="1.0"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:core="http://ibboard.co.uk/warfoundry/core" xmlns:cats="http://ibboard.co.uk/warfoundry/cats" +targetNamespace="http://ibboard.co.uk/warfoundry/system" xmlns="http://ibboard.co.uk/warfoundry/system" elementFormDefault="qualified"> +<xs:element name="system"> + <xs:complexType> + <xs:all> + <xs:element name="categories" type="cats:categoriestype"/> + <xs:element name="sysStatsList"> + <xs:complexType> + <xs:sequence> + <xs:element name="sysStats" maxOccurs="unbounded"> + <xs:complexType> + <xs:sequence> + <xs:element name="sysStat" maxOccurs="unbounded"> + <xs:complexType> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="id" type="xs:ID" /> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:attribute name="defaultStats" type="xs:IDREF" use="required" /> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + <xs:element ref="core:extension" minOccurs="0" /> + </xs:all> + <xs:attribute name="id" type="xs:ID" /> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:attribute name="warn" type="xs:boolean" default="false"/> + <xs:attribute name="allowAllies" type="xs:boolean" default="true"/> + <xs:anyAttribute/> + </xs:complexType> +</xs:element> +</xs:schema> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/schemas/warfoundry-cats.xsd Mon Dec 14 20:50:39 2009 +0000 @@ -0,0 +1,20 @@ +<?xml version="1.0"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:core="http://ibboard.co.uk/warfoundry/core" targetNamespace="http://ibboard.co.uk/warfoundry/cats" +xmlns="http://ibboard.co.uk/warfoundry/cats" elementFormDefault="qualified"> +<xs:complexType name="categoriestype"> + <xs:sequence> + <xs:element name="cat" minOccurs="1" maxOccurs="unbounded"> + <xs:complexType> + <xs:attribute name="id" type="xs:ID" /> + <xs:attribute name="name" type="xs:string" use="required"/> + <xs:attribute name="minPoints" type="core:nonNegativeDouble" default="0"/> + <xs:attribute name="maxPoints" type="core:nonNegativeOrInfiniteInteger" default="-1"/> + <xs:attribute name="minPercentage" type="core:percentage" default="0"/> + <xs:attribute name="maxPercentage" type="core:percentage" default="100"/> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:sequence> + <xs:anyAttribute/> +</xs:complexType> +</xs:schema> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/schemas/warfoundry-core.xsd Mon Dec 14 20:50:39 2009 +0000 @@ -0,0 +1,77 @@ +<?xml version="1.0"?> +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://ibboard.co.uk/warfoundry/core" +xmlns="http://ibboard.co.uk/warfoundry/core" elementFormDefault="qualified"> +<xs:element name="extension"> + <xs:complexType> + <xs:sequence> + <xs:any minOccurs="0" maxOccurs="unbounded" /> + </xs:sequence> + </xs:complexType> +</xs:element> +<xs:complexType name="limit"> + <xs:choice> + <xs:element name="percentageLimit"> + <xs:complexType> + <xs:attribute name="limit" type="percentage" use="required"/> + <xs:attribute name="round" type="updowntype" default="up" /> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + <xs:element name="sizeConstrainedLimit"> + <xs:complexType> + <xs:attribute name="limit" type="xs:nonNegativeInteger" use="required"/> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + <xs:element name="absoluteLimit"> + <xs:complexType> + <xs:attribute name="limit" type="xs:nonNegativeInteger" use="required"/> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + <xs:element name="unitSizeLimit"> + <xs:complexType> + <xs:anyAttribute/> + </xs:complexType> + </xs:element> + </xs:choice> +</xs:complexType> +<xs:simpleType name="positiveOrInfiniteInteger"> + <xs:union memberTypes="xs:positiveInteger infinity"/> +</xs:simpleType> +<xs:simpleType name="nonNegativeOrInfiniteInteger"> + <xs:union memberTypes="xs:nonNegativeInteger infinity"/> +</xs:simpleType> +<xs:simpleType name="infinity"> + <xs:restriction base="xs:integer"> + <xs:minInclusive value="-1"/> + <xs:maxInclusive value="-1"/> + </xs:restriction> +</xs:simpleType> +<xs:simpleType name="nonNegativeDouble"> + <xs:restriction base="xs:double"> + <xs:minInclusive value="0"/> + </xs:restriction> +</xs:simpleType> +<xs:simpleType name="nonNegativeNonInfiniteDouble"> + <xs:restriction base="xs:double"> + <xs:minInclusive value="0"/> + <xs:maxExclusive value="INF"/> + </xs:restriction> +</xs:simpleType> +<xs:simpleType name="percentage"> + <xs:restriction base="xs:double"> + <xs:minInclusive value="0"/> + <xs:maxInclusive value="100"/> + </xs:restriction> +</xs:simpleType> +<xs:simpleType name="nonNegativeOrInfiniteIntegerOrPercentage"> + <xs:union memberTypes="xs:nonNegativeInteger infinity percentage"/> +</xs:simpleType> +<xs:simpleType name="updowntype"> + <xs:restriction base="xs:string"> + <xs:enumeration value="up"/> + <xs:enumeration value="down"/> + </xs:restriction> +</xs:simpleType> +</xs:schema> \ No newline at end of file
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/schemas/xhtml-lat1.ent Mon Dec 14 20:50:39 2009 +0000 @@ -0,0 +1,196 @@ +<!-- Portions (C) International Organization for Standardization 1986 + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> +<!-- Character entity set. Typical invocation: + <!ENTITY % HTMLlat1 PUBLIC + "-//W3C//ENTITIES Latin 1 for XHTML//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent"> + %HTMLlat1; +--> + +<!ENTITY nbsp " "> <!-- no-break space = non-breaking space, + U+00A0 ISOnum --> +<!ENTITY iexcl "¡"> <!-- inverted exclamation mark, U+00A1 ISOnum --> +<!ENTITY cent "¢"> <!-- cent sign, U+00A2 ISOnum --> +<!ENTITY pound "£"> <!-- pound sign, U+00A3 ISOnum --> +<!ENTITY curren "¤"> <!-- currency sign, U+00A4 ISOnum --> +<!ENTITY yen "¥"> <!-- yen sign = yuan sign, U+00A5 ISOnum --> +<!ENTITY brvbar "¦"> <!-- broken bar = broken vertical bar, + U+00A6 ISOnum --> +<!ENTITY sect "§"> <!-- section sign, U+00A7 ISOnum --> +<!ENTITY uml "¨"> <!-- diaeresis = spacing diaeresis, + U+00A8 ISOdia --> +<!ENTITY copy "©"> <!-- copyright sign, U+00A9 ISOnum --> +<!ENTITY ordf "ª"> <!-- feminine ordinal indicator, U+00AA ISOnum --> +<!ENTITY laquo "«"> <!-- left-pointing double angle quotation mark + = left pointing guillemet, U+00AB ISOnum --> +<!ENTITY not "¬"> <!-- not sign = angled dash, + U+00AC ISOnum --> +<!ENTITY shy "­"> <!-- soft hyphen = discretionary hyphen, + U+00AD ISOnum --> +<!ENTITY reg "®"> <!-- registered sign = registered trade mark sign, + U+00AE ISOnum --> +<!ENTITY macr "¯"> <!-- macron = spacing macron = overline + = APL overbar, U+00AF ISOdia --> +<!ENTITY deg "°"> <!-- degree sign, U+00B0 ISOnum --> +<!ENTITY plusmn "±"> <!-- plus-minus sign = plus-or-minus sign, + U+00B1 ISOnum --> +<!ENTITY sup2 "²"> <!-- superscript two = superscript digit two + = squared, U+00B2 ISOnum --> +<!ENTITY sup3 "³"> <!-- superscript three = superscript digit three + = cubed, U+00B3 ISOnum --> +<!ENTITY acute "´"> <!-- acute accent = spacing acute, + U+00B4 ISOdia --> +<!ENTITY micro "µ"> <!-- micro sign, U+00B5 ISOnum --> +<!ENTITY para "¶"> <!-- pilcrow sign = paragraph sign, + U+00B6 ISOnum --> +<!ENTITY middot "·"> <!-- middle dot = Georgian comma + = Greek middle dot, U+00B7 ISOnum --> +<!ENTITY cedil "¸"> <!-- cedilla = spacing cedilla, U+00B8 ISOdia --> +<!ENTITY sup1 "¹"> <!-- superscript one = superscript digit one, + U+00B9 ISOnum --> +<!ENTITY ordm "º"> <!-- masculine ordinal indicator, + U+00BA ISOnum --> +<!ENTITY raquo "»"> <!-- right-pointing double angle quotation mark + = right pointing guillemet, U+00BB ISOnum --> +<!ENTITY frac14 "¼"> <!-- vulgar fraction one quarter + = fraction one quarter, U+00BC ISOnum --> +<!ENTITY frac12 "½"> <!-- vulgar fraction one half + = fraction one half, U+00BD ISOnum --> +<!ENTITY frac34 "¾"> <!-- vulgar fraction three quarters + = fraction three quarters, U+00BE ISOnum --> +<!ENTITY iquest "¿"> <!-- inverted question mark + = turned question mark, U+00BF ISOnum --> +<!ENTITY Agrave "À"> <!-- latin capital letter A with grave + = latin capital letter A grave, + U+00C0 ISOlat1 --> +<!ENTITY Aacute "Á"> <!-- latin capital letter A with acute, + U+00C1 ISOlat1 --> +<!ENTITY Acirc "Â"> <!-- latin capital letter A with circumflex, + U+00C2 ISOlat1 --> +<!ENTITY Atilde "Ã"> <!-- latin capital letter A with tilde, + U+00C3 ISOlat1 --> +<!ENTITY Auml "Ä"> <!-- latin capital letter A with diaeresis, + U+00C4 ISOlat1 --> +<!ENTITY Aring "Å"> <!-- latin capital letter A with ring above + = latin capital letter A ring, + U+00C5 ISOlat1 --> +<!ENTITY AElig "Æ"> <!-- latin capital letter AE + = latin capital ligature AE, + U+00C6 ISOlat1 --> +<!ENTITY Ccedil "Ç"> <!-- latin capital letter C with cedilla, + U+00C7 ISOlat1 --> +<!ENTITY Egrave "È"> <!-- latin capital letter E with grave, + U+00C8 ISOlat1 --> +<!ENTITY Eacute "É"> <!-- latin capital letter E with acute, + U+00C9 ISOlat1 --> +<!ENTITY Ecirc "Ê"> <!-- latin capital letter E with circumflex, + U+00CA ISOlat1 --> +<!ENTITY Euml "Ë"> <!-- latin capital letter E with diaeresis, + U+00CB ISOlat1 --> +<!ENTITY Igrave "Ì"> <!-- latin capital letter I with grave, + U+00CC ISOlat1 --> +<!ENTITY Iacute "Í"> <!-- latin capital letter I with acute, + U+00CD ISOlat1 --> +<!ENTITY Icirc "Î"> <!-- latin capital letter I with circumflex, + U+00CE ISOlat1 --> +<!ENTITY Iuml "Ï"> <!-- latin capital letter I with diaeresis, + U+00CF ISOlat1 --> +<!ENTITY ETH "Ð"> <!-- latin capital letter ETH, U+00D0 ISOlat1 --> +<!ENTITY Ntilde "Ñ"> <!-- latin capital letter N with tilde, + U+00D1 ISOlat1 --> +<!ENTITY Ograve "Ò"> <!-- latin capital letter O with grave, + U+00D2 ISOlat1 --> +<!ENTITY Oacute "Ó"> <!-- latin capital letter O with acute, + U+00D3 ISOlat1 --> +<!ENTITY Ocirc "Ô"> <!-- latin capital letter O with circumflex, + U+00D4 ISOlat1 --> +<!ENTITY Otilde "Õ"> <!-- latin capital letter O with tilde, + U+00D5 ISOlat1 --> +<!ENTITY Ouml "Ö"> <!-- latin capital letter O with diaeresis, + U+00D6 ISOlat1 --> +<!ENTITY times "×"> <!-- multiplication sign, U+00D7 ISOnum --> +<!ENTITY Oslash "Ø"> <!-- latin capital letter O with stroke + = latin capital letter O slash, + U+00D8 ISOlat1 --> +<!ENTITY Ugrave "Ù"> <!-- latin capital letter U with grave, + U+00D9 ISOlat1 --> +<!ENTITY Uacute "Ú"> <!-- latin capital letter U with acute, + U+00DA ISOlat1 --> +<!ENTITY Ucirc "Û"> <!-- latin capital letter U with circumflex, + U+00DB ISOlat1 --> +<!ENTITY Uuml "Ü"> <!-- latin capital letter U with diaeresis, + U+00DC ISOlat1 --> +<!ENTITY Yacute "Ý"> <!-- latin capital letter Y with acute, + U+00DD ISOlat1 --> +<!ENTITY THORN "Þ"> <!-- latin capital letter THORN, + U+00DE ISOlat1 --> +<!ENTITY szlig "ß"> <!-- latin small letter sharp s = ess-zed, + U+00DF ISOlat1 --> +<!ENTITY agrave "à"> <!-- latin small letter a with grave + = latin small letter a grave, + U+00E0 ISOlat1 --> +<!ENTITY aacute "á"> <!-- latin small letter a with acute, + U+00E1 ISOlat1 --> +<!ENTITY acirc "â"> <!-- latin small letter a with circumflex, + U+00E2 ISOlat1 --> +<!ENTITY atilde "ã"> <!-- latin small letter a with tilde, + U+00E3 ISOlat1 --> +<!ENTITY auml "ä"> <!-- latin small letter a with diaeresis, + U+00E4 ISOlat1 --> +<!ENTITY aring "å"> <!-- latin small letter a with ring above + = latin small letter a ring, + U+00E5 ISOlat1 --> +<!ENTITY aelig "æ"> <!-- latin small letter ae + = latin small ligature ae, U+00E6 ISOlat1 --> +<!ENTITY ccedil "ç"> <!-- latin small letter c with cedilla, + U+00E7 ISOlat1 --> +<!ENTITY egrave "è"> <!-- latin small letter e with grave, + U+00E8 ISOlat1 --> +<!ENTITY eacute "é"> <!-- latin small letter e with acute, + U+00E9 ISOlat1 --> +<!ENTITY ecirc "ê"> <!-- latin small letter e with circumflex, + U+00EA ISOlat1 --> +<!ENTITY euml "ë"> <!-- latin small letter e with diaeresis, + U+00EB ISOlat1 --> +<!ENTITY igrave "ì"> <!-- latin small letter i with grave, + U+00EC ISOlat1 --> +<!ENTITY iacute "í"> <!-- latin small letter i with acute, + U+00ED ISOlat1 --> +<!ENTITY icirc "î"> <!-- latin small letter i with circumflex, + U+00EE ISOlat1 --> +<!ENTITY iuml "ï"> <!-- latin small letter i with diaeresis, + U+00EF ISOlat1 --> +<!ENTITY eth "ð"> <!-- latin small letter eth, U+00F0 ISOlat1 --> +<!ENTITY ntilde "ñ"> <!-- latin small letter n with tilde, + U+00F1 ISOlat1 --> +<!ENTITY ograve "ò"> <!-- latin small letter o with grave, + U+00F2 ISOlat1 --> +<!ENTITY oacute "ó"> <!-- latin small letter o with acute, + U+00F3 ISOlat1 --> +<!ENTITY ocirc "ô"> <!-- latin small letter o with circumflex, + U+00F4 ISOlat1 --> +<!ENTITY otilde "õ"> <!-- latin small letter o with tilde, + U+00F5 ISOlat1 --> +<!ENTITY ouml "ö"> <!-- latin small letter o with diaeresis, + U+00F6 ISOlat1 --> +<!ENTITY divide "÷"> <!-- division sign, U+00F7 ISOnum --> +<!ENTITY oslash "ø"> <!-- latin small letter o with stroke, + = latin small letter o slash, + U+00F8 ISOlat1 --> +<!ENTITY ugrave "ù"> <!-- latin small letter u with grave, + U+00F9 ISOlat1 --> +<!ENTITY uacute "ú"> <!-- latin small letter u with acute, + U+00FA ISOlat1 --> +<!ENTITY ucirc "û"> <!-- latin small letter u with circumflex, + U+00FB ISOlat1 --> +<!ENTITY uuml "ü"> <!-- latin small letter u with diaeresis, + U+00FC ISOlat1 --> +<!ENTITY yacute "ý"> <!-- latin small letter y with acute, + U+00FD ISOlat1 --> +<!ENTITY thorn "þ"> <!-- latin small letter thorn, + U+00FE ISOlat1 --> +<!ENTITY yuml "ÿ"> <!-- latin small letter y with diaeresis, + U+00FF ISOlat1 -->
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/schemas/xhtml-special.ent Mon Dec 14 20:50:39 2009 +0000 @@ -0,0 +1,80 @@ +<!-- Special characters for XHTML --> + +<!-- Character entity set. Typical invocation: + <!ENTITY % HTMLspecial PUBLIC + "-//W3C//ENTITIES Special for XHTML//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent"> + %HTMLspecial; +--> + +<!-- Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> + +<!-- Relevant ISO entity set is given unless names are newly introduced. + New names (i.e., not in ISO 8879 list) do not clash with any + existing ISO 8879 entity names. ISO 10646 character numbers + are given for each character, in hex. values are decimal + conversions of the ISO 10646 values and refer to the document + character set. Names are Unicode names. +--> + +<!-- C0 Controls and Basic Latin --> +<!ENTITY quot """> <!-- quotation mark, U+0022 ISOnum --> +<!ENTITY amp "&#38;"> <!-- ampersand, U+0026 ISOnum --> +<!ENTITY lt "&#60;"> <!-- less-than sign, U+003C ISOnum --> +<!ENTITY gt ">"> <!-- greater-than sign, U+003E ISOnum --> +<!ENTITY apos "'"> <!-- apostrophe = APL quote, U+0027 ISOnum --> + +<!-- Latin Extended-A --> +<!ENTITY OElig "Œ"> <!-- latin capital ligature OE, + U+0152 ISOlat2 --> +<!ENTITY oelig "œ"> <!-- latin small ligature oe, U+0153 ISOlat2 --> +<!-- ligature is a misnomer, this is a separate character in some languages --> +<!ENTITY Scaron "Š"> <!-- latin capital letter S with caron, + U+0160 ISOlat2 --> +<!ENTITY scaron "š"> <!-- latin small letter s with caron, + U+0161 ISOlat2 --> +<!ENTITY Yuml "Ÿ"> <!-- latin capital letter Y with diaeresis, + U+0178 ISOlat2 --> + +<!-- Spacing Modifier Letters --> +<!ENTITY circ "ˆ"> <!-- modifier letter circumflex accent, + U+02C6 ISOpub --> +<!ENTITY tilde "˜"> <!-- small tilde, U+02DC ISOdia --> + +<!-- General Punctuation --> +<!ENTITY ensp " "> <!-- en space, U+2002 ISOpub --> +<!ENTITY emsp " "> <!-- em space, U+2003 ISOpub --> +<!ENTITY thinsp " "> <!-- thin space, U+2009 ISOpub --> +<!ENTITY zwnj "‌"> <!-- zero width non-joiner, + U+200C NEW RFC 2070 --> +<!ENTITY zwj "‍"> <!-- zero width joiner, U+200D NEW RFC 2070 --> +<!ENTITY lrm "‎"> <!-- left-to-right mark, U+200E NEW RFC 2070 --> +<!ENTITY rlm "‏"> <!-- right-to-left mark, U+200F NEW RFC 2070 --> +<!ENTITY ndash "–"> <!-- en dash, U+2013 ISOpub --> +<!ENTITY mdash "—"> <!-- em dash, U+2014 ISOpub --> +<!ENTITY lsquo "‘"> <!-- left single quotation mark, + U+2018 ISOnum --> +<!ENTITY rsquo "’"> <!-- right single quotation mark, + U+2019 ISOnum --> +<!ENTITY sbquo "‚"> <!-- single low-9 quotation mark, U+201A NEW --> +<!ENTITY ldquo "“"> <!-- left double quotation mark, + U+201C ISOnum --> +<!ENTITY rdquo "”"> <!-- right double quotation mark, + U+201D ISOnum --> +<!ENTITY bdquo "„"> <!-- double low-9 quotation mark, U+201E NEW --> +<!ENTITY dagger "†"> <!-- dagger, U+2020 ISOpub --> +<!ENTITY Dagger "‡"> <!-- double dagger, U+2021 ISOpub --> +<!ENTITY permil "‰"> <!-- per mille sign, U+2030 ISOtech --> +<!ENTITY lsaquo "‹"> <!-- single left-pointing angle quotation mark, + U+2039 ISO proposed --> +<!-- lsaquo is proposed but not yet ISO standardized --> +<!ENTITY rsaquo "›"> <!-- single right-pointing angle quotation mark, + U+203A ISO proposed --> +<!-- rsaquo is proposed but not yet ISO standardized --> + +<!-- Currency Symbols --> +<!ENTITY euro "€"> <!-- euro sign, U+20AC NEW -->
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/schemas/xhtml-symbol.ent Mon Dec 14 20:50:39 2009 +0000 @@ -0,0 +1,237 @@ +<!-- Mathematical, Greek and Symbolic characters for XHTML --> + +<!-- Character entity set. Typical invocation: + <!ENTITY % HTMLsymbol PUBLIC + "-//W3C//ENTITIES Symbols for XHTML//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent"> + %HTMLsymbol; +--> + +<!-- Portions (C) International Organization for Standardization 1986: + Permission to copy in any form is granted for use with + conforming SGML systems and applications as defined in + ISO 8879, provided this notice is included in all copies. +--> + +<!-- Relevant ISO entity set is given unless names are newly introduced. + New names (i.e., not in ISO 8879 list) do not clash with any + existing ISO 8879 entity names. ISO 10646 character numbers + are given for each character, in hex. values are decimal + conversions of the ISO 10646 values and refer to the document + character set. Names are Unicode names. +--> + +<!-- Latin Extended-B --> +<!ENTITY fnof "ƒ"> <!-- latin small letter f with hook = function + = florin, U+0192 ISOtech --> + +<!-- Greek --> +<!ENTITY Alpha "Α"> <!-- greek capital letter alpha, U+0391 --> +<!ENTITY Beta "Β"> <!-- greek capital letter beta, U+0392 --> +<!ENTITY Gamma "Γ"> <!-- greek capital letter gamma, + U+0393 ISOgrk3 --> +<!ENTITY Delta "Δ"> <!-- greek capital letter delta, + U+0394 ISOgrk3 --> +<!ENTITY Epsilon "Ε"> <!-- greek capital letter epsilon, U+0395 --> +<!ENTITY Zeta "Ζ"> <!-- greek capital letter zeta, U+0396 --> +<!ENTITY Eta "Η"> <!-- greek capital letter eta, U+0397 --> +<!ENTITY Theta "Θ"> <!-- greek capital letter theta, + U+0398 ISOgrk3 --> +<!ENTITY Iota "Ι"> <!-- greek capital letter iota, U+0399 --> +<!ENTITY Kappa "Κ"> <!-- greek capital letter kappa, U+039A --> +<!ENTITY Lambda "Λ"> <!-- greek capital letter lamda, + U+039B ISOgrk3 --> +<!ENTITY Mu "Μ"> <!-- greek capital letter mu, U+039C --> +<!ENTITY Nu "Ν"> <!-- greek capital letter nu, U+039D --> +<!ENTITY Xi "Ξ"> <!-- greek capital letter xi, U+039E ISOgrk3 --> +<!ENTITY Omicron "Ο"> <!-- greek capital letter omicron, U+039F --> +<!ENTITY Pi "Π"> <!-- greek capital letter pi, U+03A0 ISOgrk3 --> +<!ENTITY Rho "Ρ"> <!-- greek capital letter rho, U+03A1 --> +<!-- there is no Sigmaf, and no U+03A2 character either --> +<!ENTITY Sigma "Σ"> <!-- greek capital letter sigma, + U+03A3 ISOgrk3 --> +<!ENTITY Tau "Τ"> <!-- greek capital letter tau, U+03A4 --> +<!ENTITY Upsilon "Υ"> <!-- greek capital letter upsilon, + U+03A5 ISOgrk3 --> +<!ENTITY Phi "Φ"> <!-- greek capital letter phi, + U+03A6 ISOgrk3 --> +<!ENTITY Chi "Χ"> <!-- greek capital letter chi, U+03A7 --> +<!ENTITY Psi "Ψ"> <!-- greek capital letter psi, + U+03A8 ISOgrk3 --> +<!ENTITY Omega "Ω"> <!-- greek capital letter omega, + U+03A9 ISOgrk3 --> + +<!ENTITY alpha "α"> <!-- greek small letter alpha, + U+03B1 ISOgrk3 --> +<!ENTITY beta "β"> <!-- greek small letter beta, U+03B2 ISOgrk3 --> +<!ENTITY gamma "γ"> <!-- greek small letter gamma, + U+03B3 ISOgrk3 --> +<!ENTITY delta "δ"> <!-- greek small letter delta, + U+03B4 ISOgrk3 --> +<!ENTITY epsilon "ε"> <!-- greek small letter epsilon, + U+03B5 ISOgrk3 --> +<!ENTITY zeta "ζ"> <!-- greek small letter zeta, U+03B6 ISOgrk3 --> +<!ENTITY eta "η"> <!-- greek small letter eta, U+03B7 ISOgrk3 --> +<!ENTITY theta "θ"> <!-- greek small letter theta, + U+03B8 ISOgrk3 --> +<!ENTITY iota "ι"> <!-- greek small letter iota, U+03B9 ISOgrk3 --> +<!ENTITY kappa "κ"> <!-- greek small letter kappa, + U+03BA ISOgrk3 --> +<!ENTITY lambda "λ"> <!-- greek small letter lamda, + U+03BB ISOgrk3 --> +<!ENTITY mu "μ"> <!-- greek small letter mu, U+03BC ISOgrk3 --> +<!ENTITY nu "ν"> <!-- greek small letter nu, U+03BD ISOgrk3 --> +<!ENTITY xi "ξ"> <!-- greek small letter xi, U+03BE ISOgrk3 --> +<!ENTITY omicron "ο"> <!-- greek small letter omicron, U+03BF NEW --> +<!ENTITY pi "π"> <!-- greek small letter pi, U+03C0 ISOgrk3 --> +<!ENTITY rho "ρ"> <!-- greek small letter rho, U+03C1 ISOgrk3 --> +<!ENTITY sigmaf "ς"> <!-- greek small letter final sigma, + U+03C2 ISOgrk3 --> +<!ENTITY sigma "σ"> <!-- greek small letter sigma, + U+03C3 ISOgrk3 --> +<!ENTITY tau "τ"> <!-- greek small letter tau, U+03C4 ISOgrk3 --> +<!ENTITY upsilon "υ"> <!-- greek small letter upsilon, + U+03C5 ISOgrk3 --> +<!ENTITY phi "φ"> <!-- greek small letter phi, U+03C6 ISOgrk3 --> +<!ENTITY chi "χ"> <!-- greek small letter chi, U+03C7 ISOgrk3 --> +<!ENTITY psi "ψ"> <!-- greek small letter psi, U+03C8 ISOgrk3 --> +<!ENTITY omega "ω"> <!-- greek small letter omega, + U+03C9 ISOgrk3 --> +<!ENTITY thetasym "ϑ"> <!-- greek theta symbol, + U+03D1 NEW --> +<!ENTITY upsih "ϒ"> <!-- greek upsilon with hook symbol, + U+03D2 NEW --> +<!ENTITY piv "ϖ"> <!-- greek pi symbol, U+03D6 ISOgrk3 --> + +<!-- General Punctuation --> +<!ENTITY bull "•"> <!-- bullet = black small circle, + U+2022 ISOpub --> +<!-- bullet is NOT the same as bullet operator, U+2219 --> +<!ENTITY hellip "…"> <!-- horizontal ellipsis = three dot leader, + U+2026 ISOpub --> +<!ENTITY prime "′"> <!-- prime = minutes = feet, U+2032 ISOtech --> +<!ENTITY Prime "″"> <!-- double prime = seconds = inches, + U+2033 ISOtech --> +<!ENTITY oline "‾"> <!-- overline = spacing overscore, + U+203E NEW --> +<!ENTITY frasl "⁄"> <!-- fraction slash, U+2044 NEW --> + +<!-- Letterlike Symbols --> +<!ENTITY weierp "℘"> <!-- script capital P = power set + = Weierstrass p, U+2118 ISOamso --> +<!ENTITY image "ℑ"> <!-- black-letter capital I = imaginary part, + U+2111 ISOamso --> +<!ENTITY real "ℜ"> <!-- black-letter capital R = real part symbol, + U+211C ISOamso --> +<!ENTITY trade "™"> <!-- trade mark sign, U+2122 ISOnum --> +<!ENTITY alefsym "ℵ"> <!-- alef symbol = first transfinite cardinal, + U+2135 NEW --> +<!-- alef symbol is NOT the same as hebrew letter alef, + U+05D0 although the same glyph could be used to depict both characters --> + +<!-- Arrows --> +<!ENTITY larr "←"> <!-- leftwards arrow, U+2190 ISOnum --> +<!ENTITY uarr "↑"> <!-- upwards arrow, U+2191 ISOnum--> +<!ENTITY rarr "→"> <!-- rightwards arrow, U+2192 ISOnum --> +<!ENTITY darr "↓"> <!-- downwards arrow, U+2193 ISOnum --> +<!ENTITY harr "↔"> <!-- left right arrow, U+2194 ISOamsa --> +<!ENTITY crarr "↵"> <!-- downwards arrow with corner leftwards + = carriage return, U+21B5 NEW --> +<!ENTITY lArr "⇐"> <!-- leftwards double arrow, U+21D0 ISOtech --> +<!-- Unicode does not say that lArr is the same as the 'is implied by' arrow + but also does not have any other character for that function. So lArr can + be used for 'is implied by' as ISOtech suggests --> +<!ENTITY uArr "⇑"> <!-- upwards double arrow, U+21D1 ISOamsa --> +<!ENTITY rArr "⇒"> <!-- rightwards double arrow, + U+21D2 ISOtech --> +<!-- Unicode does not say this is the 'implies' character but does not have + another character with this function so rArr can be used for 'implies' + as ISOtech suggests --> +<!ENTITY dArr "⇓"> <!-- downwards double arrow, U+21D3 ISOamsa --> +<!ENTITY hArr "⇔"> <!-- left right double arrow, + U+21D4 ISOamsa --> + +<!-- Mathematical Operators --> +<!ENTITY forall "∀"> <!-- for all, U+2200 ISOtech --> +<!ENTITY part "∂"> <!-- partial differential, U+2202 ISOtech --> +<!ENTITY exist "∃"> <!-- there exists, U+2203 ISOtech --> +<!ENTITY empty "∅"> <!-- empty set = null set, U+2205 ISOamso --> +<!ENTITY nabla "∇"> <!-- nabla = backward difference, + U+2207 ISOtech --> +<!ENTITY isin "∈"> <!-- element of, U+2208 ISOtech --> +<!ENTITY notin "∉"> <!-- not an element of, U+2209 ISOtech --> +<!ENTITY ni "∋"> <!-- contains as member, U+220B ISOtech --> +<!ENTITY prod "∏"> <!-- n-ary product = product sign, + U+220F ISOamsb --> +<!-- prod is NOT the same character as U+03A0 'greek capital letter pi' though + the same glyph might be used for both --> +<!ENTITY sum "∑"> <!-- n-ary summation, U+2211 ISOamsb --> +<!-- sum is NOT the same character as U+03A3 'greek capital letter sigma' + though the same glyph might be used for both --> +<!ENTITY minus "−"> <!-- minus sign, U+2212 ISOtech --> +<!ENTITY lowast "∗"> <!-- asterisk operator, U+2217 ISOtech --> +<!ENTITY radic "√"> <!-- square root = radical sign, + U+221A ISOtech --> +<!ENTITY prop "∝"> <!-- proportional to, U+221D ISOtech --> +<!ENTITY infin "∞"> <!-- infinity, U+221E ISOtech --> +<!ENTITY ang "∠"> <!-- angle, U+2220 ISOamso --> +<!ENTITY and "∧"> <!-- logical and = wedge, U+2227 ISOtech --> +<!ENTITY or "∨"> <!-- logical or = vee, U+2228 ISOtech --> +<!ENTITY cap "∩"> <!-- intersection = cap, U+2229 ISOtech --> +<!ENTITY cup "∪"> <!-- union = cup, U+222A ISOtech --> +<!ENTITY int "∫"> <!-- integral, U+222B ISOtech --> +<!ENTITY there4 "∴"> <!-- therefore, U+2234 ISOtech --> +<!ENTITY sim "∼"> <!-- tilde operator = varies with = similar to, + U+223C ISOtech --> +<!-- tilde operator is NOT the same character as the tilde, U+007E, + although the same glyph might be used to represent both --> +<!ENTITY cong "≅"> <!-- approximately equal to, U+2245 ISOtech --> +<!ENTITY asymp "≈"> <!-- almost equal to = asymptotic to, + U+2248 ISOamsr --> +<!ENTITY ne "≠"> <!-- not equal to, U+2260 ISOtech --> +<!ENTITY equiv "≡"> <!-- identical to, U+2261 ISOtech --> +<!ENTITY le "≤"> <!-- less-than or equal to, U+2264 ISOtech --> +<!ENTITY ge "≥"> <!-- greater-than or equal to, + U+2265 ISOtech --> +<!ENTITY sub "⊂"> <!-- subset of, U+2282 ISOtech --> +<!ENTITY sup "⊃"> <!-- superset of, U+2283 ISOtech --> +<!ENTITY nsub "⊄"> <!-- not a subset of, U+2284 ISOamsn --> +<!ENTITY sube "⊆"> <!-- subset of or equal to, U+2286 ISOtech --> +<!ENTITY supe "⊇"> <!-- superset of or equal to, + U+2287 ISOtech --> +<!ENTITY oplus "⊕"> <!-- circled plus = direct sum, + U+2295 ISOamsb --> +<!ENTITY otimes "⊗"> <!-- circled times = vector product, + U+2297 ISOamsb --> +<!ENTITY perp "⊥"> <!-- up tack = orthogonal to = perpendicular, + U+22A5 ISOtech --> +<!ENTITY sdot "⋅"> <!-- dot operator, U+22C5 ISOamsb --> +<!-- dot operator is NOT the same character as U+00B7 middle dot --> + +<!-- Miscellaneous Technical --> +<!ENTITY lceil "⌈"> <!-- left ceiling = APL upstile, + U+2308 ISOamsc --> +<!ENTITY rceil "⌉"> <!-- right ceiling, U+2309 ISOamsc --> +<!ENTITY lfloor "⌊"> <!-- left floor = APL downstile, + U+230A ISOamsc --> +<!ENTITY rfloor "⌋"> <!-- right floor, U+230B ISOamsc --> +<!ENTITY lang "〈"> <!-- left-pointing angle bracket = bra, + U+2329 ISOtech --> +<!-- lang is NOT the same character as U+003C 'less than sign' + or U+2039 'single left-pointing angle quotation mark' --> +<!ENTITY rang "〉"> <!-- right-pointing angle bracket = ket, + U+232A ISOtech --> +<!-- rang is NOT the same character as U+003E 'greater than sign' + or U+203A 'single right-pointing angle quotation mark' --> + +<!-- Geometric Shapes --> +<!ENTITY loz "◊"> <!-- lozenge, U+25CA ISOpub --> + +<!-- Miscellaneous Symbols --> +<!ENTITY spades "♠"> <!-- black spade suit, U+2660 ISOpub --> +<!-- black here seems to mean filled as opposed to hollow --> +<!ENTITY clubs "♣"> <!-- black club suit = shamrock, + U+2663 ISOpub --> +<!ENTITY hearts "♥"> <!-- black heart suit = valentine, + U+2665 ISOpub --> +<!ENTITY diams "♦"> <!-- black diamond suit, U+2666 ISOpub -->
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/schemas/xhtml1-strict.dtd Mon Dec 14 20:50:39 2009 +0000 @@ -0,0 +1,978 @@ +<!-- + Extensible HTML version 1.0 Strict DTD + + This is the same as HTML 4 Strict except for + changes due to the differences between XML and SGML. + + Namespace = http://www.w3.org/1999/xhtml + + For further information, see: http://www.w3.org/TR/xhtml1 + + Copyright (c) 1998-2002 W3C (MIT, INRIA, Keio), + All Rights Reserved. + + This DTD module is identified by the PUBLIC and SYSTEM identifiers: + + PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + SYSTEM "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" + + $Revision: 1.1 $ + $Date: 2002/08/01 13:56:03 $ + +--> + +<!--================ Character mnemonic entities =========================--> + +<!ENTITY % HTMLlat1 PUBLIC + "-//W3C//ENTITIES Latin 1 for XHTML//EN" + "xhtml-lat1.ent"> +%HTMLlat1; + +<!ENTITY % HTMLsymbol PUBLIC + "-//W3C//ENTITIES Symbols for XHTML//EN" + "xhtml-symbol.ent"> +%HTMLsymbol; + +<!ENTITY % HTMLspecial PUBLIC + "-//W3C//ENTITIES Special for XHTML//EN" + "xhtml-special.ent"> +%HTMLspecial; + +<!--================== Imported Names ====================================--> + +<!ENTITY % ContentType "CDATA"> + <!-- media type, as per [RFC2045] --> + +<!ENTITY % ContentTypes "CDATA"> + <!-- comma-separated list of media types, as per [RFC2045] --> + +<!ENTITY % Charset "CDATA"> + <!-- a character encoding, as per [RFC2045] --> + +<!ENTITY % Charsets "CDATA"> + <!-- a space separated list of character encodings, as per [RFC2045] --> + +<!ENTITY % LanguageCode "NMTOKEN"> + <!-- a language code, as per [RFC3066] --> + +<!ENTITY % Character "CDATA"> + <!-- a single character, as per section 2.2 of [XML] --> + +<!ENTITY % Number "CDATA"> + <!-- one or more digits --> + +<!ENTITY % LinkTypes "CDATA"> + <!-- space-separated list of link types --> + +<!ENTITY % MediaDesc "CDATA"> + <!-- single or comma-separated list of media descriptors --> + +<!ENTITY % URI "CDATA"> + <!-- a Uniform Resource Identifier, see [RFC2396] --> + +<!ENTITY % UriList "CDATA"> + <!-- a space separated list of Uniform Resource Identifiers --> + +<!ENTITY % Datetime "CDATA"> + <!-- date and time information. ISO date format --> + +<!ENTITY % Script "CDATA"> + <!-- script expression --> + +<!ENTITY % StyleSheet "CDATA"> + <!-- style sheet data --> + +<!ENTITY % Text "CDATA"> + <!-- used for titles etc. --> + +<!ENTITY % Length "CDATA"> + <!-- nn for pixels or nn% for percentage length --> + +<!ENTITY % MultiLength "CDATA"> + <!-- pixel, percentage, or relative --> + +<!ENTITY % Pixels "CDATA"> + <!-- integer representing length in pixels --> + +<!-- these are used for image maps --> + +<!ENTITY % Shape "(rect|circle|poly|default)"> + +<!ENTITY % Coords "CDATA"> + <!-- comma separated list of lengths --> + +<!--=================== Generic Attributes ===============================--> + +<!-- core attributes common to most elements + id document-wide unique id + class space separated list of classes + style associated style info + title advisory title/amplification +--> +<!ENTITY % coreattrs + "id ID #IMPLIED + class CDATA #IMPLIED + style %StyleSheet; #IMPLIED + title %Text; #IMPLIED" + > + +<!-- internationalization attributes + lang language code (backwards compatible) + xml:lang language code (as per XML 1.0 spec) + dir direction for weak/neutral text +--> +<!ENTITY % i18n + "lang %LanguageCode; #IMPLIED + xml:lang %LanguageCode; #IMPLIED + dir (ltr|rtl) #IMPLIED" + > + +<!-- attributes for common UI events + onclick a pointer button was clicked + ondblclick a pointer button was double clicked + onmousedown a pointer button was pressed down + onmouseup a pointer button was released + onmousemove a pointer was moved onto the element + onmouseout a pointer was moved away from the element + onkeypress a key was pressed and released + onkeydown a key was pressed down + onkeyup a key was released +--> +<!ENTITY % events + "onclick %Script; #IMPLIED + ondblclick %Script; #IMPLIED + onmousedown %Script; #IMPLIED + onmouseup %Script; #IMPLIED + onmouseover %Script; #IMPLIED + onmousemove %Script; #IMPLIED + onmouseout %Script; #IMPLIED + onkeypress %Script; #IMPLIED + onkeydown %Script; #IMPLIED + onkeyup %Script; #IMPLIED" + > + +<!-- attributes for elements that can get the focus + accesskey accessibility key character + tabindex position in tabbing order + onfocus the element got the focus + onblur the element lost the focus +--> +<!ENTITY % focus + "accesskey %Character; #IMPLIED + tabindex %Number; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED" + > + +<!ENTITY % attrs "%coreattrs; %i18n; %events;"> + +<!--=================== Text Elements ====================================--> + +<!ENTITY % special.pre + "br | span | bdo | map"> + + +<!ENTITY % special + "%special.pre; | object | img "> + +<!ENTITY % fontstyle "tt | i | b | big | small "> + +<!ENTITY % phrase "em | strong | dfn | code | q | + samp | kbd | var | cite | abbr | acronym | sub | sup "> + +<!ENTITY % inline.forms "input | select | textarea | label | button"> + +<!-- these can occur at block or inline level --> +<!ENTITY % misc.inline "ins | del | script"> + +<!-- these can only occur at block level --> +<!ENTITY % misc "noscript | %misc.inline;"> + +<!ENTITY % inline "a | %special; | %fontstyle; | %phrase; | %inline.forms;"> + +<!-- %Inline; covers inline or "text-level" elements --> +<!ENTITY % Inline "(#PCDATA | %inline; | %misc.inline;)*"> + +<!--================== Block level elements ==============================--> + +<!ENTITY % heading "h1|h2|h3|h4|h5|h6"> +<!ENTITY % lists "ul | ol | dl"> +<!ENTITY % blocktext "pre | hr | blockquote | address"> + +<!ENTITY % block + "p | %heading; | div | %lists; | %blocktext; | fieldset | table"> + +<!ENTITY % Block "(%block; | form | %misc;)*"> + +<!-- %Flow; mixes block and inline and is used for list items etc. --> +<!ENTITY % Flow "(#PCDATA | %block; | form | %inline; | %misc;)*"> + +<!--================== Content models for exclusions =====================--> + +<!-- a elements use %Inline; excluding a --> + +<!ENTITY % a.content + "(#PCDATA | %special; | %fontstyle; | %phrase; | %inline.forms; | %misc.inline;)*"> + +<!-- pre uses %Inline excluding big, small, sup or sup --> + +<!ENTITY % pre.content + "(#PCDATA | a | %fontstyle; | %phrase; | %special.pre; | %misc.inline; + | %inline.forms;)*"> + +<!-- form uses %Block; excluding form --> + +<!ENTITY % form.content "(%block; | %misc;)*"> + +<!-- button uses %Flow; but excludes a, form and form controls --> + +<!ENTITY % button.content + "(#PCDATA | p | %heading; | div | %lists; | %blocktext; | + table | %special; | %fontstyle; | %phrase; | %misc;)*"> + +<!--================ Document Structure ==================================--> + +<!-- the namespace URI designates the document profile --> + +<!ELEMENT html (head, body)> +<!ATTLIST html + %i18n; + id ID #IMPLIED + xmlns %URI; #FIXED 'http://www.w3.org/1999/xhtml' + > + +<!--================ Document Head =======================================--> + +<!ENTITY % head.misc "(script|style|meta|link|object)*"> + +<!-- content model is %head.misc; combined with a single + title and an optional base element in any order --> + +<!ELEMENT head (%head.misc;, + ((title, %head.misc;, (base, %head.misc;)?) | + (base, %head.misc;, (title, %head.misc;))))> + +<!ATTLIST head + %i18n; + id ID #IMPLIED + profile %URI; #IMPLIED + > + +<!-- The title element is not considered part of the flow of text. + It should be displayed, for example as the page header or + window title. Exactly one title is required per document. + --> +<!ELEMENT title (#PCDATA)> +<!ATTLIST title + %i18n; + id ID #IMPLIED + > + +<!-- document base URI --> + +<!ELEMENT base EMPTY> +<!ATTLIST base + href %URI; #REQUIRED + id ID #IMPLIED + > + +<!-- generic metainformation --> +<!ELEMENT meta EMPTY> +<!ATTLIST meta + %i18n; + id ID #IMPLIED + http-equiv CDATA #IMPLIED + name CDATA #IMPLIED + content CDATA #REQUIRED + scheme CDATA #IMPLIED + > + +<!-- + Relationship values can be used in principle: + + a) for document specific toolbars/menus when used + with the link element in document head e.g. + start, contents, previous, next, index, end, help + b) to link to a separate style sheet (rel="stylesheet") + c) to make a link to a script (rel="script") + d) by stylesheets to control how collections of + html nodes are rendered into printed documents + e) to make a link to a printable version of this document + e.g. a PostScript or PDF version (rel="alternate" media="print") +--> + +<!ELEMENT link EMPTY> +<!ATTLIST link + %attrs; + charset %Charset; #IMPLIED + href %URI; #IMPLIED + hreflang %LanguageCode; #IMPLIED + type %ContentType; #IMPLIED + rel %LinkTypes; #IMPLIED + rev %LinkTypes; #IMPLIED + media %MediaDesc; #IMPLIED + > + +<!-- style info, which may include CDATA sections --> +<!ELEMENT style (#PCDATA)> +<!ATTLIST style + %i18n; + id ID #IMPLIED + type %ContentType; #REQUIRED + media %MediaDesc; #IMPLIED + title %Text; #IMPLIED + xml:space (preserve) #FIXED 'preserve' + > + +<!-- script statements, which may include CDATA sections --> +<!ELEMENT script (#PCDATA)> +<!ATTLIST script + id ID #IMPLIED + charset %Charset; #IMPLIED + type %ContentType; #REQUIRED + src %URI; #IMPLIED + defer (defer) #IMPLIED + xml:space (preserve) #FIXED 'preserve' + > + +<!-- alternate content container for non script-based rendering --> + +<!ELEMENT noscript %Block;> +<!ATTLIST noscript + %attrs; + > + +<!--=================== Document Body ====================================--> + +<!ELEMENT body %Block;> +<!ATTLIST body + %attrs; + onload %Script; #IMPLIED + onunload %Script; #IMPLIED + > + +<!ELEMENT div %Flow;> <!-- generic language/style container --> +<!ATTLIST div + %attrs; + > + +<!--=================== Paragraphs =======================================--> + +<!ELEMENT p %Inline;> +<!ATTLIST p + %attrs; + > + +<!--=================== Headings =========================================--> + +<!-- + There are six levels of headings from h1 (the most important) + to h6 (the least important). +--> + +<!ELEMENT h1 %Inline;> +<!ATTLIST h1 + %attrs; + > + +<!ELEMENT h2 %Inline;> +<!ATTLIST h2 + %attrs; + > + +<!ELEMENT h3 %Inline;> +<!ATTLIST h3 + %attrs; + > + +<!ELEMENT h4 %Inline;> +<!ATTLIST h4 + %attrs; + > + +<!ELEMENT h5 %Inline;> +<!ATTLIST h5 + %attrs; + > + +<!ELEMENT h6 %Inline;> +<!ATTLIST h6 + %attrs; + > + +<!--=================== Lists ============================================--> + +<!-- Unordered list --> + +<!ELEMENT ul (li)+> +<!ATTLIST ul + %attrs; + > + +<!-- Ordered (numbered) list --> + +<!ELEMENT ol (li)+> +<!ATTLIST ol + %attrs; + > + +<!-- list item --> + +<!ELEMENT li %Flow;> +<!ATTLIST li + %attrs; + > + +<!-- definition lists - dt for term, dd for its definition --> + +<!ELEMENT dl (dt|dd)+> +<!ATTLIST dl + %attrs; + > + +<!ELEMENT dt %Inline;> +<!ATTLIST dt + %attrs; + > + +<!ELEMENT dd %Flow;> +<!ATTLIST dd + %attrs; + > + +<!--=================== Address ==========================================--> + +<!-- information on author --> + +<!ELEMENT address %Inline;> +<!ATTLIST address + %attrs; + > + +<!--=================== Horizontal Rule ==================================--> + +<!ELEMENT hr EMPTY> +<!ATTLIST hr + %attrs; + > + +<!--=================== Preformatted Text ================================--> + +<!-- content is %Inline; excluding "img|object|big|small|sub|sup" --> + +<!ELEMENT pre %pre.content;> +<!ATTLIST pre + %attrs; + xml:space (preserve) #FIXED 'preserve' + > + +<!--=================== Block-like Quotes ================================--> + +<!ELEMENT blockquote %Block;> +<!ATTLIST blockquote + %attrs; + cite %URI; #IMPLIED + > + +<!--=================== Inserted/Deleted Text ============================--> + +<!-- + ins/del are allowed in block and inline content, but its + inappropriate to include block content within an ins element + occurring in inline content. +--> +<!ELEMENT ins %Flow;> +<!ATTLIST ins + %attrs; + cite %URI; #IMPLIED + datetime %Datetime; #IMPLIED + > + +<!ELEMENT del %Flow;> +<!ATTLIST del + %attrs; + cite %URI; #IMPLIED + datetime %Datetime; #IMPLIED + > + +<!--================== The Anchor Element ================================--> + +<!-- content is %Inline; except that anchors shouldn't be nested --> + +<!ELEMENT a %a.content;> +<!ATTLIST a + %attrs; + %focus; + charset %Charset; #IMPLIED + type %ContentType; #IMPLIED + name NMTOKEN #IMPLIED + href %URI; #IMPLIED + hreflang %LanguageCode; #IMPLIED + rel %LinkTypes; #IMPLIED + rev %LinkTypes; #IMPLIED + shape %Shape; "rect" + coords %Coords; #IMPLIED + > + +<!--===================== Inline Elements ================================--> + +<!ELEMENT span %Inline;> <!-- generic language/style container --> +<!ATTLIST span + %attrs; + > + +<!ELEMENT bdo %Inline;> <!-- I18N BiDi over-ride --> +<!ATTLIST bdo + %coreattrs; + %events; + lang %LanguageCode; #IMPLIED + xml:lang %LanguageCode; #IMPLIED + dir (ltr|rtl) #REQUIRED + > + +<!ELEMENT br EMPTY> <!-- forced line break --> +<!ATTLIST br + %coreattrs; + > + +<!ELEMENT em %Inline;> <!-- emphasis --> +<!ATTLIST em %attrs;> + +<!ELEMENT strong %Inline;> <!-- strong emphasis --> +<!ATTLIST strong %attrs;> + +<!ELEMENT dfn %Inline;> <!-- definitional --> +<!ATTLIST dfn %attrs;> + +<!ELEMENT code %Inline;> <!-- program code --> +<!ATTLIST code %attrs;> + +<!ELEMENT samp %Inline;> <!-- sample --> +<!ATTLIST samp %attrs;> + +<!ELEMENT kbd %Inline;> <!-- something user would type --> +<!ATTLIST kbd %attrs;> + +<!ELEMENT var %Inline;> <!-- variable --> +<!ATTLIST var %attrs;> + +<!ELEMENT cite %Inline;> <!-- citation --> +<!ATTLIST cite %attrs;> + +<!ELEMENT abbr %Inline;> <!-- abbreviation --> +<!ATTLIST abbr %attrs;> + +<!ELEMENT acronym %Inline;> <!-- acronym --> +<!ATTLIST acronym %attrs;> + +<!ELEMENT q %Inline;> <!-- inlined quote --> +<!ATTLIST q + %attrs; + cite %URI; #IMPLIED + > + +<!ELEMENT sub %Inline;> <!-- subscript --> +<!ATTLIST sub %attrs;> + +<!ELEMENT sup %Inline;> <!-- superscript --> +<!ATTLIST sup %attrs;> + +<!ELEMENT tt %Inline;> <!-- fixed pitch font --> +<!ATTLIST tt %attrs;> + +<!ELEMENT i %Inline;> <!-- italic font --> +<!ATTLIST i %attrs;> + +<!ELEMENT b %Inline;> <!-- bold font --> +<!ATTLIST b %attrs;> + +<!ELEMENT big %Inline;> <!-- bigger font --> +<!ATTLIST big %attrs;> + +<!ELEMENT small %Inline;> <!-- smaller font --> +<!ATTLIST small %attrs;> + +<!--==================== Object ======================================--> +<!-- + object is used to embed objects as part of HTML pages. + param elements should precede other content. Parameters + can also be expressed as attribute/value pairs on the + object element itself when brevity is desired. +--> + +<!ELEMENT object (#PCDATA | param | %block; | form | %inline; | %misc;)*> +<!ATTLIST object + %attrs; + declare (declare) #IMPLIED + classid %URI; #IMPLIED + codebase %URI; #IMPLIED + data %URI; #IMPLIED + type %ContentType; #IMPLIED + codetype %ContentType; #IMPLIED + archive %UriList; #IMPLIED + standby %Text; #IMPLIED + height %Length; #IMPLIED + width %Length; #IMPLIED + usemap %URI; #IMPLIED + name NMTOKEN #IMPLIED + tabindex %Number; #IMPLIED + > + +<!-- + param is used to supply a named property value. + In XML it would seem natural to follow RDF and support an + abbreviated syntax where the param elements are replaced + by attribute value pairs on the object start tag. +--> +<!ELEMENT param EMPTY> +<!ATTLIST param + id ID #IMPLIED + name CDATA #IMPLIED + value CDATA #IMPLIED + valuetype (data|ref|object) "data" + type %ContentType; #IMPLIED + > + +<!--=================== Images ===========================================--> + +<!-- + To avoid accessibility problems for people who aren't + able to see the image, you should provide a text + description using the alt and longdesc attributes. + In addition, avoid the use of server-side image maps. + Note that in this DTD there is no name attribute. That + is only available in the transitional and frameset DTD. +--> + +<!ELEMENT img EMPTY> +<!ATTLIST img + %attrs; + src %URI; #REQUIRED + alt %Text; #REQUIRED + longdesc %URI; #IMPLIED + height %Length; #IMPLIED + width %Length; #IMPLIED + usemap %URI; #IMPLIED + ismap (ismap) #IMPLIED + > + +<!-- usemap points to a map element which may be in this document + or an external document, although the latter is not widely supported --> + +<!--================== Client-side image maps ============================--> + +<!-- These can be placed in the same document or grouped in a + separate document although this isn't yet widely supported --> + +<!ELEMENT map ((%block; | form | %misc;)+ | area+)> +<!ATTLIST map + %i18n; + %events; + id ID #REQUIRED + class CDATA #IMPLIED + style %StyleSheet; #IMPLIED + title %Text; #IMPLIED + name NMTOKEN #IMPLIED + > + +<!ELEMENT area EMPTY> +<!ATTLIST area + %attrs; + %focus; + shape %Shape; "rect" + coords %Coords; #IMPLIED + href %URI; #IMPLIED + nohref (nohref) #IMPLIED + alt %Text; #REQUIRED + > + +<!--================ Forms ===============================================--> +<!ELEMENT form %form.content;> <!-- forms shouldn't be nested --> + +<!ATTLIST form + %attrs; + action %URI; #REQUIRED + method (get|post) "get" + enctype %ContentType; "application/x-www-form-urlencoded" + onsubmit %Script; #IMPLIED + onreset %Script; #IMPLIED + accept %ContentTypes; #IMPLIED + accept-charset %Charsets; #IMPLIED + > + +<!-- + Each label must not contain more than ONE field + Label elements shouldn't be nested. +--> +<!ELEMENT label %Inline;> +<!ATTLIST label + %attrs; + for IDREF #IMPLIED + accesskey %Character; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + > + +<!ENTITY % InputType + "(text | password | checkbox | + radio | submit | reset | + file | hidden | image | button)" + > + +<!-- the name attribute is required for all but submit & reset --> + +<!ELEMENT input EMPTY> <!-- form control --> +<!ATTLIST input + %attrs; + %focus; + type %InputType; "text" + name CDATA #IMPLIED + value CDATA #IMPLIED + checked (checked) #IMPLIED + disabled (disabled) #IMPLIED + readonly (readonly) #IMPLIED + size CDATA #IMPLIED + maxlength %Number; #IMPLIED + src %URI; #IMPLIED + alt CDATA #IMPLIED + usemap %URI; #IMPLIED + onselect %Script; #IMPLIED + onchange %Script; #IMPLIED + accept %ContentTypes; #IMPLIED + > + +<!ELEMENT select (optgroup|option)+> <!-- option selector --> +<!ATTLIST select + %attrs; + name CDATA #IMPLIED + size %Number; #IMPLIED + multiple (multiple) #IMPLIED + disabled (disabled) #IMPLIED + tabindex %Number; #IMPLIED + onfocus %Script; #IMPLIED + onblur %Script; #IMPLIED + onchange %Script; #IMPLIED + > + +<!ELEMENT optgroup (option)+> <!-- option group --> +<!ATTLIST optgroup + %attrs; + disabled (disabled) #IMPLIED + label %Text; #REQUIRED + > + +<!ELEMENT option (#PCDATA)> <!-- selectable choice --> +<!ATTLIST option + %attrs; + selected (selected) #IMPLIED + disabled (disabled) #IMPLIED + label %Text; #IMPLIED + value CDATA #IMPLIED + > + +<!ELEMENT textarea (#PCDATA)> <!-- multi-line text field --> +<!ATTLIST textarea + %attrs; + %focus; + name CDATA #IMPLIED + rows %Number; #REQUIRED + cols %Number; #REQUIRED + disabled (disabled) #IMPLIED + readonly (readonly) #IMPLIED + onselect %Script; #IMPLIED + onchange %Script; #IMPLIED + > + +<!-- + The fieldset element is used to group form fields. + Only one legend element should occur in the content + and if present should only be preceded by whitespace. +--> +<!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*> +<!ATTLIST fieldset + %attrs; + > + +<!ELEMENT legend %Inline;> <!-- fieldset label --> +<!ATTLIST legend + %attrs; + accesskey %Character; #IMPLIED + > + +<!-- + Content is %Flow; excluding a, form and form controls +--> +<!ELEMENT button %button.content;> <!-- push button --> +<!ATTLIST button + %attrs; + %focus; + name CDATA #IMPLIED + value CDATA #IMPLIED + type (button|submit|reset) "submit" + disabled (disabled) #IMPLIED + > + +<!--======================= Tables =======================================--> + +<!-- Derived from IETF HTML table standard, see [RFC1942] --> + +<!-- + The border attribute sets the thickness of the frame around the + table. The default units are screen pixels. + + The frame attribute specifies which parts of the frame around + the table should be rendered. The values are not the same as + CALS to avoid a name clash with the valign attribute. +--> +<!ENTITY % TFrame "(void|above|below|hsides|lhs|rhs|vsides|box|border)"> + +<!-- + The rules attribute defines which rules to draw between cells: + + If rules is absent then assume: + "none" if border is absent or border="0" otherwise "all" +--> + +<!ENTITY % TRules "(none | groups | rows | cols | all)"> + +<!-- horizontal alignment attributes for cell contents + + char alignment char, e.g. char=':' + charoff offset for alignment char +--> +<!ENTITY % cellhalign + "align (left|center|right|justify|char) #IMPLIED + char %Character; #IMPLIED + charoff %Length; #IMPLIED" + > + +<!-- vertical alignment attributes for cell contents --> +<!ENTITY % cellvalign + "valign (top|middle|bottom|baseline) #IMPLIED" + > + +<!ELEMENT table + (caption?, (col*|colgroup*), thead?, tfoot?, (tbody+|tr+))> +<!ELEMENT caption %Inline;> +<!ELEMENT thead (tr)+> +<!ELEMENT tfoot (tr)+> +<!ELEMENT tbody (tr)+> +<!ELEMENT colgroup (col)*> +<!ELEMENT col EMPTY> +<!ELEMENT tr (th|td)+> +<!ELEMENT th %Flow;> +<!ELEMENT td %Flow;> + +<!ATTLIST table + %attrs; + summary %Text; #IMPLIED + width %Length; #IMPLIED + border %Pixels; #IMPLIED + frame %TFrame; #IMPLIED + rules %TRules; #IMPLIED + cellspacing %Length; #IMPLIED + cellpadding %Length; #IMPLIED + > + +<!ATTLIST caption + %attrs; + > + +<!-- +colgroup groups a set of col elements. It allows you to group +several semantically related columns together. +--> +<!ATTLIST colgroup + %attrs; + span %Number; "1" + width %MultiLength; #IMPLIED + %cellhalign; + %cellvalign; + > + +<!-- + col elements define the alignment properties for cells in + one or more columns. + + The width attribute specifies the width of the columns, e.g. + + width=64 width in screen pixels + width=0.5* relative width of 0.5 + + The span attribute causes the attributes of one + col element to apply to more than one column. +--> +<!ATTLIST col + %attrs; + span %Number; "1" + width %MultiLength; #IMPLIED + %cellhalign; + %cellvalign; + > + +<!-- + Use thead to duplicate headers when breaking table + across page boundaries, or for static headers when + tbody sections are rendered in scrolling panel. + + Use tfoot to duplicate footers when breaking table + across page boundaries, or for static footers when + tbody sections are rendered in scrolling panel. + + Use multiple tbody sections when rules are needed + between groups of table rows. +--> +<!ATTLIST thead + %attrs; + %cellhalign; + %cellvalign; + > + +<!ATTLIST tfoot + %attrs; + %cellhalign; + %cellvalign; + > + +<!ATTLIST tbody + %attrs; + %cellhalign; + %cellvalign; + > + +<!ATTLIST tr + %attrs; + %cellhalign; + %cellvalign; + > + + +<!-- Scope is simpler than headers attribute for common tables --> +<!ENTITY % Scope "(row|col|rowgroup|colgroup)"> + +<!-- th is for headers, td for data and for cells acting as both --> + +<!ATTLIST th + %attrs; + abbr %Text; #IMPLIED + axis CDATA #IMPLIED + headers IDREFS #IMPLIED + scope %Scope; #IMPLIED + rowspan %Number; "1" + colspan %Number; "1" + %cellhalign; + %cellvalign; + > + +<!ATTLIST td + %attrs; + abbr %Text; #IMPLIED + axis CDATA #IMPLIED + headers IDREFS #IMPLIED + scope %Scope; #IMPLIED + rowspan %Number; "1" + colspan %Number; "1" + %cellhalign; + %cellvalign; + > +