Sourcecode Listing of

http://www.scribeserver.com/NEUMES/xml/glyphs_manifest.xsd





Color Key :   [•] XML code      [•] XML code annotation      [•] XML comment   

Line
0001 <?xml version="1.0" encoding="UTF-8" standalone="no" ?>
0002 <!--
0003 *   Glyphs Manifest Schema file generated on 17 March 2008.
0004 *   Filename: http://www.scribeserver.com/NEUMES/xml/glyphs_manifest.xsd
0005 *   Version: 1.0.e
0006 *   Owner: The NEUMES Project
0007 *    (Neumed and Ecphonetic Universal Manuscript Encoding Standard)
0008 *    for details see, http://purl.oclc.org/SCRIBE/NEUMES/
0009 *   Authors: Louis W. G. Barton with Barry Ng
0010 *   Type: XML Schema
0011 -->
0012 
0013 <!--   Glyphs Manifest Schema
0014    This is an XML (Extensible Markup Language) Schema for documenting the
0015    vital data about glyph image sets of various kinds of early musical
0016    notation (called 'neume' notations). The image sets are used principally
0017    by applications programs for NeumesXML, which is an XML application for
0018    describing medieval chant manuscript artifacts and transcribing their
0019    content to the NEUMES data representation (Neumed and Ekphonetic Universal
0020    Manuscript Encoding Standard).
0021 
0022    Protected by law under one or more of the following copyrights:
0023    Copyright 2005-2007, The University of Oxford.
0024    Copyright 2003-2005, Louis W. G. Barton.
0025    Copyright 2002-2003, The President and Fellows of Harvard College; contains
0026    software or other intellectual property licensed from Louis W. G. Barton,
0027    copyright 1995-2001 by Louis W. G. Barton.
0028 -->
0029 
0030 
0031 <!--  PROGRAMMER'S NOTES:
0032 * To-do: add baseline of final tone?
0033 * Best practicess for tag names:
0034   Full words should be used for the benefit of non-English-speaking users, such that
0035   they might understand the meaning of tags by consulting a dictionary.
0036   To avoid naming confusion, do not use "type", "value", or "name" as names of Attributes.
0037 * Default value of Elements for _minOccurs_ and _maxOccurs_ = 1.
0038 * The NCName type is a string (not beginning with '_') containing no space or colon.
0039 * Revision History:
0040 * - 25 July 2007 [LB]: Changed regular expression for .gif filename in 'gifName_Type'
0041   (a) to allow hyphen character ('-'), and (b) to require a letter as the first character.
0042 [end, PROGRAMMER'S NOTES] -->
0043 
0044 
0045 <!-- *************** ROOT ELEMENT: *************** -->
0046 <xsd:schema
0047    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
0048    targetNamespace="http://www.scribeserver.com/NEUMES/xml/glyphs_manifest"
0049    xmlns="http://www.scribeserver.com/NEUMES/xml/glyphs_manifest"
0050    elementFormDefault="qualified"
0051    attributeFormDefault="unqualified"
0052 >
0053 <!-- * No comments allowed inside the schema tag.
0054 [End, Root Element] -->
0055 
0056 
0057 <!-- *************** Glyphs Manifest: *************** -->
0058 
0059 <xsd:element name="glyphs_manifest">
0060    <xsd:complexType>
0061       <xsd:sequence>
0062          <xsd:element name="notation" type="notation_Type"/>
0063          <xsd:element name="glyphSetProperties" type="glyphSetProperties_Type"/>
0064          <xsd:element name="glyph" type="glyph_Type" maxOccurs="unbounded"/>
0065       </xsd:sequence>
0066    </xsd:complexType>
0067 </xsd:element>
0068 <!--[end, glyphs_manifest]-->
0069 
0070 
0071 <!-- *************** NCName_ext type: *************** -->
0072 <xsd:simpleType name="NCName_ext" id="NCName_ext">
0073    <xsd:annotation>
0074       <xsd:documentation xml:lang="en">
0075       Like the NCName type (a string not beginning with '_' and containing no space
0076       or colon), with addition of the '/', '+', and '-' characters; length must be
0077       one char or greater.
0078       </xsd:documentation>
0079    </xsd:annotation>
0080    <xsd:restriction base="xsd:string">
0081       <xsd:pattern value="[a-zA-Z]([/+\-0-9A-Z_a-z])*"/>
0082    </xsd:restriction>
0083 </xsd:simpleType>
0084 
0085 
0086 <!-- *************** Notation Type: *************** -->
0087 <xsd:complexType name="notation_Type">
0088    <xsd:annotation>
0089       <xsd:documentation xml:lang="en">
0090       The type of musical notation this glyph set is intended for.
0091       Example: description="Aquitanian unheighted notation" discipline="Western"
0092       family="Aquitanian" species="unpitched" heighted="false" pitched="false".
0093       </xsd:documentation>
0094    </xsd:annotation>
0095    <xsd:attribute name="description" type="xsd:string" use="optional"/>
0096    <xsd:attribute name="discipline" type="discipline_Type" use="required"/>
0097    <xsd:attribute name="family" type="xsd:NCName" use="required"/>
0098    <xsd:attribute name="species" type="NCName_ext" use="optional"/>
0099    <xsd:attribute name="heighted" type="xsd:boolean" use="optional">
0100       <xsd:annotation>
0101          <xsd:documentation xml:lang="en">
0102          Declares whether the neumatic symbols have semantic 'height'
0103          (i.e., vertical offset above the chant text) in relation to one another
0104          = 'true'; or else the symbols can be represented in a straight line
0105          without loss of meaning = 'false'.
0106          </xsd:documentation>
0107       </xsd:annotation>
0108    </xsd:attribute>
0109    <xsd:attribute name="pitched" type="xsd:boolean" use="optional">
0110       <xsd:annotation>
0111          <xsd:documentation xml:lang="en">
0112          Declares whether the notation specifies pitches of neumatic symbols
0113          (either modal or tonal pitch, specified either by symbol height or
0114          by auxiliary notation) = 'true'; or else pitches are not explicit in
0115          the notation = 'false'.
0116          </xsd:documentation>
0117       </xsd:annotation>
0118    </xsd:attribute>
0119 </xsd:complexType>
0120 <!--[end, notation_Type]-->
0121 
0122 
0123 <!-- *************** Glyph Set Properties Type: *************** -->
0124 <xsd:complexType name="glyphSetProperties_Type">
0125    <xsd:attribute name="virtual_path" type="xsd:anyURI" use="required">
0126       <xsd:annotation>
0127          <xsd:documentation xml:lang="en">
0128          URL path of the /images/ directory containing the glyph image set.
0129          Example: virtual_path="http://purl.oclc.org/NEUMES/ref/images/aquitanian/".
0130          </xsd:documentation>
0131       </xsd:annotation>
0132    </xsd:attribute>
0133    <xsd:attribute name="physical_basepath" type="xsd:string"
0134       fixed="/home/scribeserver/jakarta-tomcat-5.0.19/webapps/ROOT/NEUMES/xml/images/">
0135       <xsd:annotation>
0136          <xsd:documentation xml:lang="en">
0137          Basepath on the SCRIBE server of the 'NEUMES/xml/images/' directory.
0138          </xsd:documentation>
0139       </xsd:annotation>
0140    </xsd:attribute>
0141    <xsd:attribute name="physical_localpath" type="xsd:string" use="required">
0142       <xsd:annotation>
0143          <xsd:documentation xml:lang="en">
0144          Path on the SCRIBE server within the 'NEUMES/xml/images/' directory
0145          hierarchy for this glyph image set.
0146          Example: physical_localpath="aquitanian/".
0147          </xsd:documentation>
0148       </xsd:annotation>
0149    </xsd:attribute>
0150    <xsd:attribute name="tallestGlyph" type="dimension_Type" use="required">
0151       <xsd:annotation>
0152          <xsd:documentation xml:lang="en">
0153          Greatest Y-axis dimension among the images in this glyph set.
0154          Example: tallestGlyph="41".
0155          </xsd:documentation>
0156       </xsd:annotation>
0157    </xsd:attribute>
0158    <xsd:attribute name="widestGlyph" type="dimension_Type" use="required">
0159       <xsd:annotation>
0160          <xsd:documentation xml:lang="en">
0161          Greatest X-axis dimension among the images in this glyph set.
0162          Example: widestGlyph="43".
0163          </xsd:documentation>
0164       </xsd:annotation>
0165    </xsd:attribute>
0166 </xsd:complexType>
0167 <!--[end, glyphSetProperties_Type]-->
0168 
0169 
0170 <!-- *************** Glyph Type: *************** -->
0171 <xsd:complexType name="glyph_Type">
0172    <xsd:attribute name="description" type="xsd:string" use="required">
0173       <xsd:annotation>
0174          <xsd:documentation xml:lang="en">
0175          The description of the corresponding abstract symbol from the file
0176          'NEUMES_characters.xml'. If this glyph is a substitute style, then the
0177          description will be followed by a declaration of the substitute style.
0178          Example: description="punctum. Substitute style 2".
0179          </xsd:documentation>
0180       </xsd:annotation>
0181    </xsd:attribute>
0182    <xsd:attribute name="tones" type="xsd:integer" use="required">
0183       <xsd:annotation>
0184          <xsd:documentation xml:lang="en">
0185          An integer {0, 1, 2, 3, ...}, corresponding to the number of tones in the
0186          abstract symbol type (as documented in the file 'NEUMES_characters.xml').
0187          </xsd:documentation>
0188       </xsd:annotation>
0189    </xsd:attribute>
0190    <xsd:attribute name="mnemonic_code" type="xsd:string" use="required">
0191       <xsd:annotation>
0192          <xsd:documentation xml:lang="en">
0193          The mnemonic of the corresponding abstract symbol type (as documented in
0194          the file 'NEUMES_characters.xml'). If this glyph is a substitute style,
0195          then NEUMES transcriptions will use this mnemonic followed by a substitute
0196          style mnemonic, such as "subst2".
0197          Example: mnemonic_code="punctum".
0198          </xsd:documentation>
0199       </xsd:annotation>
0200    </xsd:attribute>
0201    <xsd:attribute name="substitute_style" type="xsd:integer" use="optional">
0202       <xsd:annotation>
0203          <xsd:documentation xml:lang="en">
0204          An optional integer {2, 3, ...} if this glyph is a substitue style.
0205          If this glyph is not a substitute style, then this attribute is null.
0206          Example: substitute_style="2".
0207          </xsd:documentation>
0208       </xsd:annotation>
0209    </xsd:attribute>
0210    <xsd:attribute name="filename" type="gifName_Type" use="required">
0211       <xsd:annotation>
0212          <xsd:documentation xml:lang="en">
0213          The filename of this glyph image.
0214          Example: filename="punctum_2.gif".
0215          </xsd:documentation>
0216       </xsd:annotation>
0217    </xsd:attribute>
0218    <xsd:attribute name="width" type="dimension_Type" use="required">
0219       <xsd:annotation>
0220          <xsd:documentation xml:lang="en">
0221          Width of this image, measured in pixels.
0222          Example: width="12".
0223          </xsd:documentation>
0224       </xsd:annotation>
0225    </xsd:attribute>
0226    <xsd:attribute name="height" type="dimension_Type" use="required">
0227       <xsd:annotation>
0228          <xsd:documentation xml:lang="en">
0229          Height of this image, measured in pixels.
0230          Example: height="40".
0231          </xsd:documentation>
0232       </xsd:annotation>
0233    </xsd:attribute>
0234    <xsd:attribute name="baseline" type="dimension_Type" use="optional">
0235       <xsd:annotation>
0236          <xsd:documentation xml:lang="en">
0237          Position in the glyph image that should serve as its typographical
0238          'baseline'. This is measured in pixels, counting up from the bottom
0239          of the image to the point in the image that should be its typographical
0240          'baseline'. In glyphs of more than one tone, this shall be the distance
0241          from image-bottom to the baseline of the first tone in the glyph.
0242          Example: baseline="34".
0243          </xsd:documentation>
0244       </xsd:annotation>
0245    </xsd:attribute>
0246 </xsd:complexType>
0247 <!--[end, glyph_Type]-->
0248 
0249 
0250 <!-- *************** Discipline Type: *************** -->
0251 <xsd:simpleType name="discipline_Type">
0252    <xsd:annotation>
0253       <xsd:documentation xml:lang="en">
0254       The ecclesiastical discipline that uses this notation (viz., Eastern or Western).
0255       </xsd:documentation>
0256    </xsd:annotation>
0257    <xsd:restriction base="xsd:NCName">
0258       <xsd:enumeration value="Eastern"/>
0259       <xsd:enumeration value="Western"/>
0260    </xsd:restriction>
0261 </xsd:simpleType>
0262 <!--[end, discipline_Type]-->
0263 
0264 
0265 <!-- *************** Dimension Type: *************** -->
0266 <xsd:simpleType name="dimension_Type">
0267    <xsd:annotation>
0268       <xsd:documentation xml:lang="en">
0269       A dimension, measured in pixels.
0270       </xsd:documentation>
0271    </xsd:annotation>
0272    <xsd:restriction base="xsd:integer"/>
0273 </xsd:simpleType>
0274 <!--[end, dimension_Type]-->
0275 
0276 
0277 <!-- *************** NEUMES Character Type: *************** -->
0278 <xsd:simpleType name="NEUMES_char_Type">
0279    <xsd:annotation>
0280       <xsd:documentation xml:lang="en">
0281       Unicode[tm] Private Use Area characters in the NEUMES codespace.
0282       Example: "E13B".
0283       </xsd:documentation>
0284    </xsd:annotation>
0285    <xsd:restriction base="xsd:hexBinary">
0286       <xsd:pattern value="(\p{IsPrivateUse})"/>
0287    </xsd:restriction>
0288 </xsd:simpleType>
0289 <!--[end, NEUMES_char_Type]-->
0290 
0291 
0292 <!-- *************** GIF Name Type: *************** -->
0293 <xsd:simpleType name="gifName_Type">
0294    <xsd:annotation>
0295       <xsd:documentation xml:lang="en">
0296       Allowable filenames for glyph images.
0297       </xsd:documentation>
0298    </xsd:annotation>
0299    <xsd:restriction base="xsd:string">
0300       <xsd:pattern value="[A-Za-z][-_0-9A-Za-z]*.gif"/>
0301    </xsd:restriction>
0302 </xsd:simpleType>
0303 <!--[end, gifName_Type]-->
0304 
0305 </xsd:schema>
0306 <!--[end, glyphs_manifest.xsd]-->
= END LISTING =