999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

DITA-OT中音樂元素域的擴展方法研究

2013-09-08 10:17:08施運梅劉旭紅
計算機工程與設計 2013年10期
關鍵詞:音樂信息

劉 鵬,施運梅+ ,李 寧,劉旭紅

(1.網絡文化與數字傳播北京市重點實驗室,北京100101;2.北京信息科技大學 計算機學院,北京100101)

0 引 言

達爾文信息類型架構 (darwin information typing architecture,DITA)是一套基于XML的面向主題的數字內容結構化寫作與發布方案[1]。設計DITA的初衷是為了滿足技術文檔寫作和發布的需求,實現 “一次制作,多元發布”的應用要求。DITA-OT (DITA open toolkit)是支持DITA的開源工具,它較好地實現了DITA這一架構。DITA和DITA-OT“一次制作,多元發布”的特點決定了它們可用于復合出版。但復合出版需要對多媒體信息進行發布,而DITA對多媒體內容的支持力度較小,當前僅支持圖形、圖片等,而像音樂這樣的媒體信息無法用DITA表達,這限制了DITA的應用。目前,國外對DITA的研究和應用主要集中在文檔制作方面[2,3],國內的研究主要是通過對DITA進行深入分析,再將其應用到語義信息的組織和技術文檔的編寫上[4-6]。這些研究尚未涉及DITA對音樂的支持。

DITA提供了專門化的方法擴展其應用范圍,這為擴展DITA的音樂表現能力提供了可能性。本文探索了一種在DITA-OT中擴展音樂媒體的方法,主要思想是通過專門化將表現音樂的置標語言音樂擴展置標語言 (music eXtensible markup language,MusicXML)擴展到 DITA-OT中,并在DITA-OT中建立相應的轉換文件,以支持對 MusicXML的轉換。

1 DITA和DITA-OT

1.1 DITA

DITA是IBM公司為結構信息標準化促進組織 (organization for the advancement of structure information standards,OASIS)貢獻的發明,其核心思想是模塊化和可重用。DITA以主題作為文檔內容劃分的基本單元,主題是獨立的信息單元[7]。DITA通過主題圖 (ditamap)將主題按需求組合起來,形成滿足用戶需要的文檔。DITA文檔的組織形式如圖1所示,在每個主題圖文檔中可根據用戶需求將不同的主題重組到一起。

圖1 DITA文檔的組織形式

DITA中只定義了一種一般化的主題類型:topic,并通過基于topic的專門化,擴展出了3種基本的主題類型:概念 (concept)、任務 (task)和參考 (reference)[8]。DITA允許用戶根據自己的需要在這四種主題之上進行專門化,從而實現對DITA的擴展,使DITA能符合更廣泛的用戶需求,例如復合出版領域的需求。DITA專門化的層次結構如圖2所示。

圖2 DITA專門化的層次結構

在DITA中,可以對某一主題類型中所包含的屬性、元素以及該主題類型自身進行專門化,也可以對DITA中現有的主題圖進行專門化。在專門化的過程中,每一個新擴展出來的屬性、元素、主題或主題圖都必須 “繼承于”DITA中同類的基礎結構,并且受這些基礎結構的語法、語義的限制,不能超越這種限制,這便產生了專門化的層次結構。

DITA提供的只是一種體系結構,是一種理論規范,要將其應用到具體實踐中,還需要相應工具的支持,DITA-OT較好地實現了DITA的理論框架,為DITA在實踐中的應用提供了可能。

1.2 DITA-OT

DITA-OT是參考DITA標準實現的一套工具。這個工具用于把DITA內容轉換為可發行格式的文檔,如XHTML、Eclipse Help、HTML Help、JAVAHelp 和 PDF等[9]。DITA-OT的處理流程如圖3所示。

圖3 DITA-OT的處理流程

DITA-OT的處理流程主要分3步:

(1)參數初始化 初始化DITA-OT的環境變量。該步驟由批處理文件Batch script完成。

(2)驗證源文件和創建臨時文件 對源文件 (ditamap或dita)轉換之前,需要根據 DTD (document type definition)或Schema驗證源文件的有效性,即驗證源文件是否符合DITA標準;通過驗證之后,源文件將被DITA-OT中的相關程序分析處理,產生一系列的中間文件。

