Microformats

Maprosoft Microformats

Maprosoft microformats are a set of simple XML data formats used to describe features. Embedding information using these microformats in the data you upload (e.g Shape File Metadata, KML Data) provides Maprosoft with structured information about features.

Presentation

Many microformats are designed to optimise the presentation of information. Microformats can influence aspects such as icons, colors and layout.

For map based pages, microformats will influence map marker icons and feature overlay colours and line thickness. Microformats will also help with the presentation of information in map popup windows.

For text pages (e.g. tables or grids), microformats will influence the types of information appropriate to display as well as formatting and layout of the information.


Special Data Types

Some types of information such as phone numbers and email addresses can invoke functionality such as calling the number or composing an email depending on the device being used.


Highlights

Some views such as map info windows present icons identifying the highlights of the feature. Here are the highlight icons provided:


Custom Highlights

It would be impossible to provide highlight icons to satisfy all organisations so Maprosoft provides the ability for custom highlights to be defined. The keyValuePairs provides the ability to specify custom highlights.


Behaviour

Some microformats influence behaviour. For example, the <dynamicData> microformat provides the ability to obtain information from external systems.

Microformats Reference

Detailed information about each microformat is provided in the sections below.

<title>
<address>
<contactDetails>
<developmentApplication>
<html-content>
<image>
<imageOverlay>
<openHours>
<openHoursPeriod>
<multiFloorImageInfo>
<floorImage>
<parkFeatures>
<overlayDisplay>
<dynamicData>
<keyValuePairs>
<hiddenKeyValuePairs>

<title> Element

The text content of the <title> elements will override the name of the feature as specified by the content of the <nameFieldName> DBF field.

<title> Example

The following is a simple example:

<title>
	<text>
		Ian Thorpe Pool
	</text>
</title>

<address> Element

This microformat provides address information.

  • <streetNum> The street number. This can also contain textual information such as a suite number, floor of a building, etc.
  • <streetName> The street name. This may also contain brief direction information such as 'Cnr of William Henry Street'.
  • <suburbName> The name of the suburb that the feature is within.
  • <postcode> The postcode that the feature is within.

<address> Example

The following is a simple example:

<address>
	<streetNum>
		456
	</streetNum>
	<streetName>
		Harris Street
	</streetName>
	<suburbName>
		Ultimo
	</suburbName>
	<state>
		NSW
	</state>
	<postcode>
		2007
	</postcode>
	<country>
		Australia
	</country>
</address>

<contactDetails> Element

This microformat provides address information. All of the following fields are optional, however, at least one must be provided.

  • <department> The content of this element identifies the department or section that the contact details pertain to. It is generally only necessary to provide this element if multiple contact details are provided for a feature.
  • <phoneNum> The phone number.
  • <faxNum> The fax number.
  • <email> The email address.
  • <website> The website URL.

<contactDetails> Example

The following is a simple example:

<contactDetails>
	<department>
		General Enquiries
	</department>
	<phoneNum>
		02 9518 7220
	</phoneNum>
	<faxNum>
		02 9660 2212
	</faxNum>
	<email>
		admin.itac@ymca.org.au
	</email>
	<website>
		http://www.itac.org.au
	</website>
</contactDetails>

<developmentApplication> Element

This microformat provides details about a development application.

  • <applicationId> This is the ID or number allocated to the devlopment application to facilitate tracking it. This field is optional.
  • <address> This is the address of the development application. This field is optional.
  • <description> A description the development application. This field is optional.
  • <estimatedCost> This is the estimate cost of the development application. This field is optional.
  • <applicantName> This is the name of the application of the development application. This field is optional.
  • <applicantionLodgementDate> This is the date that the development application was lodged. This field must be formatted as a date. An acceptable format to use is 13-05-2014 3:30 PM. This field is optional.
  • <exhibitionClosureDate> This is the date that the development application closes. This field must be formatted as a date. An acceptable format to use is 13-05-2014 3:30 PM. This field is optional.
  • <councilOfficerName> This is the name of the officer responsible for the development application. This field is optional.
  • <websiteUrl> This is a website URL showing further details about the development application. This field is optional.

