Next / Previous / Contents / Shipman's homepage

5.8.  The form element: records for one kind of bird

Each form element encloses one or more sightings of a given kind of bird. We use “kind” in the taxonomic sense here: sightings attribute to a single species, family, genus, or other taxonomic grouping are all grouped under a single form element, even though the sightings may differ in age, sex, or other non-taxonomic differences.

There are two patterns: the single-sighting pattern is used for single records, and the multi-sighting pattern is used when there are multiple occurrences of the form with different age, sex, location, and so forth.

form = element form
{ taxon-group,     1
  (single-sighting | multi-sighting)
single-sighting  =  
( age-sex-group,   2
  loc-group,       3
  sighting-notes   4
multi-sighting   =
( loc-group,
  floc+)           5

The taxon-group pattern is a set of three attributes that describe the taxonomic identity of the bird, such as “American Robin” or “hawk sp.” In almost all cases this consists of a single ab6 attribute whose value is a six-letter bird code. Example for Blue Jay:


For the general case, including the treatment of hybrids and species pairs, see Section 5.9, “ The taxon-group pattern: biological classification of the birds seen ”.


The age-sex-group pattern is a set of several attributes that describe age, sex, and some other aspects of the sighting. See Section 5.10, “The age-sex-group attributes”.


The loc-group pattern is a set of attributes and other content that specify where the sightings occurred; see Section 5.11, “ The loc-group pattern: locality attributes and content ”.


The sighting-notes pattern is a set of optional elements giving additional kinds of information about the sighting such as behavior, description, and such. See Section 5.12, “The sighting-notes elements”.


If there are multiple sightings of the same kind of bird, floc elements can be included as children of the form element. See Section 5.14, “ The floc element: Multiple sightings of a given form ”.

For multiple sightings, the parent form element can have a loc-group specifying the default location for its floc children, as well as various sighting-notes children that apply to all the sightings of that form.

In the most general case, use a floc (“form location”) child element for each different location, age, sex, or other aspect of the different sightings. For example, if the notes include both adult and immature Bald Eagles, the parent form element identifies the species (attribute ab6='baleag'), and it has two floc child elements, one for the adults (attribute age='a') and one for the immatures (age='i'), like this:

    <form ab6='baleag'>
      <floc age='a' count='2'/>
      <floc age='i' count='1'/>

However, in the great majority of cases, there will be only one sighting of a species in a day's notes. If we always required a floc element for information about a sighting, we would need two elements for each sighting. For example, suppose the field notes just say “we saw American Coots today.” If a floc element were required, it would have no content, and the XML would look like this:

    <form ab6='amecoo'>

So, effectively we allow the XML to omit the floc child element if there is nothing in it, so the above record becomes much simpler:

    <form ab6='amecoo'/>

To reduce redundancy, all locality data not explicitly present in the form element are inherited by any child floc elements. Here's an example:

    <form ab6='baleag' loc='BdA' gps='334807.3n 1065305.2w'>
        Perched in the Display Pond.
      <floc age='a' count='2'/>
      <floc age='i' count='1' gps='334803.2n 1065312.3w'/>

The first floc element will inherit the parent loc, gps and loc-detail values. The second floc supplies a different gps value, but it inherits the loc and loc-detail of the parent.