(3)創建目標輸出文件 Ant(another neat tool)build tool根據DITA-OT自帶腳本或用戶自定義腳本,調用XSLT (eXtensible Stylesheet Language Transformations)processor,XSLT processor根據XSLT stylesheet(樣式表)中的內容,對中間文件進行轉換,得到最終的輸出結果。

XSLT樣式表用于將DITA文檔轉換為其它格式的文檔,如XHTML、PDF等。DITA-OT自帶一些XSLT樣式表,但是這些樣式表不足以滿足用戶需求。在專門化的時候,要在DITA-OT中加入用戶自己編寫的XSLT樣式表。大多數情況下用戶編寫自己的XSLT樣式表就能實現轉換,但是也有樣式表無法完成的轉換,此時需要編寫JAVA程序完成轉換任務。

DITA-OT提供了四種專門化方式[10]:屬性專門化、元素域專門化、主題專門化和主題圖專門化。其中,元素域專門化是向DITA-OT中添加新的元素。

在元素域專門化時需要建立擴展名分別為mod、ent和dtd的3個文件。其中,mod和ent文件構成了對新的元素域的描述,dtd是一個外殼文件,它將mod和ent文件包含進來,并聲明包含新的元素域的主題類型。具體地說,mod文件聲明了新的元素域內包含的所有元素信息,例如新元素的名字、屬性等信息;ent文件主要包含用于描述元素域的一些實體的聲明,使用這些實體來表示關于該元素域的一些描述,并通過對這些實體的引用來將該元素域集成到某一具體的主題類型中。

DITA-OT本身不提供對音樂的支持,如果需要增加此項功能,必須通過專門化的手段。元素域專門化可以將表現音樂的MusicXML元素添加到DITA-OT中。

2 音樂擴展置標語言MusicXML

音樂擴展置標語言 MusicXML是由Recordare公司開發的一種置標語言[11]。MusicXML的最大優點是它基于XML技術,非常便于在網絡交換,閱讀方便,結構清晰。MusicXML技術在出現后,發展非常迅速。目前,MusicXML已經被超過100多種音樂應用程序所支持,如美國MakeMusic公司的Finale系列,Recordare公司的Dolet 4 for Finale等。

MusicXML對于音樂信息的記錄非常全面規范,包括屬性結點在內,共有超過600個結點,這些結點可以分為四個大類:都柏林核心集類的結點、關于布局的元素、整體的頭部數據和具體的音樂數據。最后一大類的信息量最大、最具體,直接和樂理相關。下面是用MusicXML所寫的 《新年好》樂譜的主要部分:

上述xml文件中以<score-partwise>作為根元素,表明該文檔是以聲部為依據來記錄樂譜信息的,<creditwords>元素指定了樂譜的名字為 “新年好”,<part>元素表示聲部,本樂譜中只有一個聲部,故只有一個<part>元素,<part-name>元素指定了該聲部的名字為 “Piano”,<instrument-name>元素指定了該聲部使用鋼琴 (Piano)來演奏,<measure>元素表示小節,其中包括了該小節內所有音符的音名、音高等信息,上述文檔中省略了這些信息,<part>元素將所有的小節組合起來,形成最終的樂譜。上述xml文件所表示 《新年好》樂曲的五線譜如圖4所示。

圖4 MusicXML所表示的樂譜

3 在DITA-OT中擴展音樂元素域的方法

DITA-OT中提供了元素域的專門化方法,用于向DITA-OT中添加新的元素。MusicXML是表現音樂的、基于XML的置標語言,可以用DITA-OT所支持的元素域專門化的方法,將 MusicXML的元素添加到DITA-OT中,實現在DITA-OT中擴展音樂元素域的目標。

對于元素域專門化來說,首先需要確定待擴展的基礎元素。topic是DITA中的一般主題,是所有其它主題的基礎,topic中的基礎元素<foreign>可用于擴展多媒體信息[12],因此可以通過對元素<foreign>的專門化,來實現將MusicXML的元素添加到DITA-OT中這一目標。

為實現DITA-OT對新元素的支持,需要定義三個擴展文件:mod、ent和dtd,并通過Ant工具完成 MusicXML的元素域與DITA-OT的結合。除此之外,還應該為專門化定義到不同格式文件的轉換過程,以達到 “一次制作,多元發布”的要求。具體的擴展方法如圖5所示。