<developmentApplication> Example

The following is a simple example:

<developmentApplication>
	<applicationId>
		DA-123456
	</applicationId>
	<address>
		<streetNum>
			 456
		</streetNum>
		<streetName>
			 Stanley
		</streetName>
		<suburbName>
	 		Darlinghurst
		</suburbName>
		<state>
	 		NSW
		</state>
		<postcode>
	 		2002
		</postcode>
		<country>
	 		Australia
		</country>
	</address>
	<description>
		 Extend upstairs accommodation and garage integration
	</description>
	<estimatedCost>
	 	$350,000
	</estimatedCost>
	<applicantName>
		Some Person
	</applicantName>
	<applicantionLodgementDate>
		13-05-2014
	</applicantionLodgementDate>
	<exhibitionClosureDate>
		26-06-2014
	</exhibitionClosureDate>
	<councilOfficerName>
	
	</councilOfficerName>
	<websiteUrl>
		http://www.mycouncil.gov/da/123456
	</websiteUrl>
</developmentApplication>

<html-content> Element

This microformat provides the ability to present any HTML for a feature.

  • <header> A title relating to the HTML. This field is mandatory.
  • <body> The HTML. This field is mandatory.

<html-content> Example

The following is a simple example:

<html-content>
	<header>
		Some Header Text
	</header>
	<body>
		<![CDATA[
			Any HTML
		]]>
	</body>
</html-content>

<image> Element

This element will result in an image being presented for the feature.

  • <url> The URL of the image to show. This field is mandatory.
  • <width> The width of the image - HTML syntax. This field is optional.
  • <height> The height of the image - HTML syntax. This field is optional.
  • <altText> A description/title of the image. This field is optional.

<image> Example

The following is a simple example:

<image>
	<url>
		http://www.mycouncil.com/dawesptpark.jpg
	</url>
	<width>
		225px
	</width>
	<height>
		160px
	</height>
	<altText>
		Dawes Point Park
	</altText>
</image>

<imageOverlay> Element

An image overlay identifies an image and a name for it. Image overlays are designed to be used in conjunction with other image-based microformats. For example, a shopping centre floor may have a base image showing its layout, and then multiple overlay images, each showing different categories of shops and services. Overlay images typically have transparent areas so that important information in the the base layer image is visible when the overlay image is shown on top of it. Note that the image must have the same dimensions as the base image that it is to be overlaid on.

  • <url> The URL of the image overlay. This field is mandatory.
  • <overlayName> A title for the image overlay. This field is optional.

<imageOverlay> Example

The following is a simple example:

<imageOverlay>
	<url>
		http://www.myshoppingcentre.com/images/floor1-facilities.jpg
	</url>
	<overlayName>
		Facilities
	</overlayName>
</imageOverlay>

<openHours> Element

This microformat provides the ability to specify periods within a week that the feature is open.

  • <openHoursPeriod> This element is a container for the open hours of a specific day. This field is mandatory.
  • <notes> Any supplementary notes. This field is optional.

<openHours> Example

The following is a simple example:

<openHours>
	<openHoursPeriod>
		(contents as per <openHoursPeriod>)
	</openHoursPeriod>
	(repeated <openHoursPeriod>s as required)
	<notes>
		Ring door bell for attendance.
	</notes>
</openHours>

<openHoursPeriod> Element

This element defines a period for which open hours apply.

  • <day> The name of the day that the period corresponds to. This must be MONDAY, TUESDAY, etc. This field is mandatory.
  • <startHour> The hour of the day that the period starts. (0 - 23) This field is mandatory.
  • <startMinute> The minute of the start hour that the period starts. (0 - 59) This field is mandatory.
  • <endHour> The hour of the day that the period starts. (0 - 23) This field is mandatory.
  • <endMinute> The minute of the end hour that the period starts. (0 - 59) This field is mandatory.

<openHoursPeriod> Example

