<?xml version='1.0' encoding='utf-8'?>
<!--
	DTD for defining a Google Map using the Google Maps JSP Taglibrary
-->
<!ELEMENT map (key+, cluster?, point*, marker*, traffic*, box*, circle*, polyline*, polygon*, maptype*, wms*, imageoverlay*,
	label*, insert*, coordinates?, panControl?, typeControl?, wheelControl?, zoomControl?, scaleControl?, overviewControl?, message?, event*)>

<!ATTLIST map
  id ID #IMPLIED
  type (map|satellite|hybrid) "map"
  version CDATA "2"
  zoom CDATA #IMPLIED
  scope (page|site) "page"
  width CDATA #IMPLIED
  height CDATA #IMPLIED
  debug (true|false) "false"
  centerLatitude CDATA #IMPLIED
  centerLongitude CDATA #IMPLIED
  headless (true|false) "false"
  maxZoom CDATA #IMPLIED
  minZoom CDATA #IMPLIED
  bound (true|false) "true"
  language (en|ja|fr|de|it|es|ca|eu|gl) "en"
  showDaylight (true|false) "false">
  
<!ELEMENT key EMPTY>

<!ATTLIST key
  domain CDATA #REQUIRED
  key CDATA #REQUIRED>
  
<!ELEMENT cluster (icon?)>

<!ATTLIST cluster
  pathToScript CDATA #REQUIRED
  maxVisibleMarkers CDATA #IMPLIED 
  markersPerCluster CDATA #IMPLIED
  gridSize CDATA #IMPLIED>
   
<!ELEMENT point EMPTY>

<!ATTLIST point
	id ID #REQUIRED
	longitude CDATA #IMPLIED
	latitude CDATA #IMPLIED
	address CDATA #IMPLIED
	city CDATA #IMPLIED
	state CDATA #IMPLIED
	zip CDATA #IMPLIED
	country CDATA #IMPLIED>
	
<!ELEMENT marker ((blowup | infowindow | tabbedInfoWindow)?, event*, icon?)>

<!ATTLIST marker
  id ID #REQUIRED
  point IDREF #REQUIRED
  draggable (true|false) "false">
  
<!ELEMENT blowup EMPTY>

<!ATTLIST blowup
  display (true|false) "false"
  maptype (map|satellite|hybrid) "map"
  zoom CDATA "1">
	