圖5 DITA-OT中擴展音樂元素域的方法

DITA-OT中擴展MusicXML元素域的方法主要分為兩部分:對MusicXML元素域的專門化;對專門化的轉換支持。圖5中,虛線框中描述的是元素域的專門化。新的元素域對<foreign>的繼承關系在實體文件.ent中定義,mod文件聲明了MusicXML中所包含的元素和屬性,dtd是將ent和mod文件包裹起來的一個外殼,是DITA-OT尋找新的元素域的入口文件。通過Ant工具,將mod、ent和dtd 3個文件整合到DITA-OT中。

DITA-OT中的Ant工具將XSLT文件/JAVA類文件與XSLT處理模塊/JAR包處理模塊結合,并通過這兩個模塊將DITA文檔轉換為XHTML、PDF、MIDI等不同格式的文件,實現 “一次制作,多元發布”。也就是說,為支持對新元素到不同格式的轉換,需要使用不同的轉換文件。對于易于實現的格式轉換,可以通過XSLT實現,對于復雜格式的轉換,可以借助JAVA程序實現。

4 擴展方法的實現

4.1 MusicXML元素域專門化的實現

根據對音樂元素域的擴展方法,首先要編寫相應的mod、ent和dtd文件。這3個文件既可以采用DTD語法,也可以用Schema語法,本文采用的是DTD語法。3個文件的主要內容如下:

(1)musicxmlDomain.mod:

在該文件中主要指定了MusicXML所有元素都是<musicxml>元素的子節點,partwise.dtd文件是描述 MusicXML的DTD文件,在此處使用了MusicXML的partwise.dtd文件,指定與DITA結合的是 MusicXML中以聲部為依據來記錄樂譜的那部分元素。該文件中的最后一句以<musicxml>元素屬性的形式指明了<musicxml>元素是由topic主題類型的<foreign>元素擴展來的。

(2)musicxmlDomain.ent:

在該ent文件中聲明了參數實體musicxml-d-foreign和一般實體musicxml-d-att,前者用于指明新的元素域的根節點<musicxml>是<foreign>元素所表示的概念的子集,后者指明了將新的元素域集成到topic主題類型中,新的元素域的名稱是musicxml-d。

(3)topic.dtd:

該文件將新定義的表示MusicXML的元素域與topic主題類型相結合,其中 “<!ENTITY included-domains "&musicxml-d-att;">”一句表明該topic主題類型中包含了表示MusicXML的元素域。

隨時抹掉核桃砧木上萌發的全部芽眼,以集中養分供給接芽萌發和新梢生長。當新梢長到30 cm以上時,及時摘心,促發二次枝,適時解除接口包扎物。

DITA-OT通過Ant工具將編寫的mod、ent和dtd文件與其原有的DTD文件合并到一起,以供以后對DITA文檔的有效性進行驗證。

4.2 多元發布的實現

按照擴展方法的定義,為了滿足復合出版對多元發布的需求,可以將包含MusicXML元素的DITA文檔以不同的文件格式發布,如XHTML、MIDI、PDF、HTML Help等。本文選擇XHTML作為一種目標格式,用來說明將包含MusicXML元素的DITA文檔轉換為一般文本文件的過程;選擇MIDI作為另一種目標格式,用來說明將包含MusicXML元素的DITA文檔轉換為多媒體文件的過程。

(1)到XHTML的轉換

一般情況下,瀏覽器對XHTML中包含的MusicXML元素不進行解釋,因此,需要將DITA

文檔中的MusicXML元素轉換為瀏覽器能夠解釋的表示方式。SVG (Scalable Vector Graphics,可伸縮矢量圖形)[13]是一種基于XML的圖形置標語言,得到各種瀏覽器的支持。SVG與MusicXML都是基于XML,比較容易使用XSLT實現從MusicXML到SVG的轉換。

在編寫XSLT文件的過程中,主要是根據MusicXML元素所表示的樂譜的內容進行分類,對代表不同內容的元素分別編寫用于轉換的XSLT模板,在模板中設計與該元素對應的SVG元素來表示可視化的樂譜內容。實際上在SVG中,大部分是用表示基本圖形的元素 (如表示直線的元素<line>、表示橢圓的元素<ellipse>等)來 “繪制”樂譜的,表1對其中一些關鍵的轉換進行了解釋。