The following is a simple example:

<openHoursPeriod>
	<day>
		Monday
	</day>
	<startHour>
		9
	</startHour>
	<startMinute>
		0
	</startMinute>
	<endHour>
		17
	</endHour>
	<endMinute>
		30
	</endMinute>
</openHoursPeriod>

<multiFloorImageInfo> Element

This microformat provides the ability to create an image comprising one or more layers at different elevations. The images are associated with geographic coordinates so they can be overlaid on maps.

  • <floorImage> This element is a container for the images. This field is mandatory.
  • <notes> Any supplementary notes. This field is optional.

<multiFloorImageInfo> Example

The following is a simple example:

<multiFloorImageInfo>
	<floorImage>
		(contents as per <floorImage>)
	</floorImage>
	(repeated <floorImage>s as required)
	<notes>
		Westmeal Shopping Centre
	</notes>
</multiFloorImageInfo>

<floorImage> Element

This element defines an image at a particular elevation.

  • <url> The URL of the image. This field is mandatory.
  • <altitude> The altitude of the image. This field is mandatory.
  • <floorName> The name of the image. This field is mandatory.
  • <northLatitude> The latitude of the top of the image. This field is mandatory.
  • <southLatitude> The latitude of the bottom of the image. This field is mandatory.
  • <eastLongitude> The longitude of the right side of the image. This field is mandatory.
  • <westLongitude> The longitude of the left side of the image. This field is mandatory.

<floorImage> Example

The following is a simple example:

<floorImage>
	<url>
		http://www.example.com/MyAerialImpression.gif
	</url>
	<altitude>
		25
	</altitude>
	<floorName>
		Aerial Impression
	</floorName>
	<northLatitude>
		-33.88428
	</northLatitude>
	<southLatitude>
		-33.88653
	</southLatitude>
	<eastLongitude>
		151.20181
	</eastLongitude>
	<westLongitude>
		151.19866
	</westLongitude>
	<imageOverlay>
		(contents as per <imageOverlay>)
	</imageOverlay>
	(repeated <imageOverlay>s as required)
</floorImage>

<parkFeatures> Element

This microformat provides the ability to specify information relating to parks and other open spaces.

  • <playgroundDescription> A textual description of any playgrounds in the park. This field is optional.
  • <sportsFieldDescription> A textual description of any sports fields in the park. This field is optional.
  • <publicToilets> Indicates if there are public toilets within the park. This field value must be either 'yes' or 'no'.
  • <bbqFacilities> Indicates if there are BBQ facilities within the park. This field value must be either 'yes' or 'no'.
  • <dogsOnLeash> Indicates if dogs can be walked on a leash in the park. This field value must be either 'yes' or 'no'.
  • <dogsOffLeash> Indicates if dogs can run around off leash in the park. This field value must be either 'yes' or 'no'.
  • <playground> Indicates if the park has playgrounds. This field value must be either 'yes' or 'no'.
  • <shelteredPlayground> Indicates if the park has sheltered playgrounds. This field value must be either 'yes' or 'no'.
  • <picnicFacilities> Indicates if the park has picnic facilities. This field value must be either 'yes' or 'no'.
  • <shelteredPicnicFacilities> Indicates if the park has sheltered picnic facilities. This field value must be either 'yes' or 'no'.
  • <shadeArea> Indicates if the park has a shaded area. This field value must be either 'yes' or 'no'.
  • <shelteredSeating> Indicates if the park has sheltered seating. This field value must be either 'yes' or 'no'.
  • <sportsFields> Indicates if the park has sports fields. This field value must be either 'yes' or 'no'.
  • <tennisCourts> Indicates if the park has tennis courts. This field value must be either 'yes' or 'no'.
  • <cricketNets> Indicates if the park has cricket nets. This field value must be either 'yes' or 'no'.
  • <volleyballCourts> Indicates if the park has volleyball courts. This field value must be either 'yes' or 'no'.
  • <basketballCourts> Indicates if the park has basketball courts. This field value must be either 'yes' or 'no'.
  • <netballCourts> Indicates if the park has netball courts. This field value must be either 'yes' or 'no'.
  • <gardens> Indicates if the park has gardens. This field value must be either 'yes' or 'no'.
  • <changingShed> Indicates if the park has changing sheds. This field value must be either 'yes' or 'no'.
  • <skatePark> Indicates if the park has a skate park. This field value must be either 'yes' or 'no'.
  • <waterPlayPark> Indicates if the park has a water play park. This field value must be either 'yes' or 'no'.
  • <rotunda> Indicates if the park has a rotunda. This field value must be either 'yes' or 'no'.
  • <bikePath> Indicates if the park has bike path. This field value must be either 'yes' or 'no'.
  • <walkingTrack> Indicates if the park has walking tracks. This field value must be either 'yes' or 'no'.
  • <chessTable> Indicates if the park has chess tables. This field value must be either 'yes' or 'no'.
  • <otherFeaturesDescription> A textual description of any other features of the park. This field is optional.