<!ELEMENT infowindow (#PCDATA)>

<!ATTLIST infowindow
  display (true|false) "false"
  html (true|false) "true"
  content CDATA #IMPLIED
  style CDATA #IMPLIED
  css_class CDATA #IMPLIED>
  
<!ELEMENT tabbedInfoWindow (tab*)>

<!ATTLIST tabbedInfoWindow
  display (true|false) "false"
  style CDATA #IMPLIED
  css_class CDATA #IMPLIED> 
  
<!ELEMENT tab (#PCDATA)>

<!ATTLIST tab
  label CDATA #REQUIRED
  html (true|false) "true"
  content CDATA #IMPLIED>  
  
<!ELEMENT icon EMPTY>

<!ATTLIST icon
  icon CDATA #REQUIRED
  shadow CDATA #IMPLIED
  iconWidth CDATA #REQUIRED
  iconHeight CDATA #REQUIRED
  shadowWidth CDATA #IMPLIED
  shadowHeight CDATA #IMPLIED
  anchorX CDATA #REQUIRED
  anchorY CDATA #REQUIRED
  infoWindowAnchorX CDATA #REQUIRED
  infoWindowAnchorY CDATA #REQUIRED>
  
<!ELEMENT event EMPTY>

<!ATTLIST event
  action (click|dblclick|moveend|zoom|maptypechanged) #REQUIRED
  url CDATA #REQUIRED
  asynchronous (true|false) "false">
  
<!ELEMENT traffic (icon?)>

<!ATTLIST traffic
  id ID #REQUIRED
  point IDREF #REQUIRED
  radius CDATA #REQUIRED
  severity (1|2|3|4|5) "1"
  type (incident|construction|both) "both">
  
<!ELEMENT box EMPTY>

<!ATTLIST box
  id ID #REQUIRED
  color CDATA "#00ff00"
  opacity CDATA "0.50"
  weight CDATA "2"
  point1 IDREF #REQUIRED
  point2 IDREF #REQUIRED>
  
<!ELEMENT circle EMPTY>

<!ATTLIST circle
  id ID #REQUIRED
  color CDATA "#ff0000"
  opacity CDATA "0.50"
  weight CDATA "2"
  point IDREF #REQUIRED
  radius CDATA #REQUIRED>
  
<!ELEMENT polyline EMPTY>

<!ATTLIST polyline
  id ID #REQUIRED
  color CDATA "#0000ff"
  opacity CDATA "0.50"
  weight CDATA "2"
  pointlist IDREFS #REQUIRED>
  
<!ELEMENT polygon EMPTY>

<!ATTLIST polygon
  id ID #REQUIRED
  color CDATA "#0000ff"
  opacity CDATA "0.50"
  weight CDATA "2"
  pointlist IDREFS #REQUIRED>
  
<!ELEMENT maptype EMPTY>

<!ATTLIST maptype
  id ID #REQUIRED
  name CDATA #REQUIRED
  baseType (map|hybrid|satellite) "map"
  copyright CDATA #IMPLIED
  url CDATA #IMPLIED
  lowResUrl CDATA #IMPLIED
  overlayUrl CDATA #IMPLIED
  maxZoom CDATA "-1"
  minZoom CDATA "-1"
  showOnStartup (true|false) "true"
  upperLeftBound IDREF #IMPLIED
  lowerRightBound IDREF #IMPLIED
  png (true|false) "false">
  
<!ELEMENT wms EMPTY>

<!ATTLIST wms
  id ID #REQUIRED
  name CDATA #REQUIRED
  url CDATA #REQUIRED
  layers CDATA #REQUIRED 
  pathToScript CDATA #REQUIRED
  format CDATA #IMPLIED
  srs CDATA #IMPLIED 
  version CDATA #IMPLIED
  copyright CDATA #IMPLIED
  showOnStartup (true|false) "true"
  showOverlay (true|false) "false">
  
<!ELEMENT imageoverlay EMPTY>

<!ATTLIST imageoverlay
  id ID #REQUIRED 
  url CDATA #REQUIRED 
  opacity CDATA #IMPLIED
  link CDATA #IMPLIED 
  x CDATA #IMPLIED 
  y CDATA #IMPLIED> 
   
<!ELEMENT label (#PCDATA)>

<!ATTLIST label
  point IDREF #REQUIRED
  css_class CDATA #IMPLIED
  style CDATA #IMPLIED
  content CDATA #IMPLIED
  html (true|false) "true"
  opacity CDATA "0.50"
  x_offset CDATA "0"
  y_offset CDATA "0">   
   
<!ELEMENT insert EMPTY>

<!ATTLIST insert
  id ID #REQUIRED
  point IDREF #REQUIRED
  baseZoom CDATA #REQUIRED
  url CDATA #REQUIRED
  width CDATA #REQUIRED
  height CDATA #REQUIRED
  mapTypes CDATA #IMPLIED> 
  
<!ELEMENT coordinates EMPTY>

<!ATTLIST coordinates
  x CDATA #IMPLIED
  y CDATA #IMPLIED
  style CDATA #IMPLIED
  css_class CDATA #IMPLIED>  
   
<!ELEMENT panControl EMPTY>

<!ATTLIST panControl
  enable (true|false) "true">
  
<!ELEMENT wheelControl EMPTY>

<!ATTLIST wheelControl 
  enable (true|false) "true">
  
<!ELEMENT scaleControl EMPTY>

<!ATTLIST scaleControl
  enable (true|false) "true">
  
<!ELEMENT typeControl EMPTY>

<!ATTLIST typeControl
  enable (true|false) "true">
  
<!ELEMENT zoomControl EMPTY>

<!ATTLIST zoomControl
  enable (true|false) "true"
  size (large|small) "large">
  
<!ELEMENT overviewControl EMPTY>

<!ATTLIST overviewControl
  width CDATA "200"
  height CDATA "200"
  x CDATA #IMPLIED   
  y CDATA #IMPLIED>
   
<!ELEMENT message (#PCDATA)>

<!ATTLIST message
  style CDATA #IMPLIED> 
