packages feed

bishbosh-0.0.0.8: config/bishbosh.rng

<?xml version="1.0" encoding="UTF-8"?>
<grammar xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes">
	<start>
		<element name="options">
			<optional>
				<attribute name="maximumPlies">
					<data type="positiveInteger"/>
				</attribute>
			</optional><optional>
				<attribute name="randomSeed">
					<data type="integer"/>
				</attribute>
			</optional><optional>
				<element name="evaluationOptions">
					<optional>
						<attribute name="incrementalEvaluation">
							<ref name="Boolean"/>
						</attribute>
					</optional>
					<zeroOrMore>
						<element name="rankValues">
							<ref name="Rank"/>
							<attribute name="value">
								<ref name="ClosedUnitInterval"/>
							</attribute>
						</element>
					</zeroOrMore>
					<optional>
						<element name="criteriaWeights">
							<oneOrMore>
								<attribute>
									<choice>
										<name>material</name>
										<name>mobility</name>
										<name>pieceSquareValue</name>
										<name>castlingPotential</name>
										<name>defence</name>
										<name>doubledPawns</name>
										<name>isolatedPawns</name>
										<name>passedPawns</name>
									</choice>
									<ref name="ClosedUnitInterval"/>
								</attribute>
							</oneOrMore>
						</element>
					</optional><optional>
						<element name="pieceSquareTables">
							<element name="pieceSquareTable">
								<ref name="PieceSquareTable"/>
							</element><element name="pieceSquareTableEndGame">
								<ref name="PieceSquareTable"/>
							</element>
						</element>	<!-- pieceSquareTables -->
					</optional>
				</element>	<!-- evaluationOptions -->
			</optional><optional>
				<element name="searchOptions">
					<optional>
						<attribute name="preferMovesTowardsCentre">
							<ref name="Boolean"/>
						</attribute>
					</optional><optional>
						<attribute name="sortOnStandardOpeningMoveFrequency">
							<ref name="Boolean"/>
						</attribute>
					</optional><optional>
						<attribute name="captureMoveSortAlgorithm">
							<choice>
								<value>MVVLVA</value>
								<value>SEE</value>
							</choice>
						</attribute>
					</optional><optional>
						<attribute name="minimumHammingDistance">
							<data type="positiveInteger"/>
						</attribute>
					</optional><optional>
						<attribute name="retireKillerMovesAfter">
							<data type="nonNegativeInteger"/>
						</attribute>
					</optional><optional>
						<attribute name="trapRepeatedPositions">
							<ref name="Boolean"/>
						</attribute>
					</optional><optional>
						<attribute name="usePondering">
							<ref name="Boolean"/>
						</attribute>
					</optional><optional>
						<element name="transpositions">
							<attribute name="retireTranspositionsAfter">
								<data type="nonNegativeInteger"/>
							</attribute><attribute name="minimumTranspositionSearchDepth">
								<data type="positiveInteger"/>
							</attribute>
						</element>
					</optional><optional>
						<element name="standardOpeningOptions">
							<optional>
								<attribute name="tryToMatchMoves">
									<ref name="Boolean"/>
								</attribute>
							</optional><optional>
								<attribute name="tryToMatchViaJoiningMove">
									<ref name="Boolean"/>
								</attribute>
							</optional><optional>
								<attribute name="tryToMatchColourFlippedPosition">
									<ref name="Boolean"/>
								</attribute>
							</optional>
						</element>	<!-- standardOpeningOptions -->
					</optional>
					<element name="searchDepthByLogicalColour">
						<zeroOrMore>
							<element name="byLogicalColour">
								<attribute name="logicalColour">
									<choice>
										<value>Black</value>
										<value>White</value>
									</choice>
								</attribute><attribute name="searchDepth">
									<data type="nonNegativeInteger"/>
								</attribute>
							</element>	<!-- byLogicalColour -->
						</zeroOrMore>
					</element>	<!-- searchDepthByLogicalColour -->
				</element>	<!-- searchOptions -->
			</optional><optional>
				<element name="ioOptions">
					<optional>
						<attribute name="outputConfigFilePath"/>
					</optional><optional>
						<attribute name="maximumPGNNames">
							<data type="nonNegativeInteger"/>
						</attribute>
					</optional>
					<zeroOrMore>
						<element name="pgnOptions">
							<attribute name="databaseFilePath"/>
							<optional>
								<attribute name="minimumPlies">
									<data type="nonNegativeInteger"/>
								</attribute>
							</optional>
							<zeroOrMore>
								<attribute>
									<choice>
										<name>isStrictlySequential</name>
										<name>validateMoves</name>
									</choice>
									<ref name="Boolean"/>
								</attribute>
							</zeroOrMore>
							<optional>
								<attribute name="textEncoding">
									<choice>
										<value>ISO-8859-1</value>
										<value>UTF-8</value>
										<value>UTF-16</value>
										<value>UTF-32</value>
									</choice>
								</attribute>
							</optional>
							<zeroOrMore>
								<element name="identificationTag">
									<attribute name="tag"/>
								</element>
							</zeroOrMore>
						</element>
					</zeroOrMore>
					<optional>
						<element name="persistence">
							<attribute name="filePath"/>
							<optional>
								<attribute name="automatic">
									<ref name="Boolean"/>
								</attribute>
							</optional>
						</element>
					</optional><optional>
						<element name="uiOptions">
							<optional>
								<attribute name="moveNotation">
									<choice>
										<value>ICCFNumeric</value>
										<value>PureCoordinate</value>
										<value>Smith</value>
									</choice>
								</attribute>
							</optional><optional>
								<attribute name="printMoveTree">
									<data type="positiveInteger"/>
								</attribute>
							</optional><optional>
								<attribute name="nDecimalDigits">
									<data type="positiveInteger">
										<param name="maxInclusive">15</param>
									</data>
								</attribute>
							</optional><optional>
								<attribute name="verbosity">
									<choice>
										<value>Silent</value>
										<value>Normal</value>
										<value>Verbose</value>
										<value>Deafening</value>
									</choice>
								</attribute>
							</optional><optional>
								<choice>
									<element name="nativeUIOptions">
										<optional>
											<element name="boardMagnification">
												<attribute name="nRows">
													<data type="positiveInteger"/>
												</attribute><attribute name="nColumns">
													<data type="positiveInteger"/>
												</attribute>
											</element>
										</optional><optional>
											<element name="colourScheme">
												<zeroOrMore>
													<attribute>
														<choice>
															<name>darkPieceColour</name>
															<name>darkSquareColour</name>
														</choice><choice>
															<value>Black</value>
															<value>Red</value>
															<value>Green</value>
															<value>Blue</value>
															<value>Magenta</value>
															<value>Cyan</value>
														</choice>
													</attribute>
												</zeroOrMore><zeroOrMore>
													<attribute>
														<choice>
															<name>lightPieceColour</name>
															<name>lightSquareColour</name>
														</choice><choice>
															<value>Red</value>
															<value>Green</value>
															<value>Yellow</value>
															<value>Magenta</value>
															<value>Cyan</value>
															<value>White</value>
														</choice>
													</attribute>
												</zeroOrMore>
											</element>	<!-- colourScheme -->
										</optional>
									</element><element name="cecpOptions">
										<zeroOrMore>
											<attribute>
												<choice>
													<name>analyseMode</name>
													<name>displaySAN</name>
													<name>editMode</name>
													<name>forceMode</name>
													<name>pause</name>
													<name>ponderMode</name>
													<name>postMode</name>
												</choice>
												<ref name="Boolean"/>
											</attribute>
										</zeroOrMore>
										<optional>
											<attribute name="protocolVersion">
												<data type="positiveInteger"/>
											</attribute>
										</optional><optional>
											<element name="cecpFeatures">
												<optional>
													<attribute name="done">
														<ref name="Boolean"/>
													</attribute>
												</optional>
												<zeroOrMore>
													<element name="feature">
														<attribute name="key">
															<choice>
																<value>analyze</value>
																<value>colors</value>
																<value>debug</value>
																<value>draw</value>
																<value>egt</value>
																<value>exclude</value>
																<value>highlight</value>
																<value>ics</value>
																<value>memory</value>
																<value>myname</value>
																<value>name</value>
																<value>nps</value>
																<value>pause</value>
																<value>ping</value>
																<value>playother</value>
																<value>reuse</value>
																<value>san</value>
																<value>setboard</value>
																<value>setscore</value>
																<value>sigint</value>
																<value>sigterm</value>
																<value>smp</value>
																<value>time</value>
																<value>usermove</value>
																<value>variants</value>
															</choice>
														</attribute><attribute name="value">
															<data type="string">
																<param name="pattern">[^"]*</param>
															</data>
														</attribute>
													</element>
												</zeroOrMore>
											</element>	<!-- cecpFeatures -->
										</optional>
									</element>	<!-- cecpOptions -->
								</choice>
							</optional>
						</element>	<!-- uiOptions -->
					</optional>
				</element>	<!-- ioOptions -->
			</optional>
		</element>	<!-- options -->
	</start>
	<define name="Boolean">
		<choice>
			<value>False</value>
			<value>True</value>
		</choice>
	</define><define name="ClosedUnitInterval">
		<data type="decimal">
			<param name="minInclusive">0</param>
			<param name="maxInclusive">1</param>
		</data>
	</define><define name="PieceSquareTable">
		<optional>
			<attribute name="reflectOnY">
				<ref name="Boolean"/>
			</attribute>
		</optional>
		<oneOrMore>
			<element name="byRank">
				<ref name="Rank"/>
				<attribute name="byCoordinates">
					<list>
						<oneOrMore>
							<ref name="ClosedUnitInterval"/>
						</oneOrMore>
					</list>
				</attribute>
			</element>
		</oneOrMore>
	</define><define name="Rank">
		<attribute name="rank">
			<choice>
				<value>p</value>
				<value>r</value>
				<value>n</value>
				<value>b</value>
				<value>q</value>
				<value>k</value>
			</choice>
		</attribute>
	</define><define name="ScreenCoordinates">
		<attribute name="nRows">
			<data type="nonNegativeInteger"/>
		</attribute><attribute name="nColumns">
			<data type="nonNegativeInteger"/>
		</attribute>
	</define>
</grammar>