<parkFeatures> Example

The following is a simple example:

<parkFeatures>
	<playgroundDescription>
		Extensive shade sails
	</playgroundDescription>
	<sportsFieldDescription>
		3 tennis courts
	</sportsFieldDescription>
	<publicToilets>
		no
	</publicToilets>
	<bbqFacilities>
		yes
	</bbqFacilities>
	<dogsOnLeash>
		no
	</dogsOnLeash>
	<dogsOffLeash>
		no
	</dogsOffLeash>
	<playground>
		no
	</playground>
	<shelteredPlayground>
		no
	</shelteredPlayground>
	<picnicFacilities>
		no
	</picnicFacilities>
	<shelteredPicnicFacilities>
		no
	</shelteredPicnicFacilities>
	<shadeArea>
		no
	</shadeArea>
	<shelteredSeating>
		no
	</shelteredSeating>
	<sportsFields>
		no
	</sportsFields>
	<tennisCourts>
		no
	</tennisCourts>
	<cricketNets>
		no
	</cricketNets>
	<volleyballCourts>
		no
	</volleyballCourts>
	<basketballCourts>
		no
	</basketballCourts>
	<netballCourts>
		no
	</netballCourts>
	<gardens>
		no
	</gardens>
	<changingShed>
		no
	</changingShed>
	<skatePark>
		no
	</skatePark>
	<waterPlayPark>
		no
	</waterPlayPark>
	<rotunda>
		no
	</rotunda>
	<bikePath>
		no
	</bikePath>
	<walkingTrack>
		no
	</walkingTrack>
	<chessTable>
		no
	</chessTable>
	<otherFeaturesDescription>
		Harbour views
	</otherFeaturesDescription>
</parkFeatures>

<overlayDisplay> Element

This microformat provides the ability to customise the appearance of features on a feature by feature basis. The customisations specified in this metadata override the equivalent options specified for the entire feature type.

  • <edgeColor> The color to draw the edges of the feature. Applies to polylines and polygons. This field is optional.
  • <edgeOpacity> The opacity of the edges of the feature. Must be in the range 0.0 to 1.0 where 0.0 is transparent and 1.0 is opaque. Applies to polylines and polygons. This field is optional.
  • <edgeWidthPixels> The width of the edges of the feature. Must be an integer greater than or equal to 0. Applies to polylines and polygons. This field is optional.
  • <fillColor> The color to fill the feature with. Applies to polygons. This field is optional.
  • <fillOpacity> The opacity of the fill color of the feature. Must be in the range 0.0 to 1.0 where 0.0 is transparent and 1.0 is opaque. Applies to polygons. This field is optional.
  • <pointIconTypeName> The name of the point icon type. See the Point Icons page for the list of names from which to use. Applies to points. This field is optional.
  • <pointIconURL> A URL to an image to use for the point icon. Applies to points. This field is optional.

<overlayDisplay> Examples

The following is an example for a polygon feature:

