0N/A<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
0N/A<html>
0N/A<head>
0N/A<!--
2362N/ACopyright (c) 2000, 2001, Oracle and/or its affiliates. All rights reserved.
0N/ADO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
0N/A
0N/AThis code is free software; you can redistribute it and/or modify it
0N/Aunder the terms of the GNU General Public License version 2 only, as
2362N/Apublished by the Free Software Foundation. Oracle designates this
0N/Aparticular file as subject to the "Classpath" exception as provided
2362N/Aby Oracle in the LICENSE file that accompanied this code.
0N/A
0N/AThis code is distributed in the hope that it will be useful, but WITHOUT
0N/AANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
0N/AFITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
0N/Aversion 2 for more details (a copy is included in the LICENSE file that
0N/Aaccompanied this code).
0N/A
0N/AYou should have received a copy of the GNU General Public License version
0N/A2 along with this work; if not, write to the Free Software Foundation,
0N/AInc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
0N/A
2365N/APlease contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
2365N/Aor visit www.oracle.com if you need additional information or have any
2365N/Aquestions.
0N/A-->
0N/A
0N/A<title>Standard Metadata Format Specification</title>
0N/A</head>
0N/A
0N/A<body bgcolor="white">
0N/A
0N/A<center><h1>
0N/AStandard (Plug-in Neutral) Metadata Format Specification
0N/A</h1></center>
0N/A
0N/A<p> The plug-in neutral "javax_imageio_1.0" format consists
0N/Aof a root node named "javax_imageio_1.0" which has child
0N/Anodes "chroma", "compression", "dimension", "document", "text",
0N/A"tile", and "transparency". The format is described by the
0N/Afollowing DTD:
0N/A
0N/A<pre>
0N/A&lt;!DOCTYPE "javax_imageio_1.0" [
0N/A
0N/A &lt;!ELEMENT "javax_imageio_1.0" (Chroma?, Compression?, Data?, Dimension?,
0N/A Document?, Text?, Transparency?)&gt;
0N/A
0N/A &lt;!ELEMENT "Chroma" (ColorSpaceType?, NumChannels?, Gamma?,
0N/A BlackIsZero?, Palette?, BackgroundIndex?, BackgroundColor?)&gt;
0N/A &lt;!-- Chroma (color) information --&gt;
0N/A
0N/A &lt;!ELEMENT "ColorSpaceType" EMPTY&gt;
0N/A &lt;!-- The raw color space of the image --&gt;
0N/A &lt;!ATTLIST "ColorSpaceType" "name" ("XYZ" | "Lab" | "Luv" |
0N/A "YCbCr" | "Yxy" | "YCCK" | "PhotoYCC" | "RGB" | "GRAY" | "HSV" |
0N/A "HLS" | "CMYK" | "CMY" | "2CLR" | "3CLR" | "4CLR" | "5CLR" |
0N/A "6CLR" | "7CLR" | "8CLR" | "9CLR" | "ACLR" | "BCLR" | "CCLR" |
0N/A "DCLR" | "ECLR" | "FCLR") #REQUIRED&gt;
0N/A
0N/A &lt;!ELEMENT "NumChannels" EMPTY&gt;
0N/A &lt;!-- The number of channels in the raw image, including alpha --&gt;
0N/A &lt;!ATTLIST "NumChannels" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: List of Integer --&gt;
0N/A
0N/A &lt;!ELEMENT "Gamma" EMPTY&gt;
0N/A &lt;!-- The image gamma --&gt;
0N/A &lt;!ATTLIST "Gamma" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Float --&gt;
0N/A
0N/A &lt;!ELEMENT "BlackIsZero" EMPTY&gt;
0N/A &lt;!-- True if smaller values represent darker shades --&gt;
0N/A &lt;!ATTLIST "BlackIsZero" "value" ("TRUE" | "FALSE") "TRUE"&gt;
0N/A
0N/A &lt;!ELEMENT "Palette" (PaletteEntry)*&gt;
0N/A &lt;!-- Palette-color information --&gt;
0N/A
0N/A &lt;!ELEMENT "PaletteEntry" EMPTY&gt;
0N/A &lt;!-- A palette entry --&gt;
0N/A &lt;!ATTLIST "PaletteEntry" "index" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The index of the palette entry --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!ATTLIST "PaletteEntry" "red" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The red value for the palette entry --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!ATTLIST "PaletteEntry" "green" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The green value for the palette entry --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!ATTLIST "PaletteEntry" "blue" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The blue value for the palette entry --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!ATTLIST "PaletteEntry" "alpha" #CDATA "255"&gt;
0N/A &lt;!-- The alpha value for the palette entry --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A
0N/A &lt;!ELEMENT "BackgroundIndex" EMPTY&gt;
0N/A &lt;!-- A palette index to be used as a background --&gt;
0N/A &lt;!ATTLIST "BackgroundIndex" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A
0N/A &lt;!ELEMENT "BackgroundColor" EMPTY&gt;
0N/A &lt;!-- An RGB triple to be used as a background --&gt;
0N/A &lt;!ATTLIST "BackgroundColor" "red" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The red background value --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!ATTLIST "BackgroundColor" "green" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The green background value --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!ATTLIST "BackgroundColor" "blue" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The blue background value --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A
0N/A &lt;!ELEMENT "Compression" (CompressionTypeName?, Lossless?,
0N/A NumProgressiveScans?, BitRate?)&gt;
0N/A &lt;!-- Compression information --&gt;
0N/A
0N/A &lt;!ELEMENT "CompressionTypeName" EMPTY&gt;
0N/A &lt;!-- The name of the compression scheme in use --&gt;
0N/A &lt;!ATTLIST "CompressionTypeName" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: String --&gt;
0N/A
0N/A &lt;!ELEMENT "Lossless" EMPTY&gt;
0N/A &lt;!-- True if the compression scheme is lossless --&gt;
0N/A &lt;!ATTLIST "Lossless" "value" ("TRUE" | "FALSE") "TRUE"&gt;
0N/A
0N/A &lt;!ELEMENT "NumProgressiveScans" EMPTY&gt;
0N/A &lt;!-- The number of progressive scans used in the image encoding --&gt;
0N/A &lt;!ATTLIST "NumProgressiveScans" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A
0N/A &lt;!ELEMENT "BitRate" EMPTY&gt;
0N/A &lt;!-- The estimated bit rate of the compression scheme --&gt;
0N/A &lt;!ATTLIST "BitRate" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Float --&gt;
0N/A
0N/A &lt;!ELEMENT "Data" (PlanarConfiguration?, SampleFormat?, BitsPerSample?,
0N/A SignificantBitsPerSample?, SampleMSB?)&gt;
0N/A &lt;!-- Information on the image layout --&gt;
0N/A
0N/A &lt;!ELEMENT "PlanarConfiguration" EMPTY&gt;
0N/A &lt;!-- The organization of image samples in the stream --&gt;
0N/A &lt;!ATTLIST "PlanarConfiguration" "value" ("PixelInterleaved" |
0N/A "PlaneInterleaved" | "LineInterleaved" | "TileInterleaved")
0N/A #REQUIRED&gt;
0N/A
0N/A &lt;!ELEMENT "SampleFormat" EMPTY&gt;
0N/A &lt;!-- The numeric format of image samples --&gt;
0N/A &lt;!ATTLIST "SampleFormat" "value" ("SignedIntegral" |
0N/A "UnsignedIntegral" | "Real" | "Index") #REQUIRED&gt;
0N/A
0N/A &lt;!ELEMENT "BitsPerSample" EMPTY&gt;
0N/A &lt;!-- The number of bits per sample --&gt;
0N/A &lt;!ATTLIST "BitsPerSample" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- A list of integers, one per channel --&gt;
0N/A &lt;!-- Data type: List of Integer --&gt;
0N/A &lt;!-- Min length: 1 --&gt;
0N/A
0N/A &lt;!ELEMENT "SignificantBitsPerSample" EMPTY&gt;
0N/A &lt;!-- The number of significant bits per sample --&gt;
0N/A &lt;!ATTLIST "SignificantBitsPerSample" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- A list of integers, one per channel --&gt;
0N/A &lt;!-- Data type: List of Integer --&gt;
0N/A &lt;!-- Min length: 1 --&gt;
0N/A
0N/A &lt;!ELEMENT "SampleMSB" EMPTY&gt;
0N/A &lt;!-- The position of the most significant bit of each sample --&gt;
0N/A &lt;!ATTLIST "SampleMSB" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- A list of integers, one per channel --&gt;
0N/A &lt;!-- Data type: List of Integer --&gt;
0N/A &lt;!-- Min length: 1 --&gt;
0N/A
0N/A &lt;!ELEMENT "Dimension" (PixelAspectRatio?, ImageOrientation?,
0N/A HorizontalPixelSize?, VerticalPixelSize?,
0N/A HorizontalPhysicalPixelSpacing?, VerticalPhysicalPixelSpacing?,
0N/A HorizontalPosition?, VerticalPosition?, HorizontalPixelOffset?,
0N/A VerticalPixelOffset?, HorizontalScreenSize?, VerticalScreenSize?)&gt;
0N/A &lt;!-- Dimension information --&gt;
0N/A
0N/A &lt;!ELEMENT "PixelAspectRatio" EMPTY&gt;
0N/A &lt;!-- The width of a pixel divided by its height --&gt;
0N/A &lt;!ATTLIST "PixelAspectRatio" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Float --&gt;
0N/A
0N/A &lt;!ELEMENT "ImageOrientation" EMPTY&gt;
0N/A &lt;!-- The desired orientation of the image in terms of flips and
0N/A counter-clockwise rotations --&gt;
0N/A &lt;!ATTLIST "ImageOrientation" "value" ("Normal" | "Rotate90" |
0N/A "Rotate180" | "Rotate270" | "FlipH" | "FlipV" |
0N/A "FlipHRotate90" | "FlipVRotate90") #REQUIRED&gt;
0N/A
0N/A &lt;!ELEMENT "HorizontalPixelSize" EMPTY&gt;
0N/A &lt;!-- The width of a pixel, in millimeters, as it should be rendered
0N/A on media --&gt;
0N/A &lt;!ATTLIST "HorizontalPixelSize" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Float --&gt;
0N/A
0N/A &lt;!ELEMENT "VerticalPixelSize" EMPTY&gt;
0N/A &lt;!-- The height of a pixel, in millimeters, as it should be
0N/A rendered on media --&gt;
0N/A &lt;!ATTLIST "VerticalPixelSize" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Float --&gt;
0N/A
0N/A &lt;!ELEMENT "HorizontalPhysicalPixelSpacing" EMPTY&gt;
0N/A &lt;!-- The horizontal distance in the subject of the image, in
0N/A millimeters, represented by one pixel at the center of the
0N/A image --&gt;
0N/A &lt;!ATTLIST "HorizontalPhysicalPixelSpacing" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Float --&gt;
0N/A
0N/A &lt;!ELEMENT "VerticalPhysicalPixelSpacing" EMPTY&gt;
0N/A &lt;!-- The vertical distance in the subject of the image, in
0N/A millimeters, represented by one pixel at the center of the
0N/A image --&gt;
0N/A &lt;!ATTLIST "VerticalPhysicalPixelSpacing" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Float --&gt;
0N/A
0N/A &lt;!ELEMENT "HorizontalPosition" EMPTY&gt;
0N/A &lt;!-- The horizontal position, in millimeters, where the image
0N/A should be rendered on media --&gt;
0N/A &lt;!ATTLIST "HorizontalPosition" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Float --&gt;
0N/A
0N/A &lt;!ELEMENT "VerticalPosition" EMPTY&gt;
0N/A &lt;!-- The vertical position, in millimeters, where the image should
0N/A be rendered on media --&gt;
0N/A &lt;!ATTLIST "VerticalPosition" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Float --&gt;
0N/A
0N/A &lt;!ELEMENT "HorizontalPixelOffset" EMPTY&gt;
0N/A &lt;!-- The horizonal position, in pixels, where the image should be
0N/A rendered onto a raster display --&gt;
0N/A &lt;!ATTLIST "HorizontalPixelOffset" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A
0N/A &lt;!ELEMENT "VerticalPixelOffset" EMPTY&gt;
0N/A &lt;!-- The vertical position, in pixels, where the image should be
0N/A rendered onto a raster display --&gt;
0N/A &lt;!ATTLIST "VerticalPixelOffset" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A
0N/A &lt;!ELEMENT "HorizontalScreenSize" EMPTY&gt;
0N/A &lt;!-- The width, in pixels, of the raster display into which the
0N/A image should be rendered --&gt;
0N/A &lt;!ATTLIST "HorizontalScreenSize" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A
0N/A &lt;!ELEMENT "VerticalScreenSize" EMPTY&gt;
0N/A &lt;!-- The height, in pixels, of the raster display into which the
0N/A image should be rendered --&gt;
0N/A &lt;!ATTLIST "VerticalScreenSize" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A
0N/A &lt;!ELEMENT "Document" (FormatVersion?, SubimageInterpretation?,
0N/A ImageCreationTime?, ImageModificationTime?)&gt;
0N/A &lt;!-- Document information --&gt;
0N/A
0N/A &lt;!ELEMENT "FormatVersion" EMPTY&gt;
0N/A &lt;!-- The version of the format used by the stream --&gt;
0N/A &lt;!ATTLIST "FormatVersion" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: String --&gt;
0N/A
0N/A &lt;!ELEMENT "SubimageInterpretation" EMPTY&gt;
0N/A &lt;!-- The interpretation of this image in relation to the other
0N/A images stored in the same stream --&gt;
0N/A &lt;!ATTLIST "SubimageInterpretation" "value" ("Standalone" |
0N/A "SinglePage" | "FullResolution" | "ReducedResolution" |
0N/A "PyramidLayer" | "Preview" | "VolumeSlice" | "ObjectView" |
0N/A "Panorama" | "AnimationFrame" | "TransparencyMask" |
0N/A "CompositingLayer" | "SpectralSlice" | "Unknown") #REQUIRED&gt;
0N/A
0N/A &lt;!ELEMENT "ImageCreationTime" EMPTY&gt;
0N/A &lt;!-- The time of image creation --&gt;
0N/A &lt;!ATTLIST "ImageCreationTime" "year" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The full year (e.g., 1967, not 67) --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!ATTLIST "ImageCreationTime" "month" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The month, with January = 1 --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!-- Min value: 1 (inclusive) --&gt;
0N/A &lt;!-- Max value: 12 (inclusive) --&gt;
0N/A &lt;!ATTLIST "ImageCreationTime" "day" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The day of the month --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!-- Min value: 1 (inclusive) --&gt;
0N/A &lt;!-- Max value: 31 (inclusive) --&gt;
0N/A &lt;!ATTLIST "ImageCreationTime" "hour" #CDATA "0"&gt;
0N/A &lt;!-- The hour from 0 to 23 --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!-- Min value: 0 (inclusive) --&gt;
0N/A &lt;!-- Max value: 23 (inclusive) --&gt;
0N/A &lt;!ATTLIST "ImageCreationTime" "minute" #CDATA "0"&gt;
0N/A &lt;!-- The minute from 0 to 59 --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!-- Min value: 0 (inclusive) --&gt;
0N/A &lt;!-- Max value: 59 (inclusive) --&gt;
0N/A &lt;!ATTLIST "ImageCreationTime" "second" #CDATA "0"&gt;
0N/A &lt;!-- The second from 0 to 60 (60 = leap second) --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!-- Min value: 0 (inclusive) --&gt;
0N/A &lt;!-- Max value: 60 (inclusive) --&gt;
0N/A
0N/A &lt;!ELEMENT "ImageModificationTime" EMPTY&gt;
0N/A &lt;!-- The time of the last image modification --&gt;
0N/A &lt;!ATTLIST "ImageModificationTime" "year" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The full year (e.g., 1967, not 67) --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!ATTLIST "ImageModificationTime" "month" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The month, with January = 1 --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!-- Min value: 1 (inclusive) --&gt;
0N/A &lt;!-- Max value: 12 (inclusive) --&gt;
0N/A &lt;!ATTLIST "ImageModificationTime" "day" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The day of the month --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!-- Min value: 1 (inclusive) --&gt;
0N/A &lt;!-- Max value: 31 (inclusive) --&gt;
0N/A &lt;!ATTLIST "ImageModificationTime" "hour" #CDATA "0"&gt;
0N/A &lt;!-- The hour from 0 to 23 --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!-- Min value: 0 (inclusive) --&gt;
0N/A &lt;!-- Max value: 23 (inclusive) --&gt;
0N/A &lt;!ATTLIST "ImageModificationTime" "minute" #CDATA "0"&gt;
0N/A &lt;!-- The minute from 0 to 59 --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!-- Min value: 0 (inclusive) --&gt;
0N/A &lt;!-- Max value: 59 (inclusive) --&gt;
0N/A &lt;!ATTLIST "ImageModificationTime" "second" #CDATA "0"&gt;
0N/A &lt;!-- The second from 0 to 60 (60 = leap second) --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!-- Min value: 0 (inclusive) --&gt;
0N/A &lt;!-- Max value: 60 (inclusive) --&gt;
0N/A
0N/A &lt;!ELEMENT "Text" (TextEntry)*&gt;
0N/A &lt;!-- Text information --&gt;
0N/A
0N/A &lt;!ELEMENT "TextEntry" EMPTY&gt;
0N/A &lt;!-- A text entry --&gt;
0N/A &lt;!ATTLIST "TextEntry" "keyword" #CDATA #IMPLIED&gt;
0N/A &lt;!-- A keyword associated with the text entry --&gt;
0N/A &lt;!-- Data type: String --&gt;
0N/A &lt;!ATTLIST "TextEntry" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- the text entry --&gt;
0N/A &lt;!-- Data type: String --&gt;
0N/A &lt;!ATTLIST "TextEntry" "language" #CDATA #IMPLIED&gt;
0N/A &lt;!-- The language of the text --&gt;
0N/A &lt;!-- Data type: String --&gt;
0N/A &lt;!ATTLIST "TextEntry" "encoding" #CDATA #IMPLIED&gt;
0N/A &lt;!-- The encoding of the text --&gt;
0N/A &lt;!-- Data type: String --&gt;
0N/A &lt;!ATTLIST "TextEntry" "compression" ("none" | "lzw" | "zip" |
0N/A "bzip" | "other") "none"&gt;
0N/A &lt;!-- The method used to compress the text --&gt;
0N/A
0N/A &lt;!ELEMENT "Transparency" (Alpha?, TransparentIndex?,
0N/A TransparentColor?, TileTransparencies?, TileOpacities?)&gt;
0N/A &lt;!-- Transparency information --&gt;
0N/A
0N/A &lt;!ELEMENT "Alpha" EMPTY&gt;
0N/A &lt;!-- The type of alpha information contained in the image --&gt;
0N/A &lt;!ATTLIST "Alpha" "value" ("none" | "premultiplied" |
0N/A "nonpremultiplied") "none"&gt;
0N/A
0N/A &lt;!ELEMENT "TransparentIndex" EMPTY&gt;
0N/A &lt;!-- A palette index to be treated as transparent --&gt;
0N/A &lt;!ATTLIST "TransparentIndex" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A
0N/A &lt;!ELEMENT "TransparentColor" EMPTY&gt;
0N/A &lt;!-- An RGB color to be treated as transparent --&gt;
0N/A &lt;!ATTLIST "TransparentColor" "value" #CDATA #REQUIRED&gt;
0N/A &lt;!-- Data type: List of Integer --&gt;
0N/A
0N/A &lt;!ELEMENT "TileTransparencies" (TransparentTile)*&gt;
0N/A &lt;!-- A list of completely transparent tiles --&gt;
0N/A
0N/A &lt;!ELEMENT "TransparentTile" EMPTY&gt;
0N/A &lt;!-- The index of a completely transparent tile --&gt;
0N/A &lt;!ATTLIST "TransparentTile" "x" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The tile's X index --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!ATTLIST "TransparentTile" "y" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The tile's Y index --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A
0N/A &lt;!ELEMENT "TileOpacities" (OpaqueTile)*&gt;
0N/A &lt;!-- A list of completely opaque tiles --&gt;
0N/A
0N/A &lt;!ELEMENT "OpaqueTile" EMPTY&gt;
0N/A &lt;!-- The index of a completely opaque tile --&gt;
0N/A &lt;!ATTLIST "OpaqueTile" "x" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The tile's X index --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A &lt;!ATTLIST "OpaqueTile" "y" #CDATA #REQUIRED&gt;
0N/A &lt;!-- The tile's Y index --&gt;
0N/A &lt;!-- Data type: Integer --&gt;
0N/A]&gt;
0N/A</pre>
0N/A
0N/A</body>
0N/A</html>