Modular Design of the Music Encoding Initiative MEI DTD - PowerPoint PPT Presentation

1 / 15
About This Presentation
Title:

Modular Design of the Music Encoding Initiative MEI DTD

Description:

Modular Design of the Music Encoding Initiative (MEI) DTD. Perry Roland ... MIDI.dtd. text.dtd 'driver' dtd. declares document elements 'includes' remaining modules ... – PowerPoint PPT presentation

Number of Views:109
Avg rating:3.0/5.0
Slides: 16
Provided by: perryr4
Category:

less

Transcript and Presenter's Notes

Title: Modular Design of the Music Encoding Initiative MEI DTD


1
Modular Design of the Music Encoding Initiative
(MEI) DTD
  • Perry Roland
  • Digital Library Research Development Group
  • Alderman Library
  • University of Virginia
  • pdr4h_at_virginia.edu
  • http//www.people.virginia.edu/pdr4h/

2
MEI DTD modules
  • mei.dtd driver
  • meiExtensions.ent
  • meiGis.ent
  • meiKey.ent
  • meiChars.ent
  • meiNotats.ent
  • meiClas.ent
  • meiExtensions.dtd
  • tagsets
  • base.dtd
  • head.dtd
  • bar.dtd
  • MIDI.dtd
  • text.dtd

3
"driver" dtd
  • declares document elements
  • "includes" remaining modules
  • To do declare elements common to remaining
    modules in order to eliminate dependencies among
    modules

4
Element names
  • declare location of file containing parameter
    entities
  • lt!ENTITY meiElementNames SYSTEM
    'meiGis.ent'gt meiElementNames
  • parameter entities declare the default names of
    elements
  • lt!ENTITY n.score score" gt
  • each element "knows" its canonical name via a
    meiform attribute which has a FIXED value
  • meiform CDATA FIXED 'score'

5
Name flexibility allows
  • longer, descriptive names for new users and user
    interface design
  • lt!ENTITY n.score putScoreHere" gt
  • shorter, mnemonic ones for experienced users and
    reduction of storage requirements
  • lt!ENTITY n.score "s" gt
  • internationalization
  • lt!ENTITY n.score "partitur" gt
  • lt!ENTITY n.score ??" gt
  • extension mechanism based on concept name
  • lt!ELEMENT foo (PCDATA)gt
  • lt!ATTLIST foo meiform CDATA FIXED "note"gt

6
Keywords
  • declare location of file containing parameter
    entities
  • lt!ENTITY meiKeywords SYSTEM 'meiKey.ent'gt
  • keyword parameter entities declare
  • rules or constraints which cannot be fully
    expressed in attribute declarations
    data-types
  • lt!ENTITY ISODATE 'CDATA'gt
  • lt!-- ISO date format YYYYMMDD --gt
  • attribute value lists
  • lt!ENTITY PITCHNAME '(abcdefg)'gt
  • do attribute value lists belong in meiClas.ent
    instead?

7
Characters
  • declare location of file containing character
    entity declarations
  • lt!ENTITY meiCharacters SYSTEM 'meiChars.ent'gt
    meiCharacters
  • useful for discrete, pre-defined Unicode
    characters
  • lt!ENTITY aacute "x00E1"gt
    lt!-- LATIN SMALL LETTER A WITH ACUTE --gt
  • may be used for user-defined characters, but
    rendering is processor-dependent
  • How can character rendering be defined within the
    document itself?

8
Notations
  • declare location of file containing notation
    declarations
  • lt!ENTITY meiNotations SYSTEM 'meiNotats.ent'gt
    meiNotations
  • notation declarations state acceptable media
    types
  • lt!NOTATION jpeg SYSTEM "jpg"gt
  • lt!NOTATION wav SYSTEM "wav"gt
  • notations allow validation
  • ltpb entityref"page1.jpeg" /gt ?
  • ltpb href"page1.jpeg" /gt ?


9
Attribute element classes
  • declare location of file containing shared
    attributes and content models
  • lt!ENTITY meiClasses SYSTEM 'meiClas.ent'gt
    meiClasses
  • classes modified via meiExtensions.ent, not by
    direct editing of meiClas.ent!
  • Do attribute value list declarations belong here
    instead of in meiKey.ent?

10
meiClas.ent excerpts
  • lt!ENTITY a.common
  • "id ID
    IMPLIED
  • type CDATA
    IMPLIED"gt
  • lt!ENTITY m.events.log
  • "n.beamn.beatrptn.btre
    mn.chordn.ftrem
  • n.noten.padn.restn.
    spacen.tuplet"gt
  • lt!ENTITY a.log.note
  • "acci
    ACCIDENTAL.EXPLICIT IMPLIED
  • artic
    ARTICULATIONS IMPLIED
  • beam BEAMS
    IMPLIED
  • dots
    AUGMENTDOT IMPLIED
  • lyricsyl CDATA
    IMPLIED
  • oct OCTAVES
    PROPAGATED
  • pname
    PITCHNAME PROPAGATED
  • pnum
    PITCHNUMBER IMPLIED
  • tabfret CDATA
    IMPLIED
  • tie TIES
    IMPLIED"gt

11
MEIextensions.ent
  • default declaration contains an empty string in
    case the user has no modifications
  • lt!ENTITY meiExtensions.ent '' gt
    meiExtensions.ent
  • declare location of file containing local
    modifications to MEI parameter entities in
    internal DTD subset
  • lt!ENTITY meiExtensions.ent 'Chinese.ent' gt
    meiExtensions.ent
  • because meiExtensions.ent is read before
    meiClas.ent, parameter entities declared in the
    file it points to override the default
    declarations

12
Chinese.ent overrides default declarations
  • lt!-- rename score element--gt
  • lt!ENTITY n.score "2713835676" gt
  • lt!- octave and pname values--gt
  • lt!ENTITY OCTAVES "(lingyiersansiwuLiuQib
    ajiu)"gt
  • lt!ENTITY PITCHNAME "(hesuyishangchegongti
    liuwu)"gt
  • lt!-- turn off default declaration for note
    element --gt
  • lt!ENTITY note 'IGNORE'gt
  • lt!- declare new attributes --gt
  • lt!ENTITY a.log.note
  • "oct OCTAVES
    REQUIRED
  • pname PITCHNAME
    REQUIRED"gt

13
MEIextensions.dtd
  • default declaration contains an empty string in
    case the user has no modifications
  • lt!ENTITY meiExtensions.dtd '' gt
    meiExtensions.dtd
  • declare location of file containing local
    modifications to MEI elements
  • lt!ENTITY meiExtensions.dtd 'Chinese.dtd' gt
    meiExtensions.dtd
  • because meiExtensions.dtd is read before the
    other tagsets, elements declared in the file it
    points to override the default declarations
  • however, default element declarations must still
    be explicitly "turned off"

14
Chinese.dtd
  • re-declaration of existing element content model
  • lt!ELEMENT n.note (n.accidn.artic)gt
  • lt!ELEMENT n.note(n.accidn.articn.pitch
    )gt
  • and declaration for new element
  • lt!ELEMENT n.pitch (PCDATA)gt
  • lt!ATTLIST n.pitch
  • meiform CDATA FIXED
    'pitch'
  • a.common gt

15
Modular Design of the Music Encoding Initiative
(MEI) DTD
  • Perry Roland
  • Digital Library Research Development Group
  • Alderman Library
  • University of Virginia
  • pdr4h_at_virginia.edu
  • http//www.people.virginia.edu/pdr4h/
Write a Comment
User Comments (0)
About PowerShow.com