Exemplo n.º 1
0
        public WriteTranscription(string query, byte[] requestBody)
        {
            var parsedQuery   = HttpUtility.ParseQueryString(query);
            var taskid        = parsedQuery["task"];
            var length        = parsedQuery["length"];
            var lang          = parsedQuery["lang"];
            var transcription = Util.GetRequestElement(requestBody, "text");
            var xml           = GetResource.XmlTemplate("transcription.eaf");

            UpdateXml(xml, "@DATE", DateTime.UtcNow.ToLocalTime().ToString("yyyy-MM-ddTHH:mm:ss.fffzzz"));
            UpdateXml(xml, "*[local-name()='ANNOTATION_VALUE']", transcription);
            UpdateXml(xml, "@DEFAULT_LOCALE", lang);
            UpdateXml(xml, "@LANGUAGE_CODE", lang);
            var miliseconds = float.Parse(length) * 1000.0;
            var duration    = miliseconds.ToString("F0");

            UpdateXml(xml, "*[@TIME_SLOT_ID='ts2']/@TIME_VALUE", duration);

            var folder = Util.FileFolder(taskid);
            var name   = taskid;
            var ext    = Path.GetExtension(name);

            UpdateXml(xml, "@MEDIA_FILE", name);
            UpdateXml(xml, "@MEDIA_URL", name);
            UpdateXml(xml, "@MIME_TYPE", ext == ".mp3" ? "audio/x-mp3" : "audio/x-wav");
            var outName = Path.Combine(folder, Path.GetFileNameWithoutExtension(name) + ".eaf");

            using (var xw = XmlWriter.Create(outName, new XmlWriterSettings {
                Indent = true
            }))
            {
                xml.Save(xw);
            }
        }
Exemplo n.º 2
0
        public static XmlDocument LoadXmlData(string name)
        {
            var fullName = XmlFullName(name);

            if (!File.Exists(fullName))
            {
                GetResource.DefaultData(name);
            }
            var xDoc = new XmlDocument();

            using (var xr = XmlReader.Create(fullName))
            {
                xDoc.Load(xr);
            }
            return(xDoc);
        }