DTD for Description

Barringer, Kerry kerrybarringer at BBG.ORG
Tue Nov 27 11:18:56 CET 2001


        Attached is an attempt at a usuable DTD for taxonomic descriptions.
It is modified from a Taxonomic Document Markup based largely on DELTA
format data.  I modified the original based on the mailing list
contributions of Steve Shattuck, L. Dodds, and G. Rousse.

        The most visible difference is use of attributes to hold information
without real-world meaning.  This is based on current modelling techniques
and is explained by Rouse in his posting of Nov. 23 much more clearly than I
could explain it.  There are also many attributes derived from the DELTA
format which may not be applicable.

        I would like to omit the attribute for order from the standard.  If
each taxon/specimen, character, and state is uniquely identified, then
ordering is more flexibly handled in XSL.  This would allow those who want
to order based on alphabet, a character state (as in field guides), inferred
relationships, etc. to do as they please without changing the data.  Because
of the nature of XML, each description will be part of a higher element,
usually either a specimen or a taxon.  It is these entities that are
ordered, not the descriptions themselves.  Within a description, the
ordering and selection of characters is easiest with XSL or other
processing.  This allow the author (or compiler) of the document to arrange
characters in a way that makes sense for the treatment.

        The summary outline is also included in the DTD.

Description
        Heading
        Character
                CharName
                        codedCharName
                        textCharName
                State
                        Connector
                        Qualifier
                        codedStateName
                        textStateName
                        Comment
                Comment
                Character


        For those still looking for XML/XSL tools, I recommend XML Cooktop
for Windows  http://www.xmleverywhere.com as a good general editor, it
handles DTD's and Schema' as text files for editing, but otherwise is good
and the XSL editing and testing is excellent.

        I apologize for using DTDs instead of Schemas.  It is the language I
know and have been using for a while now.  For me, they are a little clearer
and easier to understand, even if they are not quite as flexible. If the
group wants only Schemas, I will learn that next.  There is a good utility
for converting DTDs to Schemas at
http://puvogel.informatik.med.uni-giessen.de/dtd2xs/

        In the next few days, I will send in some markup of challenge cases
and XSL routines.

Kerry


^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Kerry Barringer (Curator of the Herbarium)

Herbarium                     718-623-7318 (office)
Brooklyn Botanic Garden 718-941-4774 (fax)
1000 Washington Avenue  718-623-7312 (herbarium)
Brooklyn, NY 11225-1099   U.S.A.

kbarringer at bbg.org      http://www.bbg.org/
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^


------_=_NextPart_000_01C1775F.367A0790
Content-Type: application/octet-stream;
        name="DescrKB112701.dtd"
Content-Disposition: attachment;
        filename="DescrKB112701.dtd"

<!--

DTD for Descriptive data

modified from Taxonomic Document Markup, 27 Nov 2001
modifications based on:
         L. Dodds, SDD maillist 23 Nov 2001
         G. Rouse, SDD maillist 23 Nov 2001

Description
        Heading
        Character
                CharName
                        codedCharName
                        textCharName
                State
                        Connector
                        Qualifier
                        codedStateName
                        textStateName
                        Comment
                Comment
                Character

-->

<!ELEMENT Example (Taxon/Specimen+, Description+)>
<!ELEMENT Taxon/Specimen (#PCDATA)>

<-- The two elements above should not be part of the standard. They are only here to allow the testing of real world examles -->

<!ELEMENT Description (Heading?, character+)>
        <!ATTLIST Description
                Type CDATA #IMPLIED
                itemNumberCDATA #IMPLIED
                >

<!ELEMENT Character (CharName+, State+, Comment*, Character*)
        <!ATTLIST character
                characterType CDATA #IMPLIED
                characterNumber CDATA #IMPLIED
                numberOfStates CDATA #IMPLIED
                <!--order CDATA #IMPLIED                        would this be better handled with XSL stylesheet? is it always of the document not of the character? -->
                reliability CDATA #IMPLIED
                weight CDATA #IMPLIED
                <!-- excluded CDATA #IMPLIED                     exclude? -->
                dependentOn CDATA #IMPLIED
                keyStates CDATA #IMPLIED
                linkTo CDATA #IMPLIED
                applicable CDATA #IMPLIED
        >

<!ELEMENT CharName (codedCharName?, textCharName?)>
        <!ELEMENT codedCharName (#PCDATA)>
        <!ELEMENT textCharName (#PCDATA)>

<!ELEMENT State (Connector?, Qualifier?, codedCharState?, textCharState?, Comment*)>
        <!ATTLIST characterState
                stateType CDATA #IMPLIED <!-- discrete, continuous, etc. -->
                numericType CDATA #IMPLIED <!-- integer, real -->
                defaultValue CDATA #IMPLIED
                allowedValues CDATA #IMPLIED
                <!-- order CDATA #IMPLIED               exclude? -->
                source CDATA #IMPLIED
                measurementSystem CDATA #IMPLIED
        >
        <!ELEMENT codedCharState (#PCDATA)>
        <!ELEMENT textCharState (#PCDATA)>
        <!ELEMENT Connector (#PCDATA)>
        <!ELEMENT Qualifier (#PCDATA)>
        <!ELEMENT Comment (#PCDATA)>
        <!ELEMENT Heading (#PCDATA)>


More information about the tdwg-content mailing list