using System; using System.Collections.Generic; using System.Xml.Serialization; /// /// Represends a manageable collection of syllables, consonants and/or vowels. /// [XmlRoot] public class Syllabary : ICloneable { /// /// The title of the syllabary, like a language. /// [XmlElement("Title")] public string title { get; set; } /// /// The list of syllable the syllabary contains. A syllable is a combination of consonants and vowels. /// [XmlArray("Syllables")] [XmlArrayItem("Syllable")] public List syllables { get; set; } /// /// The list of consonants the syllabary contains. A consonant is a speech sound that is articulated with complete or partial closure of the vocal tract. /// [XmlArray("Consonants")] [XmlArrayItem("consonant")] public List consonants { get; set; } /// /// The list of vowels or semivowels the syllabary contains. A vowel is a sound pronounced with an open vocal tract so that there is no build-up of air pressure at any point above the glottis. /// [XmlArray("Vowels")] [XmlArrayItem("Vowel")] public List vowels { get; set; } /// /// The way the software will join a syllable with the previous added element. /// [XmlElement("beforeSyllable")] public BeforeSyllable beforeSyllable; /// /// The way the software will join the next element with the added syllable. /// [XmlElement("afterSyllable")] public AfterSyllable afterSyllable; public Syllabary() { this.syllables = new List(); this.consonants = new List(); this.vowels = new List(); } protected Syllabary(Syllabary aSyllabary) { title = aSyllabary.title; syllables = new List(aSyllabary.syllables); consonants = new List(aSyllabary.consonants); vowels = new List(aSyllabary.vowels); beforeSyllable = aSyllabary.beforeSyllable; afterSyllable = aSyllabary.afterSyllable; } public object Clone() { return new Syllabary(this); } }