complexType "change_type"
Namespace:
Content:
complex, 4 attributes, 1 element
Defined:
globally in problem.xsd, see XML source
Includes:
definitions of 4 attributes and 1 element
Used:
XML Representation Summary
<...
   
color
 = 
("white" | "black" | "neutral")
   
kind
 = 
("king" | "queen" | "rook" | "bishop" | "knight" | "pawn")
   
piece
 = 
xs:string
   
reason
 = 
("locust" | "enpassant")
   
>
   
Content: 
</...>
Content Elements (1):
All Direct / Indirect Based Elements (1):
Known Usage Locations
Annotation
An element of type change_type represents a change of the position as part of a move.
XML Source (w/o annotations (6); see schema source)
<xs:complexType name="change_type">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" ref="plane">
</xs:element>
</xs:sequence>
<xs:attribute name="piece" type="xs:string" use="required">
</xs:attribute>
<xs:attribute name="kind" type="piecekind_type" use="optional">
</xs:attribute>
<xs:attribute name="color" type="piececolor_type" use="optional">
</xs:attribute>
<xs:attribute name="reason" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="locust"/>
<xs:enumeration value="enpassant"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
</xs:complexType>
Attribute Detail
color
If present, the color attribute identifies the color that the piece assumes while being changed.
Otherwise, if the piece is on the board before the change is executed, the piece's color is unchanged.
Otherwise (i.e. if the change adds the piece to the position), the piece keeps its color as specified in the piecedecl element.
An example of the usage of the color attribute is as part of a capture in Andernach chess.
Type:
Use:
optional
Defined:
locally, within (this) change_type complexType
XML Source (w/o annotations (1); see schema source)
<xs:attribute name="color" type="piececolor_type" use="optional">
</xs:attribute>

kind
If present, the kind attribute identifies the kind that the piece assumes while being changed.
Otherwise, if the piece is on the board before the change is executed, the piece's kind is unchanged.
Otherwise (i.e. if the change adds the piece to the position), the piece keeps its kind as specified in the piecedecl element.
The kind attribute is typically used for promotions or Circe rebirths of formerly promoted pieces.
Type:
Use:
optional
Defined:
locally, within (this) change_type complexType
XML Source (w/o annotations (1); see schema source)
<xs:attribute name="kind" type="piecekind_type" use="optional">
</xs:attribute>

piece
The piece attribute identifies the piecedecl element that declares the piece to be changed.
The referential integrity is enforced by the keyref pieceIdRefChange of the problem element.
Type:
xs:string
Use:
required
Defined:
locally, within (this) change_type complexType
XML Source (w/o annotations (1); see schema source)
<xs:attribute name="piece" type="xs:string" use="required">
</xs:attribute>

reason
Type:
Use:
optional
Defined:
locally, within (this) change_type complexType
XML Source (w/o annotations (1); see schema source)
<xs:attribute name="reason" use="optional">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="locust"/>
<xs:enumeration value="enpassant"/>
</xs:restriction>
</xs:simpleType>
</xs:attribute>
Embedded Type
Derivation:
restriction of xs:string
Facets:
enumeration:
"locust", "enpassant"
Content Element Detail
plane
Each plane child element identifies one of the dimension of the square where the piece is moved to as part of the change.
Typically, a change element has either
  • the same number of plane child elements as the board has dimensions: in this case, the planes identify the square where the piece identfied by the piece attribute moves to.
  • no plane child elements: in this case, the piece is removed from the board by the change
A number of plane child elements between 0 and the number of dimensions of the board can be used to represent partially random moves; the dimensions not provided by a plane elements remain arbitrary.
To represent a completely random move by a piece, use 1 plane child element with value 0 for both its dim and value attributes.

Examples:
  • Piece piece1 moves to c5:
    <change piece="piece1">
    <plane dim="1" value="3"/>
    <plane dim="2" value="5"/>
    </change>

  • Piece piece2 is removed from the board:
    <change piece="piece2"/>

  • Piece piece3 moves randomly on the 4 file:
    <change piece="piece3">
    <plane dim="1" value="5"/>
    </change>

  • Piece piece4 moves randomly:
    <change piece="piece4">
    <plane dim="0" value="0"/>
    </change>

Type:
plane_type, empty content
Defined:
by reference, within (this) change_type complexType
XML Source (w/o annotations (1); see schema source)
<xs:element maxOccurs="unbounded" minOccurs="0" ref="plane">
</xs:element>

XML Schema documentation generated with DocFlex/XML (Kit) v1.6.6
DocFlex/XML (Kit) is a freeware edition of DocFlex/XML, which is a powerful template-driven documentation and report generator from any data stored in XML files. Based on an innovative technology developed by FILIGRIS WORKS, this new tool offers virtuoso data querying and formatting capabilities not found in anything else!
Need to convert your XML data into a clear nice-looking documentation or reports? Web-ready hypertext HTML or printable MS Word / OpenOffice.org friendly RTF? DocFlex/XML may be a cheap, quick and effective solution exactly for this task!
Have questions? Not sure how to use it? Just send us e-mail to contact@filigris.com and we are always happy to help you! See also our services at www.filigris.com