<overlayDisplay>
	<edgeColor>
		Red
	</edgeColor>
	<edgeOpacity>
		0.8
	</edgeOpacity>
	<edgeWidthPixels>
		4
	</edgeWidthPixels>
	<fillColor>
		#7FFFD4
	</fillColor>
	<fillOpacity>
		0.2
	</fillOpacity>
</overlayDisplay>

The following is an example for a point feature using a Maprosoft icon:

<overlayDisplay>
	<pointIconTypeName>
		TOURIST_INFO
	</pointIconTypeName>
</overlayDisplay>

The following is an example for a point feature using an external icon:

<overlayDisplay>
	<pointIconURL>
		http://www.some-server.com/path/some-icon.gif
	</pointIconURL>
</overlayDisplay>

<dynamicData> Element

This microformat provides the ability to add data that changes over time and provided by one or more web services.

  • <updateURL> The URL of the web service providing the data. The web service must return the data in XML format in response to a HTTP GET request to this URL. Usually all features of a single type are serviced by a single web service in conjunction with a URL parameter to specify the feature that a particular request is for. The URL must be XML encoded, so '&' characters must appear as '&amp;'. This field is mandatory.
  • <responseXMLDataTag> The content of this element identifies the XML tag within the web service response XML that contains the data. This field is mandatory.
  • <updatePeriodSeconds> Identifies how often to retrieve the data. Units are seconds. This field is mandatory.
  • <dataTitle> Provides a title for the data. This is used when presenting the data. This field is mandatory.

<dynamicData> Example

This example identifies dynamic data for updating the status of sports fields. The example is based on a web service returning data as per the following example:

<data>
    <field-status>
        CLOSED
    </field-status>
</data>

The dynamic data metadata to retrieve the sports field status every 5 minutes is as follows

<dynamicData>
	<updateURL>
		http://www.some-server.com/SomeWebServiceService?service-type=sport-field-status&amp;sport-field-name=Some%20Sports%20Field%20Name
	</updateURL>
	<responseXMLDataTag>
		field-status
	</responseXMLDataTag>
	<updatePeriodSeconds>
		300
	</updatePeriodSeconds>
	<dataTitle>
		Fields Status
	</dataTitle>
</dynamicData>

<keyValuePairs> Element

This microformat provides the ability to add data that does not belong to any of the other microformats.

  • <keyValuePair> Specifies a key/value pair via attributes as follows:
    • key: The name of the attribute.
    • value: The value of the attribute.
    • highlightName: If the key/value pair should be highlighted, then this attribute can be used to specify a name for the highlight. If this attribute is omitted and a highlight URL is specified (see next point), then the value for the key attribute will be used for the name of the highlight.
    • highlightUrl: If the key/value pair should be highlighted, then this attribute can be used to specify the URL of the icon to be used for the highlight. The size of this icon must be a standard web image (GIF, PNG or JPG) and 24 pixels wide by 24 pixels high.
    This field is mandatory.
Notes:
  • This example includes a custom highlight indicating if an item is made from natural products.

<keyValuePairs> Example

This example shows a microformat specifying color, size and material information.

<keyValuePairs>
	<keyValuePair key="Color" value="Blue">
	</keyValuePair>
	<keyValuePair key="Size" value="Medium">
	<keyValuePair key="100% Cotton" value="Yes" highlightName="Natural Materials" highlightUrl="http://some-team.com/natural-24x24.png">
	</keyValuePair>
</keyValuePairs>

<hiddenKeyValuePairs> Element

This microformat allows data to contain attributes that are not displayed. This is useful for supressing details that is not of direct concern to users. When used in conjunction with microformat templates, this allows certain fields to beimported, but suppressed so that they are not visible to users.

  • <keyValuePair> Specifies a key/value pair via attributes named key and value respectively. This field is mandatory.

<hiddenKeyValuePairs> Example

This example shows a microformat that hides an internal ID.

<hiddenKeyValuePairs>
	<keyValuePair key="SomeInternalId" value="123456">
	</keyValuePair>
</hiddenKeyValuePairs>