1 <!doctype html>
   2 <html lang="en">
   3 <head>
   4   <meta charset="utf-8"/>
   5   <title>Standard Metadata Format Specification</title>
   6 </head>
   7 <!--
   8 Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
   9 DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  10 
  11 This code is free software; you can redistribute it and/or modify it
  12 under the terms of the GNU General Public License version 2 only, as
  13 published by the Free Software Foundation.  Oracle designates this
  14 particular file as subject to the "Classpath" exception as provided
  15 by Oracle in the LICENSE file that accompanied this code.
  16 
  17 This code is distributed in the hope that it will be useful, but WITHOUT
  18 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  19 FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  20 version 2 for more details (a copy is included in the LICENSE file that
  21 accompanied this code).
  22 
  23 You should have received a copy of the GNU General Public License version
  24 2 along with this work; if not, write to the Free Software Foundation,
  25 Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  26 
  27 Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  28 or visit www.oracle.com if you need additional information or have any
  29 questions.
  30 -->
  31 
  32 <body>
  33 <main role="main">
  34 <div class="contentContainer">
  35 <h1>Standard (Plug-in Neutral) Metadata Format Specification</h1>
  36 
  37 <p> The plug-in neutral "javax_imageio_1.0" format consists
  38 of a root node named "javax_imageio_1.0" which has child
  39 nodes "chroma", "compression", "dimension", "document", "text",
  40 "tile", and "transparency".  The format is described by the
  41 following DTD:
  42 
  43 <pre>
  44 &lt;!DOCTYPE "javax_imageio_1.0" [
  45 
  46   &lt;!ELEMENT "javax_imageio_1.0" (Chroma?, Compression?, Data?, Dimension?,
  47     Document?, Text?, Transparency?)&gt;
  48 
  49     &lt;!ELEMENT "Chroma" (ColorSpaceType?, NumChannels?, Gamma?,
  50       BlackIsZero?, Palette?, BackgroundIndex?, BackgroundColor?)&gt;
  51       &lt;!-- Chroma (color) information --&gt;
  52 
  53       &lt;!ELEMENT "ColorSpaceType" EMPTY&gt;
  54         &lt;!-- The raw color space of the image --&gt;
  55         &lt;!ATTLIST "ColorSpaceType" "name" ("XYZ" | "Lab" | "Luv" |
  56           "YCbCr" | "Yxy" | "YCCK" | "PhotoYCC" | "RGB" | "GRAY" | "HSV" |
  57           "HLS" | "CMYK" | "CMY" | "2CLR" | "3CLR" | "4CLR" | "5CLR" |
  58           "6CLR" | "7CLR" | "8CLR" | "9CLR" | "ACLR" | "BCLR" | "CCLR" |
  59           "DCLR" | "ECLR" | "FCLR") #REQUIRED&gt;
  60 
  61       &lt;!ELEMENT "NumChannels" EMPTY&gt;
  62         &lt;!-- The number of channels in the raw image, including alpha --&gt;
  63         &lt;!ATTLIST "NumChannels" "value" #CDATA #REQUIRED&gt;
  64           &lt;!-- Data type: List of Integer --&gt;
  65 
  66       &lt;!ELEMENT "Gamma" EMPTY&gt;
  67         &lt;!-- The image gamma --&gt;
  68         &lt;!ATTLIST "Gamma" "value" #CDATA #REQUIRED&gt;
  69           &lt;!-- Data type: Float --&gt;
  70 
  71       &lt;!ELEMENT "BlackIsZero" EMPTY&gt;
  72         &lt;!-- True if smaller values represent darker shades --&gt;
  73         &lt;!ATTLIST "BlackIsZero" "value" ("TRUE" | "FALSE") "TRUE"&gt;
  74 
  75       &lt;!ELEMENT "Palette" (PaletteEntry)*&gt;
  76         &lt;!-- Palette-color information --&gt;
  77 
  78         &lt;!ELEMENT "PaletteEntry" EMPTY&gt;
  79           &lt;!-- A palette entry --&gt;
  80           &lt;!ATTLIST "PaletteEntry" "index" #CDATA #REQUIRED&gt;
  81             &lt;!-- The index of the palette entry --&gt;
  82             &lt;!-- Data type: Integer --&gt;
  83           &lt;!ATTLIST "PaletteEntry" "red" #CDATA #REQUIRED&gt;
  84             &lt;!-- The red value for the palette entry --&gt;
  85             &lt;!-- Data type: Integer --&gt;
  86           &lt;!ATTLIST "PaletteEntry" "green" #CDATA #REQUIRED&gt;
  87             &lt;!-- The green value for the palette entry --&gt;
  88             &lt;!-- Data type: Integer --&gt;
  89           &lt;!ATTLIST "PaletteEntry" "blue" #CDATA #REQUIRED&gt;
  90             &lt;!-- The blue value for the palette entry --&gt;
  91             &lt;!-- Data type: Integer --&gt;
  92           &lt;!ATTLIST "PaletteEntry" "alpha" #CDATA "255"&gt;
  93             &lt;!-- The alpha value for the palette entry --&gt;
  94             &lt;!-- Data type: Integer --&gt;
  95 
  96       &lt;!ELEMENT "BackgroundIndex" EMPTY&gt;
  97         &lt;!-- A palette index to be used as a background --&gt;
  98         &lt;!ATTLIST "BackgroundIndex" "value" #CDATA #REQUIRED&gt;
  99           &lt;!-- Data type: Integer --&gt;
 100 
 101       &lt;!ELEMENT "BackgroundColor" EMPTY&gt;
 102         &lt;!-- An RGB triple to be used as a background --&gt;
 103         &lt;!ATTLIST "BackgroundColor" "red" #CDATA #REQUIRED&gt;
 104           &lt;!-- The red background value --&gt;
 105           &lt;!-- Data type: Integer --&gt;
 106         &lt;!ATTLIST "BackgroundColor" "green" #CDATA #REQUIRED&gt;
 107           &lt;!-- The green background value --&gt;
 108           &lt;!-- Data type: Integer --&gt;
 109         &lt;!ATTLIST "BackgroundColor" "blue" #CDATA #REQUIRED&gt;
 110           &lt;!-- The blue background value --&gt;
 111           &lt;!-- Data type: Integer --&gt;
 112 
 113     &lt;!ELEMENT "Compression" (CompressionTypeName?, Lossless?,
 114       NumProgressiveScans?, BitRate?)&gt;
 115       &lt;!-- Compression information --&gt;
 116 
 117       &lt;!ELEMENT "CompressionTypeName" EMPTY&gt;
 118         &lt;!-- The name of the compression scheme in use --&gt;
 119         &lt;!ATTLIST "CompressionTypeName" "value" #CDATA #REQUIRED&gt;
 120           &lt;!-- Data type: String --&gt;
 121 
 122       &lt;!ELEMENT "Lossless" EMPTY&gt;
 123         &lt;!-- True if the compression scheme is lossless --&gt;
 124         &lt;!ATTLIST "Lossless" "value" ("TRUE" | "FALSE") "TRUE"&gt;
 125 
 126       &lt;!ELEMENT "NumProgressiveScans" EMPTY&gt;
 127         &lt;!-- The number of progressive scans used in the image encoding --&gt;
 128         &lt;!ATTLIST "NumProgressiveScans" "value" #CDATA #REQUIRED&gt;
 129           &lt;!-- Data type: Integer --&gt;
 130 
 131       &lt;!ELEMENT "BitRate" EMPTY&gt;
 132         &lt;!-- The estimated bit rate of the compression scheme --&gt;
 133         &lt;!ATTLIST "BitRate" "value" #CDATA #REQUIRED&gt;
 134           &lt;!-- Data type: Float --&gt;
 135 
 136     &lt;!ELEMENT "Data" (PlanarConfiguration?, SampleFormat?, BitsPerSample?,
 137       SignificantBitsPerSample?, SampleMSB?)&gt;
 138       &lt;!-- Information on the image layout --&gt;
 139 
 140       &lt;!ELEMENT "PlanarConfiguration" EMPTY&gt;
 141         &lt;!-- The organization of image samples in the stream --&gt;
 142         &lt;!ATTLIST "PlanarConfiguration" "value" ("PixelInterleaved" |
 143           "PlaneInterleaved" | "LineInterleaved" | "TileInterleaved")
 144            #REQUIRED&gt;
 145 
 146       &lt;!ELEMENT "SampleFormat" EMPTY&gt;
 147         &lt;!-- The numeric format of image samples --&gt;
 148         &lt;!ATTLIST "SampleFormat" "value" ("SignedIntegral" |
 149           "UnsignedIntegral" | "Real" | "Index") #REQUIRED&gt;
 150 
 151       &lt;!ELEMENT "BitsPerSample" EMPTY&gt;
 152         &lt;!-- The number of bits per sample --&gt;
 153         &lt;!ATTLIST "BitsPerSample" "value" #CDATA #REQUIRED&gt;
 154           &lt;!-- A list of integers, one per channel --&gt;
 155           &lt;!-- Data type: List of Integer --&gt;
 156           &lt;!-- Min length: 1 --&gt;
 157 
 158       &lt;!ELEMENT "SignificantBitsPerSample" EMPTY&gt;
 159         &lt;!-- The number of significant bits per sample --&gt;
 160         &lt;!ATTLIST "SignificantBitsPerSample" "value" #CDATA #REQUIRED&gt;
 161           &lt;!-- A list of integers, one per channel --&gt;
 162           &lt;!-- Data type: List of Integer --&gt;
 163           &lt;!-- Min length: 1 --&gt;
 164 
 165       &lt;!ELEMENT "SampleMSB" EMPTY&gt;
 166         &lt;!-- The position of the most significant bit of each sample --&gt;
 167         &lt;!ATTLIST "SampleMSB" "value" #CDATA #REQUIRED&gt;
 168           &lt;!-- A list of integers, one per channel --&gt;
 169           &lt;!-- Data type: List of Integer --&gt;
 170           &lt;!-- Min length: 1 --&gt;
 171 
 172     &lt;!ELEMENT "Dimension" (PixelAspectRatio?, ImageOrientation?,
 173       HorizontalPixelSize?, VerticalPixelSize?,
 174       HorizontalPhysicalPixelSpacing?, VerticalPhysicalPixelSpacing?,
 175       HorizontalPosition?, VerticalPosition?, HorizontalPixelOffset?,
 176       VerticalPixelOffset?, HorizontalScreenSize?, VerticalScreenSize?)&gt;
 177       &lt;!-- Dimension information --&gt;
 178 
 179       &lt;!ELEMENT "PixelAspectRatio" EMPTY&gt;
 180         &lt;!-- The width of a pixel divided by its height --&gt;
 181         &lt;!ATTLIST "PixelAspectRatio" "value" #CDATA #REQUIRED&gt;
 182           &lt;!-- Data type: Float --&gt;
 183 
 184       &lt;!ELEMENT "ImageOrientation" EMPTY&gt;
 185         &lt;!-- The desired orientation of the image in terms of flips and
 186              counter-clockwise rotations --&gt;
 187         &lt;!ATTLIST "ImageOrientation" "value" ("Normal" | "Rotate90" |
 188           "Rotate180" | "Rotate270" | "FlipH" | "FlipV" |
 189           "FlipHRotate90" | "FlipVRotate90") #REQUIRED&gt;
 190 
 191       &lt;!ELEMENT "HorizontalPixelSize" EMPTY&gt;
 192         &lt;!-- The width of a pixel, in millimeters, as it should be rendered
 193              on media --&gt;
 194         &lt;!ATTLIST "HorizontalPixelSize" "value" #CDATA #REQUIRED&gt;
 195           &lt;!-- Data type: Float --&gt;
 196 
 197       &lt;!ELEMENT "VerticalPixelSize" EMPTY&gt;
 198         &lt;!-- The height of a pixel, in millimeters, as it should be
 199              rendered on media --&gt;
 200         &lt;!ATTLIST "VerticalPixelSize" "value" #CDATA #REQUIRED&gt;
 201           &lt;!-- Data type: Float --&gt;
 202 
 203       &lt;!ELEMENT "HorizontalPhysicalPixelSpacing" EMPTY&gt;
 204         &lt;!-- The horizontal distance in the subject of the image, in
 205              millimeters, represented by one pixel at the center of the
 206              image --&gt;
 207         &lt;!ATTLIST "HorizontalPhysicalPixelSpacing" "value" #CDATA #REQUIRED&gt;
 208           &lt;!-- Data type: Float --&gt;
 209 
 210       &lt;!ELEMENT "VerticalPhysicalPixelSpacing" EMPTY&gt;
 211         &lt;!-- The vertical distance in the subject of the image, in
 212              millimeters, represented by one pixel at the center of the
 213              image --&gt;
 214         &lt;!ATTLIST "VerticalPhysicalPixelSpacing" "value" #CDATA #REQUIRED&gt;
 215           &lt;!-- Data type: Float --&gt;
 216 
 217       &lt;!ELEMENT "HorizontalPosition" EMPTY&gt;
 218         &lt;!-- The horizontal position, in millimeters, where the image
 219              should be rendered on media --&gt;
 220         &lt;!ATTLIST "HorizontalPosition" "value" #CDATA #REQUIRED&gt;
 221           &lt;!-- Data type: Float --&gt;
 222 
 223       &lt;!ELEMENT "VerticalPosition" EMPTY&gt;
 224         &lt;!-- The vertical position, in millimeters, where the image should
 225              be rendered on media --&gt;
 226         &lt;!ATTLIST "VerticalPosition" "value" #CDATA #REQUIRED&gt;
 227           &lt;!-- Data type: Float --&gt;
 228 
 229       &lt;!ELEMENT "HorizontalPixelOffset" EMPTY&gt;
 230         &lt;!-- The horizontal position, in pixels, where the image should be
 231              rendered onto a raster display --&gt;
 232         &lt;!ATTLIST "HorizontalPixelOffset" "value" #CDATA #REQUIRED&gt;
 233           &lt;!-- Data type: Integer --&gt;
 234 
 235       &lt;!ELEMENT "VerticalPixelOffset" EMPTY&gt;
 236         &lt;!-- The vertical position, in pixels, where the image should be
 237              rendered onto a raster display --&gt;
 238         &lt;!ATTLIST "VerticalPixelOffset" "value" #CDATA #REQUIRED&gt;
 239           &lt;!-- Data type: Integer --&gt;
 240 
 241       &lt;!ELEMENT "HorizontalScreenSize" EMPTY&gt;
 242         &lt;!-- The width, in pixels, of the raster display into which the
 243              image should be rendered --&gt;
 244         &lt;!ATTLIST "HorizontalScreenSize" "value" #CDATA #REQUIRED&gt;
 245           &lt;!-- Data type: Integer --&gt;
 246 
 247       &lt;!ELEMENT "VerticalScreenSize" EMPTY&gt;
 248         &lt;!-- The height, in pixels, of the raster display into which the
 249              image should be rendered --&gt;
 250         &lt;!ATTLIST "VerticalScreenSize" "value" #CDATA #REQUIRED&gt;
 251           &lt;!-- Data type: Integer --&gt;
 252 
 253     &lt;!ELEMENT "Document" (FormatVersion?, SubimageInterpretation?,
 254       ImageCreationTime?, ImageModificationTime?)&gt;
 255       &lt;!-- Document information --&gt;
 256 
 257       &lt;!ELEMENT "FormatVersion" EMPTY&gt;
 258         &lt;!-- The version of the format used by the stream --&gt;
 259         &lt;!ATTLIST "FormatVersion" "value" #CDATA #REQUIRED&gt;
 260           &lt;!-- Data type: String --&gt;
 261 
 262       &lt;!ELEMENT "SubimageInterpretation" EMPTY&gt;
 263         &lt;!-- The interpretation of this image in relation to the other
 264              images stored in the same stream --&gt;
 265         &lt;!ATTLIST "SubimageInterpretation" "value" ("Standalone" |
 266           "SinglePage" | "FullResolution" | "ReducedResolution" |
 267           "PyramidLayer" | "Preview" | "VolumeSlice" | "ObjectView" |
 268           "Panorama" | "AnimationFrame" | "TransparencyMask" |
 269           "CompositingLayer" | "SpectralSlice" | "Unknown") #REQUIRED&gt;
 270 
 271       &lt;!ELEMENT "ImageCreationTime" EMPTY&gt;
 272         &lt;!-- The time of image creation --&gt;
 273         &lt;!ATTLIST "ImageCreationTime" "year" #CDATA #REQUIRED&gt;
 274           &lt;!-- The full year (e.g., 1967, not 67) --&gt;
 275           &lt;!-- Data type: Integer --&gt;
 276         &lt;!ATTLIST "ImageCreationTime" "month" #CDATA #REQUIRED&gt;
 277           &lt;!-- The month, with January = 1 --&gt;
 278           &lt;!-- Data type: Integer --&gt;
 279           &lt;!-- Min value: 1 (inclusive) --&gt;
 280           &lt;!-- Max value: 12 (inclusive) --&gt;
 281         &lt;!ATTLIST "ImageCreationTime" "day" #CDATA #REQUIRED&gt;
 282           &lt;!-- The day of the month --&gt;
 283           &lt;!-- Data type: Integer --&gt;
 284           &lt;!-- Min value: 1 (inclusive) --&gt;
 285           &lt;!-- Max value: 31 (inclusive) --&gt;
 286         &lt;!ATTLIST "ImageCreationTime" "hour" #CDATA "0"&gt;
 287           &lt;!-- The hour from 0 to 23 --&gt;
 288           &lt;!-- Data type: Integer --&gt;
 289           &lt;!-- Min value: 0 (inclusive) --&gt;
 290           &lt;!-- Max value: 23 (inclusive) --&gt;
 291         &lt;!ATTLIST "ImageCreationTime" "minute" #CDATA "0"&gt;
 292           &lt;!-- The minute from 0 to 59 --&gt;
 293           &lt;!-- Data type: Integer --&gt;
 294           &lt;!-- Min value: 0 (inclusive) --&gt;
 295           &lt;!-- Max value: 59 (inclusive) --&gt;
 296         &lt;!ATTLIST "ImageCreationTime" "second" #CDATA "0"&gt;
 297           &lt;!-- The second from 0 to 60 (60 = leap second) --&gt;
 298           &lt;!-- Data type: Integer --&gt;
 299           &lt;!-- Min value: 0 (inclusive) --&gt;
 300           &lt;!-- Max value: 60 (inclusive) --&gt;
 301 
 302       &lt;!ELEMENT "ImageModificationTime" EMPTY&gt;
 303         &lt;!-- The time of the last image modification --&gt;
 304         &lt;!ATTLIST "ImageModificationTime" "year" #CDATA #REQUIRED&gt;
 305           &lt;!-- The full year (e.g., 1967, not 67) --&gt;
 306           &lt;!-- Data type: Integer --&gt;
 307         &lt;!ATTLIST "ImageModificationTime" "month" #CDATA #REQUIRED&gt;
 308           &lt;!-- The month, with January = 1 --&gt;
 309           &lt;!-- Data type: Integer --&gt;
 310           &lt;!-- Min value: 1 (inclusive) --&gt;
 311           &lt;!-- Max value: 12 (inclusive) --&gt;
 312         &lt;!ATTLIST "ImageModificationTime" "day" #CDATA #REQUIRED&gt;
 313           &lt;!-- The day of the month --&gt;
 314           &lt;!-- Data type: Integer --&gt;
 315           &lt;!-- Min value: 1 (inclusive) --&gt;
 316           &lt;!-- Max value: 31 (inclusive) --&gt;
 317         &lt;!ATTLIST "ImageModificationTime" "hour" #CDATA "0"&gt;
 318           &lt;!-- The hour from 0 to 23 --&gt;
 319           &lt;!-- Data type: Integer --&gt;
 320           &lt;!-- Min value: 0 (inclusive) --&gt;
 321           &lt;!-- Max value: 23 (inclusive) --&gt;
 322         &lt;!ATTLIST "ImageModificationTime" "minute" #CDATA "0"&gt;
 323           &lt;!-- The minute from 0 to 59 --&gt;
 324           &lt;!-- Data type: Integer --&gt;
 325           &lt;!-- Min value: 0 (inclusive) --&gt;
 326           &lt;!-- Max value: 59 (inclusive) --&gt;
 327         &lt;!ATTLIST "ImageModificationTime" "second" #CDATA "0"&gt;
 328           &lt;!-- The second from 0 to 60 (60 = leap second) --&gt;
 329           &lt;!-- Data type: Integer --&gt;
 330           &lt;!-- Min value: 0 (inclusive) --&gt;
 331           &lt;!-- Max value: 60 (inclusive) --&gt;
 332 
 333     &lt;!ELEMENT "Text" (TextEntry)*&gt;
 334       &lt;!-- Text information --&gt;
 335 
 336       &lt;!ELEMENT "TextEntry" EMPTY&gt;
 337         &lt;!-- A text entry --&gt;
 338         &lt;!ATTLIST "TextEntry" "keyword" #CDATA #IMPLIED&gt;
 339           &lt;!-- A keyword associated with the text entry --&gt;
 340           &lt;!-- Data type: String --&gt;
 341         &lt;!ATTLIST "TextEntry" "value" #CDATA #REQUIRED&gt;
 342           &lt;!-- the text entry --&gt;
 343           &lt;!-- Data type: String --&gt;
 344         &lt;!ATTLIST "TextEntry" "language" #CDATA #IMPLIED&gt;
 345           &lt;!-- The language of the text --&gt;
 346           &lt;!-- Data type: String --&gt;
 347         &lt;!ATTLIST "TextEntry" "encoding" #CDATA #IMPLIED&gt;
 348           &lt;!-- The encoding of the text --&gt;
 349           &lt;!-- Data type: String --&gt;
 350         &lt;!ATTLIST "TextEntry" "compression" ("none" | "lzw" | "zip" |
 351           "bzip" | "other") "none"&gt;
 352           &lt;!-- The method used to compress the text --&gt;
 353 
 354     &lt;!ELEMENT "Transparency" (Alpha?, TransparentIndex?,
 355       TransparentColor?, TileTransparencies?, TileOpacities?)&gt;
 356       &lt;!-- Transparency information --&gt;
 357 
 358       &lt;!ELEMENT "Alpha" EMPTY&gt;
 359         &lt;!-- The type of alpha information contained in the image --&gt;
 360         &lt;!ATTLIST "Alpha" "value" ("none" | "premultiplied" |
 361           "nonpremultiplied") "none"&gt;
 362 
 363       &lt;!ELEMENT "TransparentIndex" EMPTY&gt;
 364         &lt;!-- A palette index to be treated as transparent --&gt;
 365         &lt;!ATTLIST "TransparentIndex" "value" #CDATA #REQUIRED&gt;
 366           &lt;!-- Data type: Integer --&gt;
 367 
 368       &lt;!ELEMENT "TransparentColor" EMPTY&gt;
 369         &lt;!-- An RGB color to be treated as transparent --&gt;
 370         &lt;!ATTLIST "TransparentColor" "value" #CDATA #REQUIRED&gt;
 371           &lt;!-- Data type: List of Integer --&gt;
 372 
 373       &lt;!ELEMENT "TileTransparencies" (TransparentTile)*&gt;
 374         &lt;!-- A list of completely transparent tiles --&gt;
 375 
 376         &lt;!ELEMENT "TransparentTile" EMPTY&gt;
 377           &lt;!-- The index of a completely transparent tile --&gt;
 378           &lt;!ATTLIST "TransparentTile" "x" #CDATA #REQUIRED&gt;
 379             &lt;!-- The tile's X index --&gt;
 380             &lt;!-- Data type: Integer --&gt;
 381           &lt;!ATTLIST "TransparentTile" "y" #CDATA #REQUIRED&gt;
 382             &lt;!-- The tile's Y index --&gt;
 383             &lt;!-- Data type: Integer --&gt;
 384 
 385       &lt;!ELEMENT "TileOpacities" (OpaqueTile)*&gt;
 386         &lt;!-- A list of completely opaque tiles --&gt;
 387 
 388         &lt;!ELEMENT "OpaqueTile" EMPTY&gt;
 389           &lt;!-- The index of a completely opaque tile --&gt;
 390           &lt;!ATTLIST "OpaqueTile" "x" #CDATA #REQUIRED&gt;
 391             &lt;!-- The tile's X index --&gt;
 392             &lt;!-- Data type: Integer --&gt;
 393           &lt;!ATTLIST "OpaqueTile" "y" #CDATA #REQUIRED&gt;
 394             &lt;!-- The tile's Y index --&gt;
 395             &lt;!-- Data type: Integer --&gt;
 396 ]&gt;
 397 </pre>
 398 </div>
 399 </main>
 400 </body>
 401 </html>