(2)到MIDI的轉換

DITA文檔到MIDI文件的轉換過程中,主要是提取DITA文檔中的MusicXML元素,并將其轉換為MIDI格式,這個轉換采用的是JAVA 程序。JDK1.3及其更高版本中提供對 MIDI文件操作的JAR 包javax.sound.midi.jar[14],調用該JAR包中相關的類來完成轉換。整個轉換過程主要由兩個JAVA 類完成,這兩個類的調用順序、類名、類的作用、主要函數及其作用如表2所示。

表1 XSLT文件中關鍵部分的說明

表2 JAVA程序關鍵部分的說明

4.3 功能測試

對上文中給出的 《新年好》樂譜進行測試。

將表示該樂譜的MusicXML的內容添加到DITA文檔中,文檔的主要結構如下。編碼中標記 (1)

處省略的內容是上文中提到的 《新年好》樂譜的MusicXML的內容。

在DITA-OT中將上述DITA文檔轉換為XHTML文件,轉換結果如圖6所示。將該結果和圖4中的樂譜進行比較,展現效果一致。

在DITA-OT中將上述DITA文檔轉換為MIDI文件,在樂譜編輯軟件MuseScore中打開轉換成功的MIDI文件,效果如圖7所示。將轉換結果和圖4中的樂譜作比較,樂譜保持一致。使用支持MIDI的播放器播放該MIDI文件,能夠聽到鋼琴演奏的 《新年好》樂曲,并且音質良好。

圖6 轉換生成的XHTML文件

圖7 轉換生成的MIDI文件在MuseScore中的顯示效果

5 結束語

本文研究了一種在DITA-OT中擴展音樂內容的方法,彌補了DITA-OT對于音樂信息支持能力的不足,并為在DITA-OT中擴展其它媒體類型提供了一些借鑒之處。但是這個工作剛剛起步,要達到實用性的效果,還有許多內容需要研究,例如完善DITA-OT對于音樂信息的支持能力、研究轉換后的文件和用戶的交互方法、以及轉換后的文件對各種平臺的自適應性等。

除音樂這種媒體形式外,DITA-OT對于各種媒體的支持能力還有待增強,例如對音頻、視頻的支持能力。還應該開展DITA-OT對各種音頻、視頻信息的擴展方法的研究,使其能夠全面地支持多媒體信息的發布,能夠更好地滿足復合出版對 “一次制作,多元發布”以及豐富的多媒體信息的要求。

[1]YANG Gongliang,LI Xiaolei.Evolved structured information system architecting-DITA-based architecture and writing best practice [J].Digital Library Forum,2012 (4):10-16 (in Chinese).[楊公亮,栗曉磊.“進化型”結構化信息體系的構建--基于DITA結構化信息體系的架構及實施技術路線 [J].數字圖書館論壇,2012 (4):10-16.]

[2]Aidan Kehoe & Ian Pitt.Transforming.DITA topics for speech synthesis output [C]//New York,America,2007:147-148.

[3]Oscar Díaz & Felipe I Anfurrutia &Jon Kortabitarte.Using DITA for documenting software product lines [C].New York,America,2009:231-240.

[4]FAN Wei.A study on darwin information typing architecture[J].Journal of Intelligence,2009,28 (11):172-175 (in Chinese).[范煒.達爾文信息類型架構DITA研究 [J].情報雜志,2009,28 (11):172-175.]

[5]ZHU Ying.A study on the DITA-based writing of technical documents[D].Beijing:Peking University,2010 (in Chinese).[祝穎.基于DITA的技術文檔寫作研究 [D].北京:北京大學,2010.]

[6]LI Junyu.Design and implementation of DITA-based NGN core network documentation development[D].Shanghai:Shanghai Jiaotong University,2011 (in Chinese).[李俊瑀.基于DITA的NGN核心網文檔開發的設計和實現 [D].上海:上海交通大學,2011.]

[7]FAN Kai.Design and implementation of compound document architecture [D].Beijing:Beijing Information Science &Technology University,2010 (in Chinese).[樊凱.復合文檔架構的研究與實現 [D].北京:北京信息科技大學,2010.]

[8]Eliot Kimber.DITA for practitioners:Vol.1architecture and technology [M].First Edition.California,America:XML Press,2012.

[9]DITA open tookit1.5.4 [EB/OL]. [2012-11-25].http://dita-ot.sourceforge.net/1.5.4/.

[10]DITA configuration and specialization tutorial [EB/OL].[2012-11-25].http://xiruss.org/tutorials/ dita-specialization/dita-specialization-tutorial.pdf.

[11]MusicXML[EB/OL].[2012-11-25].http://zh.wikipedia.org/wiki/MusicXML.

[12]Darwin information typing architecture (DITA)version 1.2[S].2010.

[13]Scalable Vector Graphics (SVG)1.1 [S].2nd ed.2011.

[14]JavaTMPlatform,Standard edition 6API specification [EB/OL].[2012-11-25].http://docs.oracle.com/javase/6/docs/api/.

猜你喜歡
音樂信息
奇妙的“自然音樂”
音樂從哪里來?
藝術啟蒙(2018年7期)2018-08-23 09:14:16
圣誕音樂路
兒童繪本(2017年24期)2018-01-07 15:51:37
訂閱信息
中華手工(2017年2期)2017-06-06 23:00:31
音樂
展會信息
中外會展(2014年4期)2014-11-27 07:46:46
音樂
秋夜的音樂
信息
建筑創作(2001年3期)2001-08-22 18:48:14
健康信息
祝您健康(1987年3期)1987-12-30 09:52:32
主站蜘蛛池模板: 日本高清免费一本在线观看 | 日韩福利在线观看| 国产玖玖玖精品视频| 欧美一级在线| 国产精品视频观看裸模| 成年片色大黄全免费网站久久| 久草中文网| 99热这里只有精品免费| 亚洲另类国产欧美一区二区| 成人午夜免费视频| 99成人在线观看| 国产成人啪视频一区二区三区| 久久亚洲日本不卡一区二区| 欧美福利在线观看| 国产成人精品18| 国产剧情一区二区| 国产精品无码久久久久AV| 超碰91免费人妻| 国产日韩欧美一区二区三区在线 | 亚洲人成在线精品| 99精品高清在线播放| 欧美亚洲第一页| 亚洲成网777777国产精品| 亚洲日韩图片专区第1页| 99在线视频免费| 久久香蕉国产线| 这里只有精品免费视频| 女同国产精品一区二区| 丰满的熟女一区二区三区l| 亚洲乱码在线视频| 伊人国产无码高清视频| 熟妇无码人妻| 欧美专区在线观看| 免费国产一级 片内射老| 午夜精品福利影院| a级毛片视频免费观看| 国产丝袜91| 亚洲综合经典在线一区二区| 国产jizz| 免费人成网站在线观看欧美| 国产精品美人久久久久久AV| 国产一区二区三区免费观看| 欧美亚洲欧美区| 91视频免费观看网站| 亚洲一区无码在线| 一本大道视频精品人妻| 色妞永久免费视频| 午夜免费视频网站| 精品无码日韩国产不卡av| 国产三级精品三级在线观看| 国产精品亚洲精品爽爽| 美女毛片在线| 毛片卡一卡二| 国产区福利小视频在线观看尤物| 日韩精品久久无码中文字幕色欲| 黄色在线不卡| 中美日韩在线网免费毛片视频| 欧美午夜在线视频| 动漫精品中文字幕无码| 色噜噜在线观看| 免费观看男人免费桶女人视频| 亚洲综合极品香蕉久久网| 一级一级一片免费| 国产精品久久久精品三级| 国产激情在线视频| 欧美精品一二三区| 中国黄色一级视频| 丝袜国产一区| 欧美精品三级在线| 三上悠亚在线精品二区| 国产精品三级av及在线观看| 在线看片免费人成视久网下载| 自拍偷拍欧美| 国产丝袜无码精品| 国产国语一级毛片| 久久无码免费束人妻| 久久美女精品| 中文字幕免费在线视频| 国产麻豆精品手机在线观看| 精品一区二区三区四区五区| 怡春院欧美一区二区三区免费| 无码日韩人妻精品久久蜜桃|