亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

先進(jìn)的多功能布局和渲染系統(tǒng)、方法和產(chǎn)品的制作方法

文檔序號(hào):6483912閱讀:404來(lái)源:國(guó)知局
專利名稱:先進(jìn)的多功能布局和渲染系統(tǒng)、方法和產(chǎn)品的制作方法
技術(shù)領(lǐng)域
本發(fā)明一般涉及圖形渲染系統(tǒng),本發(fā)明特別涉及一種系統(tǒng)、裝置、方法和物品的制造,其利用例如Macromedia Inc公司的Macromedia FlashTM技術(shù)、Extensible Markup Language(XML)語(yǔ)言以及Mathematical MarkupLanguage(MathML)來(lái)提供更好的交互式圖形應(yīng)用軟件。
有關(guān)Macromedia FlashTM技術(shù)的詳細(xì)內(nèi)容,這包括優(yōu)選的軟件和硬件環(huán)境,可以在各種來(lái)源找到,如Macromedia的網(wǎng)站http//www.macromedia.com,來(lái)自FlashForward和Macromedia Ucon的會(huì)議記錄,在幾本如Friends of Ed,O’Reilly & Co.已出版的書(shū)中,網(wǎng)站上的文章及用戶論壇如We’re Here,F(xiàn)lashKit,UltraShock和Figleaf’s FlashCoders。
有關(guān)XML和MathML的詳細(xì)內(nèi)容,這包括優(yōu)選的軟件和硬件環(huán)境,可以在各種來(lái)源找到,如W3C的網(wǎng)站http//www.w3c.org。特別是,當(dāng)前名稱為“Mathematical Markup Language(MathML)2.0版”的MathML說(shuō)明位于http//www.w3c.org/TR/2001/REC-MathML2-20010221。
上述的每一篇參考文獻(xiàn)以及這里提到其它任一篇參考文獻(xiàn)均以參考的形式并入這里。
背景技術(shù)
當(dāng)前,多媒體信息,這包括文本、圖形、數(shù)字表達(dá)式、符號(hào)以及其它標(biāo)識(shí)(合起來(lái)被稱為“數(shù)學(xué)表達(dá)式”)等是按如下方式開(kāi)發(fā)并表示出來(lái)當(dāng)前的網(wǎng)絡(luò)瀏覽器如Internet ExplorerTM和NetscapeTM等顯示格式化文本和圖形/圖像,然而,只有少數(shù)不知名的網(wǎng)絡(luò)瀏覽器含有本地MathML支持,從而限制了使用。
另一項(xiàng)技術(shù)是利用圖形生成及渲染程序如Macromedia Inc公司的Macromedia Flash MXTM開(kāi)發(fā)工具來(lái)人工生成整個(gè)多媒體布局。然而,人工布局實(shí)際上不可行,因?yàn)槠溟_(kāi)發(fā)成本太高,并且在維護(hù)性、可量測(cè)性和輕便性上均受到限制。
Macromedia Flash PlayerTM及相關(guān)的Flash Plug-inTM顯示的是格式為Hypertext Markup Language(HTML)對(duì)象的樣式文本。然而,這種布局與圖形或數(shù)字表達(dá)式并不具有整體性。
現(xiàn)有的軟件產(chǎn)品是將MathML對(duì)象渲染成圖形格式如JointPhotographic Experts Group(JPEG)格式來(lái)顯示數(shù)字表達(dá)式。然而,為了更為有效,該圖形必須與文本一致。此外,對(duì)圖形進(jìn)行預(yù)渲染或動(dòng)態(tài)渲染以滿足前面的要求在性能、保存和帶寬以及許可費(fèi)用上花費(fèi)很大。

發(fā)明內(nèi)容
本發(fā)明旨在解決現(xiàn)有技術(shù)的上述問(wèn)題。特別是,本發(fā)明是一種全面的解決方案,其用來(lái)有效地布局并渲染包含有混合數(shù)據(jù)類型的多媒體信息,這包括文本、圖形、動(dòng)畫(huà)、視頻和數(shù)字表達(dá)式。該混合數(shù)據(jù)可顯示成各種尺寸和格式,并且是一種可活動(dòng)并且可維護(hù)的格式。此外,還有一定的技術(shù)支持,如Macromedia FlashTM、多語(yǔ)言及統(tǒng)一編碼(Unicode)支持、客戶機(jī)-服務(wù)器多層構(gòu)架的實(shí)現(xiàn)。此外,其性能和成本均保持在可接受的水平上。
參考下面的說(shuō)明,本發(fā)明的其它方面、特征和優(yōu)點(diǎn)將更加清楚。


下面將參照來(lái)描述本發(fā)明的實(shí)施例,其中圖1A所示為根據(jù)本發(fā)明教導(dǎo)構(gòu)造的一例系統(tǒng);圖1B所示為根據(jù)本發(fā)明教導(dǎo)構(gòu)造的一例網(wǎng)絡(luò)系統(tǒng);圖2所示為根據(jù)本發(fā)明教導(dǎo)的一例數(shù)據(jù)格式;圖3所示為根據(jù)本發(fā)明教導(dǎo)的一例處理流程;圖4所示為根據(jù)本發(fā)明教導(dǎo)用來(lái)實(shí)現(xiàn)圖3所示實(shí)施例的一例偽代碼(pseudo code);圖5所示為根據(jù)本發(fā)明教導(dǎo)的另一例處理流程;圖6所示為根據(jù)本發(fā)明教導(dǎo)用來(lái)實(shí)現(xiàn)圖5所示實(shí)施例的一例偽代碼;圖7所示為根據(jù)本發(fā)明教導(dǎo)的一例用戶界面。
優(yōu)選實(shí)施例圖1-7主要是用來(lái)示例性地展示本發(fā)明的系統(tǒng)結(jié)構(gòu)、操作方法、數(shù)據(jù)格式和程序代碼。程序代碼可用任易一種計(jì)算機(jī)程序產(chǎn)品來(lái)實(shí)現(xiàn)。一計(jì)算機(jī)程序產(chǎn)品包括有一個(gè)用來(lái)保存或轉(zhuǎn)移計(jì)算機(jī)可讀代碼的介質(zhì),或者是一種可將計(jì)算機(jī)可讀代碼嵌入其中的介質(zhì)。該計(jì)算機(jī)程序產(chǎn)品例如可以是CD-ROM盤(pán)、ROM卡、軟盤(pán)、磁帶、計(jì)算機(jī)硬盤(pán)驅(qū)動(dòng)器、網(wǎng)絡(luò)上的一臺(tái)服務(wù)器以及載波。
顯然,在不脫離本發(fā)明構(gòu)思的情況下,這里所述的系統(tǒng)、操作方法、數(shù)據(jù)對(duì)象以及計(jì)算機(jī)產(chǎn)品在細(xì)節(jié)上可以有所不同。此外,這里公開(kāi)的許多細(xì)節(jié)是為了更加全面的理解本發(fā)明。然而,所有特定的細(xì)節(jié)均可由通用的對(duì)象來(lái)代替。此外,為了使本發(fā)明原理更加清楚,這里不會(huì)對(duì)公知的技術(shù)做詳細(xì)的說(shuō)明。盡管本發(fā)明在這里公開(kāi)的實(shí)施例特別適用于MacromediaFlash-XML-MathML平臺(tái),但本發(fā)明并非僅限于此,本領(lǐng)域技術(shù)人員很容易就能將本發(fā)明的構(gòu)思應(yīng)用于另一個(gè)更為優(yōu)選的平臺(tái)。因此,其它合適并相當(dāng)?shù)某绦蛘Z(yǔ)言、平臺(tái)和構(gòu)架等均落入本發(fā)明的保護(hù)范圍。
圖1所示為用來(lái)實(shí)現(xiàn)本發(fā)明的一例處理器控制系統(tǒng)的硬件配置。本領(lǐng)域技術(shù)人員均清楚本發(fā)明并不限于這里所描述的配置,本發(fā)明可在過(guò)去、現(xiàn)在以及將來(lái)的任何一種配置上實(shí)現(xiàn),這包括例如,工作站/桌上/膝上/掌上配置、客戶機(jī)-服務(wù)器的配置、多層配置、分布式配置、其它的網(wǎng)絡(luò)配置等,只要其具有必要部件能夠?qū)崿F(xiàn)本發(fā)明的原理即可。
圖1A和B所示是根據(jù)本發(fā)明教導(dǎo)的一個(gè)先進(jìn)的多功能布局和渲染系統(tǒng)700,其包括但并不限于一總線705,其用來(lái)實(shí)現(xiàn)至少一個(gè)處理器710、至少一個(gè)內(nèi)存715以及至少一個(gè)存儲(chǔ)設(shè)備720之間的通訊。該總線705在連接上還用來(lái)接收至少一個(gè)輸入設(shè)備725如鼠標(biāo)、鍵盤(pán)、輸入筆、墊等的輸入,并給至少一個(gè)輸出設(shè)備730如監(jiān)視器、打印機(jī)或其它顯示介質(zhì)等提供輸出。至少的一個(gè)處理器710在結(jié)構(gòu)上用來(lái)完成這里所提供的技術(shù),特別是運(yùn)行本發(fā)明下面所列的計(jì)算機(jī)程序產(chǎn)品的實(shí)施例。作為選擇,計(jì)算機(jī)程序產(chǎn)品實(shí)施例的邏輯功能可分配給通過(guò)網(wǎng)絡(luò)或其它通訊裝置相聯(lián)的多個(gè)處理器。該計(jì)算機(jī)程序產(chǎn)品可在各種操作系統(tǒng)下運(yùn)行,例如。各個(gè)版本的Microsoft WindowsTM,Apple MacintoshTM,UNIX等。
本發(fā)明可實(shí)現(xiàn)為一個(gè)計(jì)算機(jī)程序產(chǎn)品(其也被稱為“QD模塊”),其可作為例如一個(gè)FlashTM的客戶應(yīng)用程序代碼模塊來(lái)在Macromedia FlashTM平臺(tái)上開(kāi)發(fā)并實(shí)現(xiàn)。該QD模塊與超級(jí)-多功能-文本(Super-Versatile-Text)顯示子模塊(其也被稱為“SVT模塊”)一起(如下所述)能夠?qū)⒍嗝襟w信息有效地呈現(xiàn)在顯示輸出設(shè)備上。
圖2所示為根據(jù)本發(fā)明由QD模塊所用的一例數(shù)據(jù)格式。其中的布局以及必須由數(shù)據(jù)使用環(huán)境所定義的數(shù)據(jù)都是本領(lǐng)域技術(shù)人員非常清楚的內(nèi)容。在一實(shí)施例中,該QD數(shù)據(jù)格式是作為一個(gè)XML對(duì)象,一個(gè)被FlashTM應(yīng)用程序所解讀的開(kāi)放式網(wǎng)絡(luò)標(biāo)準(zhǔn)來(lái)實(shí)現(xiàn)的。該QD數(shù)據(jù)格式優(yōu)選用統(tǒng)一編碼作為字符編碼,其允許使用巨型的字符組,其中包括大多數(shù)的語(yǔ)言和數(shù)學(xué)符號(hào)。該QD數(shù)據(jù)格式還允許出現(xiàn)并混合使用如斜體、粗體等的樣式文本、圖形、和數(shù)字表達(dá)式、符號(hào)以及其它標(biāo)識(shí)。其中的圖形可定義為標(biāo)準(zhǔn)的JPEG文件或者是Flash SWFTM文件,并且可做成動(dòng)畫(huà)的或者是交互式的。數(shù)學(xué)表達(dá)式可定義為MathML、一個(gè)基于XML的開(kāi)放式標(biāo)準(zhǔn),其可被大多數(shù)數(shù)學(xué)軟件產(chǎn)品導(dǎo)入導(dǎo)出。
圖3所示為本發(fā)明QD模塊的一例處理流程。
如圖所示,在301,內(nèi)容數(shù)據(jù)如問(wèn)題數(shù)據(jù)被輸入到系統(tǒng)中。該內(nèi)容數(shù)據(jù)包括文本、樣式文本、外部數(shù)據(jù)文件(其包含例如圖形或動(dòng)畫(huà))的說(shuō)明、MathML以及其它的可顯示對(duì)象。該內(nèi)容數(shù)據(jù)用來(lái)生成主問(wèn)題的內(nèi)容和相關(guān)的答案、視覺(jué)輔助(Visual Aid)(可選),以及描述性解決方案(DescriptiveSolution)(可選)的內(nèi)容。
在302,系統(tǒng)對(duì)問(wèn)題數(shù)據(jù)進(jìn)行處理并將所述數(shù)據(jù)轉(zhuǎn)換成一個(gè)XML的樹(shù)對(duì)象。該問(wèn)題數(shù)據(jù)用來(lái)生成主問(wèn)題的文本。
在303,系統(tǒng)將問(wèn)題文本顯示成FlashTM數(shù)據(jù)塊。
在304,系統(tǒng)將主問(wèn)題的可能答案顯示成FlashTM數(shù)據(jù)塊;在305,系統(tǒng)核對(duì)與主問(wèn)題相關(guān)的視覺(jué)輔助。正如其名字所說(shuō)的那樣,視覺(jué)輔助用圖形展示相關(guān)的問(wèn)題。下面根據(jù)結(jié)果的不同,程序進(jìn)到306或307。如果有Visual Aid,程序進(jìn)到306,然后是307。然而,如果沒(méi)有視覺(jué)輔助,那么程序就直接進(jìn)到307。
在306,系統(tǒng)將視覺(jué)輔助顯示成FlashTM數(shù)據(jù)塊,同時(shí)程序進(jìn)到307。
在307,系統(tǒng)核對(duì)與主問(wèn)題相關(guān)的描述性解決方案。接著根據(jù)結(jié)果的不同,程序進(jìn)到308或309。如果有描述性解決方案,程序進(jìn)到308,然后是309。然而,如果沒(méi)有描述性解決方案,那么程序就直接進(jìn)到309。
在308,系統(tǒng)保存該描述性解決方案以便在下面顯示成FlashTM數(shù)據(jù)塊,同時(shí)程序進(jìn)到307。
在309,系統(tǒng)根據(jù)所需的布局將所有的數(shù)據(jù)元素對(duì)齊。
在310,系統(tǒng)據(jù)此顯示出問(wèn)題。
圖7所示為一例用戶界面,其中有用于顯示的各種元素。如圖所示,問(wèn)題文本數(shù)據(jù)呈現(xiàn)在顯示區(qū)域(Display area)2,可供選擇的答案的數(shù)據(jù)呈現(xiàn)在顯示區(qū)域4,當(dāng)前答案的數(shù)據(jù)呈現(xiàn)在顯示區(qū)域6,視覺(jué)輔助的數(shù)據(jù)呈現(xiàn)在顯示區(qū)域8,同時(shí)描述性解決方案的數(shù)據(jù)呈現(xiàn)在顯示區(qū)域10。
圖4所示為一例偽代碼,其用來(lái)實(shí)現(xiàn)QD模塊(亦復(fù)制如下)。
QD偽代碼function parseQuestionXMLconvert raw text to an XML treeget question layout style from XMLend parseQuestionXML function
function buildQuestionObjects// Sort through branches of question XML.
For each branchif the branch is the main question textcreate a movieclip to contain the textcall the displaySVTBlock functionelse if the branch is the answer optionscreate a movieclip to hold the answersfor each answercreate a movieclip to hold the answerattach an answer buttoncreate a movieclip to hold the answer textcall the displaySVTBlock functionend forelse if the branch is some other content blockif the type of content is visual aidif this layout calls for a visual aidcreate a movieclip to contain thevisual aidcall the displaySVTBlock functionelse if the type of content is descriptivesolutionsave the contents for possible laterdisplayend if
end ifend forend buildQuestionObjects functionfunction layoutQuestion// Positions are based on the question layout style.
Position the main question textposition the answer blockposition the answers within the answer blockposition the visual aid,if requiredposition any other content blockend layoutQuestion function圖5和圖6所示為本發(fā)明QD模塊的附加特征。其中圖5所示為超級(jí)-多功能-文本顯示模塊或SVT模塊的一例處理流程。該QD模塊與SVT模塊相互作用(調(diào)用SVT模塊)從而在視覺(jué)上渲染QD內(nèi)容數(shù)據(jù)。
如圖所示,在501,內(nèi)容數(shù)據(jù)被輸入到系統(tǒng)中。該內(nèi)容數(shù)據(jù)顯示如下在502,系統(tǒng)經(jīng)XML樹(shù)來(lái)確定是否有剩下的內(nèi)容(結(jié)點(diǎn))來(lái)顯示。如果是,程序進(jìn)到503;如果不是,程序進(jìn)到505。
在503,系統(tǒng)確定是何種剩下的內(nèi)容來(lái)顯示。然后根據(jù)結(jié)果,系統(tǒng)選擇不同的路徑。如果內(nèi)容是文本,那么程序進(jìn)到504A;如果內(nèi)容是外部文件,那么程序進(jìn)到504B;如果內(nèi)容是MathML,那么程序進(jìn)到504C。
在504A,系統(tǒng)找一條能容納該文本數(shù)據(jù)對(duì)象的顯示行。然后,系統(tǒng)生成一個(gè)新的、具有合適文本和樣式格式的文本對(duì)象,同時(shí)程序回到502。
在504B,系統(tǒng)找一條能容納該外部文件數(shù)據(jù)對(duì)象的顯示行。然后,系統(tǒng)將該外部文件布置到顯示行上,并使程序進(jìn)到502。
在504C,系統(tǒng)找一條能容納該MathML數(shù)據(jù)對(duì)象的顯示行。然后,系統(tǒng)將渲染該MathML對(duì)象,并使程序進(jìn)到502。
當(dāng)其中沒(méi)有剩下的結(jié)點(diǎn)數(shù)據(jù)內(nèi)容顯示時(shí),程序進(jìn)到505。
在505,系統(tǒng)將這些行以及這些行中的所有數(shù)據(jù)對(duì)象均格式化,并在506顯示出來(lái)。
圖6所示為一例偽代碼,其用來(lái)實(shí)現(xiàn)SVT模塊。(該代碼如下)。
SVT顯示偽代碼//The displayContentBlock function is the interface toother code.
//External code would call this function,specifying thexml data to//display,the destination to display into,and any non-default//configuration options.
Function displaySVTBlock
// Initialize the environment of the destination,based on// configuration options.
Set the environment′s widthset a default text stylefor each node in the XML dataif node is textcall the displayText functionelse if node is a visual aid file referencecall the loadFile functionelse if node is MathMLcall the displayMath functionend ifend forfor each line that has been created in destinationfor each object in linegather measurementsend forcompute shared baseline and boundaries of linefor each object in lineposition the object so baselines arealignedend for
align line to other lines and destinationend forend displaySVTBlockfunction displayTextinherit the default text stylemodify the style as specified for this nodecreate an object to hold text within the current linewhile there is text in the noderemove a word of textadd the word to the current line of destinationif current line has exceeded lengthremove the last linemark the line donecreate a new current linecreate an object to hold text within thecurrent lineadd the word to the current lineend ifend while
end renderTextfunction loadFileextract file information from nodecreate an object of the file′s given dimensionsbegin loading the fileif the object fits in the current line of destinationplace the object into the lineelsecreate a new lineif the object doesn′t fit into the new emptylinescale the object to fit the lineend ifplace the object into the lineend ifend loadFile
function displayMathcreate an object to render the math node intoextract MathML data from nodecall the renderMath functionif the object fits in the current line of destinationplace the object into the lineelsecreate a new lineif the object doesn′t fit into the new emptylinescale the object to fit the lineend ifplace the object into the lineend ifend displayMath//This function is called recursively-that is,it callsitself.
//MathML objects are frequently composed of other MathMLobjects,//such as fractions of fractions,so this recursion isnecessary.
//Nodes in the MathML are of two major typescompositeor terminal.
//composite nodes contain other nodes,while teminalnodes contain//only values,such as a number,variable,or mathematicalsymbol.
//For instance,a fraction node would have two childnodes,the//numerator and denominator.Each child is renderedseparately,then//the first is placed over the other,and a line is drawnbetween//them.
Function renderMathif the current node is a composite nodecall the renderMath function on each child nodelayout the child node based on node typeelse if the current node is a terminal nodeif the node contains text
create a text box of the appropriatestyleelse if the node contains an encoded symbolinsert the graphic for that symbolend ifend ifend renderMath外部(公共)函數(shù)的定義這部分內(nèi)容列出了QD模塊中的外部函數(shù)。盡管這里沒(méi)有嚴(yán)格的面向?qū)ο蟮墓?私用狀態(tài),但這里僅是一些應(yīng)當(dāng)被外部代碼調(diào)用的函數(shù)。除非是特別說(shuō)明,每一個(gè)函數(shù)均沒(méi)有返回值。
Init(initObj)該函數(shù)應(yīng)在下面的其它函數(shù)被調(diào)用之前被調(diào)用一次。其用來(lái)以各個(gè)常數(shù)初始化QD環(huán)境,這包括字體的設(shè)定值以及寬度和高度值。
變?cè)猧nitObj一個(gè)對(duì)象,其包含有任何已命名的數(shù)值從而撤銷配置選項(xiàng)。displayQuestion(question,return_mc,return_func)該函數(shù)用來(lái)顯示一個(gè)問(wèn)題。當(dāng)顯示完成時(shí),其調(diào)用特定的返回函數(shù)。
變?cè)猶uestion問(wèn)題數(shù)據(jù),采用合適的XML文本。
return_mc[可選],其中的內(nèi)容將在完成時(shí)被return_func調(diào)用。
return_func[可選],該函數(shù)將在return_mc中被調(diào)用。
removeQuestion()該函數(shù)用來(lái)去掉所顯示的問(wèn)題。
變?cè)?無(wú))activateAnswers(notify_mc,notify_func)該函數(shù)用來(lái)啟動(dòng)答案選項(xiàng),使它們對(duì)用戶具交互性。當(dāng)一個(gè)答案被選擇時(shí),會(huì)調(diào)用該專門(mén)的通知函數(shù),該函數(shù)帶有兩個(gè)變?cè)脩羲x答案的字母,和正確的答案。
變?cè)猲otify_mc內(nèi)容,其中將在完成時(shí)調(diào)用notify_func。
notify_func函數(shù),其將在notify_mc中被調(diào)用。
deactivateAnswers()其用來(lái)使所有的答案選項(xiàng)均無(wú)效,從而使用戶無(wú)法選擇。
變?cè)?無(wú))showUserAnswer(userAnswer,showCorrect)該函數(shù)用來(lái)標(biāo)記userAnswer中指定的答案,其用來(lái)顯示選擇是否正確。如果showCorrect設(shè)定為真,并且用戶的答案是錯(cuò)誤的,那么正確的答案也要顯示起來(lái)。
變?cè)猽serAnswer用戶所選答案的字母。
showCorrect一個(gè)真/假標(biāo)記,其用來(lái)表明是否要顯示正確的答案。
getCorrectAnswer()其用來(lái)給所顯示的一個(gè)問(wèn)題返回其正確答案的字母。
變?cè)?無(wú))showCorrectAnswer()其用來(lái)給用戶顯示所顯示問(wèn)題的正確答案。
變?cè)?無(wú))getAnswerArray()其用來(lái)所有答案選項(xiàng)的字母陣列。這對(duì)讓用戶用鍵盤(pán)來(lái)選擇答案有用。
變?cè)?無(wú))isSolution()在該問(wèn)題有描述性解決方案時(shí),該函數(shù)用來(lái)返回一個(gè)真值,否則返回一個(gè)假值。
變?cè)?無(wú))dislpaySolution(dest_mc,destWidth,return_mc,return_func)該函數(shù)用來(lái)渲染問(wèn)題的描述性解決方案,當(dāng)然是在其存在時(shí)。該方案在特定的電影剪輯(movieclip)中以特定的寬度被渲染。一旦渲染完成,就調(diào)用一個(gè)返回函數(shù)。
變?cè)猟est_mc電影剪輯,其用來(lái)將描述性解決方案渲染入其中。
destWidth dest_mc顯示區(qū)域的像素寬度。
retum_mc[可選],內(nèi)容,其中將在完成時(shí)調(diào)用return_func。
return_func[可選],該函數(shù)將在return_mc中被調(diào)用。
dislpayXMLBlock(svt_xml,dest_mc,destWidth,return_mc,return_func)該函數(shù)用來(lái)將問(wèn)題數(shù)據(jù)的XML對(duì)象(也被稱為SVT塊(Block))以特定的寬度渲染到特定的電影剪輯中。一旦渲染完成,就調(diào)用一個(gè)返回函數(shù)。
變?cè)猻vt_xml一個(gè)XML對(duì)象,其中包含有SVT數(shù)據(jù)的一個(gè)有效塊。
dest_mc電影剪輯,其用來(lái)將描述性解決方案渲染入其中。
destWidth dest_mc顯示區(qū)域的像素寬度。
return_mc[可選],內(nèi)容,其中將在完成時(shí)調(diào)用return_func。
return_func[可選],該函數(shù)將在return_mc中被調(diào)用。
dislpayTextBlock(svtText,dest_mc,destWidth,return_mc,return_func)與dislpayXMLBlock一樣,該函數(shù)用來(lái)將SVTBlock在專門(mén)的寬度渲染到專門(mén)的電影剪輯中。然而,該SVTBlock應(yīng)作為純文本通過(guò),這一點(diǎn)不同于XML對(duì)象。一旦渲染完成,就調(diào)用一個(gè)返回函數(shù)。
變?cè)猻vtTextXML文本,用來(lái)描述SVT數(shù)據(jù)中一個(gè)有效塊的文本。
dest_mc電影剪輯,其用來(lái)將描述性解決方案渲染入其中。
destWidth dest_mc顯示區(qū)域的像素寬度。
return_mc[可選],內(nèi)容,其中將在完成時(shí)調(diào)用return_func。
return_func[可選],該函數(shù)將在return_mc中被調(diào)用。
內(nèi)部(私有)函數(shù)的定義這部分內(nèi)容列出了QD模塊中的內(nèi)部函數(shù)。盡管這里沒(méi)有嚴(yán)格的面向?qū)ο蟮墓?私用狀態(tài),但這些函數(shù)不應(yīng)被外部代碼調(diào)用。任何交互均應(yīng)通過(guò)上面所列外部函數(shù)來(lái)產(chǎn)生。此外,除非是特別說(shuō)明,每一個(gè)函數(shù)均沒(méi)有返回值。
parseQuestionXML(rawText)該函數(shù)用來(lái)將問(wèn)題的源文本轉(zhuǎn)換成一個(gè)XML對(duì)象。其也用來(lái)為問(wèn)題的布局核對(duì)XML,其中的布局需要在問(wèn)題開(kāi)始渲染之前完成。該XML對(duì)象以及布局的值均保存在內(nèi)部問(wèn)題電影剪輯中。
變?cè)猺awText一個(gè)文本串,其中包含有用于整個(gè)問(wèn)題的合適的XML。
buildQuestionObjects()該函數(shù)通過(guò)問(wèn)題XML對(duì)象進(jìn)行分類,提取出問(wèn)題文本和答案,以及各種視覺(jué)輔助、描述性解決方案或者是其它的內(nèi)容。問(wèn)題文本、答案和視覺(jué)輔助將生成電影剪輯,它們的SVT塊將由displaySVT()函數(shù)渲染。描述性解決方案,如果有的話,將保存起來(lái)以供以后顯示出來(lái)。
變?cè)?無(wú))
displaySVT(svt_xml,svt_mc)該函數(shù)用來(lái)獲得一個(gè)SVT塊,并將其渲染到專門(mén)的SVT環(huán)境中。該SVT塊是一個(gè)XML對(duì)象,并且該SVT環(huán)境是一個(gè)包含有SVT顯示所需設(shè)定值和配置信息的電影剪輯。
變?cè)猻vt_xml一個(gè)包含有SVT塊的XML對(duì)象。
svt_mc SVT環(huán)境電影剪輯,其將SVT塊渲染入其中。
getDisplayLine(svt_mc)該函數(shù)在SVT環(huán)境電影剪輯中給當(dāng)前行(一電影剪輯)返回一個(gè)參考值。其中的當(dāng)前行至少具有一些空間供附加的內(nèi)容(文本,圖形,被渲染的MathML)使用。如果已有的最后一行滿了,或者是沒(méi)有當(dāng)前行,該函數(shù)將生成一個(gè)新的。
變?cè)猻vt_mc SVT環(huán)境電影剪輯。
endDisplayLine(svt_mc)該函數(shù)用來(lái)標(biāo)記SVT環(huán)境在完成時(shí)的當(dāng)前顯示行,從而使下面調(diào)用getDisplayLine(svt_mc)將返回一個(gè)新的行。這對(duì)斷行時(shí)或者在一內(nèi)容對(duì)象必須覆蓋下一行時(shí)非常有用。
變?cè)猻vt_mc一SVT環(huán)境電影剪輯。
displayVisualAid(va_xml,va_mc)該函數(shù)用來(lái)將一個(gè)視覺(jué)輔助項(xiàng)渲染到一個(gè)SVT環(huán)境中。該視覺(jué)輔助通常是一個(gè)SWF或者是一個(gè)JPEG,其由一個(gè)單獨(dú)的文件加載。該對(duì)象的高度和寬度在XML中規(guī)定,這樣不用等加載完成就能進(jìn)行布局。(用piiLoader模塊來(lái)完成加載。)變?cè)獀a_xml一個(gè)來(lái)自SVT塊的XML結(jié)點(diǎn),其包含有視覺(jué)輔助。
va_mc一個(gè)SVT環(huán)境電影剪輯。
processVisualAid(returnID,va_mc)當(dāng)視覺(jué)輔助對(duì)象加載完成時(shí),該函數(shù)由piiLoader模塊調(diào)用。其用來(lái)對(duì)加載的文件進(jìn)行處理,核實(shí)其是否裝入SVT塊XML結(jié)點(diǎn)定義的范圍內(nèi)。
變?cè)猺eturnID一個(gè)piiLoader的加載ID,其用來(lái)唯一地識(shí)別該加載。
va_mc一個(gè)SVT環(huán)境電影剪輯。
displayMathML(math_xml,svt_mc)該函數(shù)用來(lái)將一SVTBlock的MathML部分渲染到一個(gè)對(duì)象中。單個(gè)MathML要素的渲染由renderMathML()函數(shù)來(lái)處理。該函數(shù)用來(lái)在SVT環(huán)境中對(duì)行進(jìn)行分配,如果MathML對(duì)象大寬,則覆蓋到下一行。
變?cè)猰ath_xml來(lái)自SVTBlock的一個(gè)結(jié)點(diǎn),其包含有MathML的數(shù)據(jù)。
svt_mc一個(gè)SVT環(huán)境電影剪輯。
renderMathML(math_xml,box_mc,ref_tf)該函數(shù)用來(lái)將單個(gè)的MathML要素渲染到其中包含有文本和二進(jìn)制符號(hào)的電影剪輯中。該渲染為遞歸處理,因此其調(diào)用自己來(lái)渲染主要素中的任何MathML要素。(例如,分?jǐn)?shù)MathML要素含有另兩個(gè)要素,它們分別表示分子和分母。)該函數(shù)將MathML數(shù)據(jù)的一個(gè)結(jié)點(diǎn)、用來(lái)將數(shù)據(jù)渲染進(jìn)來(lái)的電影剪輯以及文本格式當(dāng)作變?cè)?。該函?shù)給其生成的電影剪輯返回一個(gè)參考值。
變?cè)猰ath_xml一個(gè)含有MathML數(shù)據(jù)的XML結(jié)點(diǎn)。
box_mc一個(gè)在其中生另新電影剪輯的電影剪輯。
ref_tf一文本格式對(duì)象,其用來(lái)渲染該對(duì)象的文本。
displayTextItem(rawText,svt_mc)該函數(shù)用來(lái)處理來(lái)自SVT塊的純樣式文本對(duì)象的顯示。其獲得一個(gè)文本字符串并將其以當(dāng)前的文本格式在SVT環(huán)境中進(jìn)行渲染,并且在需要時(shí)將該文本分開(kāi)并覆蓋到多行上。
變?cè)猺awText一文本串。
svt_mc一個(gè)SVT環(huán)境電影剪輯。
drawBorder(a_mc,color,bwidth,bheight)該函數(shù)用Flash的畫(huà)線工具來(lái)在一電影剪輯中畫(huà)出一個(gè)邊界。如果寬度和高度沒(méi)有專門(mén)指定,就采用所測(cè)得的電影剪輯的寬度和高度。該函數(shù)可用在渲染函數(shù)中從而將特定的測(cè)量值強(qiáng)加到電影剪輯上。例如,加載的SWF文件可能沒(méi)有占滿其可以使用的整個(gè)空間,從而使布局混亂。用一個(gè)可不見(jiàn)的邊界就能大大地減少布局的計(jì)算。(注意,畫(huà)線函數(shù)容易覆蓋電影剪輯中的已知線條。)變?cè)猘_mc畫(huà)入邊界的電影剪輯。
color畫(huà)邊界的顏色。(僅在調(diào)整時(shí)可見(jiàn))bwidth[可選]所畫(huà)邊界的寬度。
bheight[可選]所畫(huà)邊界的高度。
layoutQuestion()該函數(shù)用來(lái)完成前面構(gòu)建的問(wèn)題對(duì)象的布局。問(wèn)題文本、答案以及視覺(jué)輔助將根據(jù)其尺寸以及問(wèn)題XML中特定的布局樣式來(lái)布置。
變?cè)?無(wú))現(xiàn)在已描述了本發(fā)明的一個(gè)或多個(gè)實(shí)施例,然而本領(lǐng)域技術(shù)人員均清楚這些實(shí)施例均是示例說(shuō)明而非限定,其僅以舉例的方式來(lái)說(shuō)明。除非另有表述,說(shuō)明書(shū)(包括權(quán)利要求書(shū)、摘要和附圖)中的所有特征均可由其它的用來(lái)實(shí)現(xiàn)相同或類似功能的特征、等同內(nèi)容取代。因此,這些實(shí)施例經(jīng)變更后的其它實(shí)施例均落在本發(fā)明權(quán)利要求書(shū)所限定的保護(hù)范圍之內(nèi)。
此外,這里提到的技術(shù)可由硬件、軟件或者是兩者的結(jié)合來(lái)實(shí)現(xiàn)。在一實(shí)施例中,該技術(shù)可由可編程的多個(gè)計(jì)算機(jī)上運(yùn)行的計(jì)算機(jī)程序來(lái)實(shí)現(xiàn),這些計(jì)算機(jī)均包括處理器、處理器可讀存貯介質(zhì)(這包括易失性存貯器和非易失性存貯器和/或存貯部件)、至少一個(gè)輸入設(shè)備以及一個(gè)或多個(gè)輸出設(shè)備。程序代碼應(yīng)用到輸入設(shè)備所輸入的數(shù)據(jù)上以完成上述的功能并產(chǎn)生出輸出信息。該輸出信息加到一個(gè)或多個(gè)輸出設(shè)備。
每一個(gè)程序均優(yōu)選用面向過(guò)程或面向?qū)ο蟮母呒?jí)程序語(yǔ)言來(lái)實(shí)現(xiàn)從而與計(jì)算機(jī)系統(tǒng)進(jìn)行通訊,然而,如果需要的話,這些程序也可用匯編或機(jī)器語(yǔ)言來(lái)實(shí)現(xiàn)。無(wú)論怎樣,該語(yǔ)言均是可編輯或翻譯的語(yǔ)言。在一實(shí)施例中,本發(fā)明用ActionScript程序語(yǔ)言來(lái)實(shí)現(xiàn)以便用在Macromedia FlashTM環(huán)境中。該程序代碼采用Macromedia Flash MXTM來(lái)開(kāi)發(fā),用MacromediaFlash PlayeTM(如第6版,第48次發(fā)布或更高級(jí)的版本)來(lái)執(zhí)行,并用到Macromedia piiLoader和timeQueue代碼模塊。
每一個(gè)程序均優(yōu)選保存在可被通用或?qū)S玫目删幊逃?jì)算機(jī)讀取的存貯介質(zhì)或設(shè)備(如CD-ROM、NVRAM、ROM、硬盤(pán)、磁盤(pán)或載波)上,以便在該存貯介質(zhì)或設(shè)備被計(jì)算機(jī)讀取時(shí)能夠配置并操作該計(jì)算機(jī)從而完成本文所述的各個(gè)操作。該系統(tǒng)也可實(shí)施為一個(gè)計(jì)算機(jī)可讀的存貯介質(zhì),其配有計(jì)算機(jī)程序,該存貯介質(zhì)在配置上應(yīng)使計(jì)算機(jī)能按預(yù)定的方式來(lái)操作。
這里在描述實(shí)施例時(shí)假定人們知道Macromedia FlashTM和ActionScript程序語(yǔ)言,并且對(duì)編程有著一般的認(rèn)識(shí)。如果知道布局和設(shè)計(jì)技術(shù),如網(wǎng)絡(luò)或打印頁(yè)面的布局,特別是數(shù)字表達(dá)式的布局,對(duì)本申請(qǐng)的理解也非常有用。
本發(fā)明的其它方面和/或特征包括代碼,其用來(lái)提供盡可能多的解決方案,并專門(mén)適用于當(dāng)前實(shí)施的字體和布局尺寸。如果字體或者顯示環(huán)境的另一部分出現(xiàn)明顯的變化,那么兩行之間的空間也可相應(yīng)地進(jìn)行調(diào)整。
作為優(yōu)選,數(shù)字符號(hào),無(wú)論是由名稱實(shí)體還是統(tǒng)一編碼所表示,均可按如下方式使用名稱實(shí)體和編碼字符均在XML的終端標(biāo)記中單獨(dú)存在。也就是說(shuō),在本發(fā)明的一個(gè)實(shí)施例中,<mn>5</mn><mn>π</mn>有效,而<mn>5π</mn>無(wú)效。
最后,本發(fā)明一個(gè)具有潛在商業(yè)成功的實(shí)施例集成到了PlanetiiTMMathSystemTM中,該系統(tǒng)是一個(gè)在線數(shù)學(xué)教育軟件產(chǎn)品,其可在http//www.planetii.com/home/獲得。
權(quán)利要求
1.一種用來(lái)顯示多媒體內(nèi)容數(shù)據(jù)的顯示系統(tǒng),其包括MathematicalMarkup Language(MathML)數(shù)據(jù),所述系統(tǒng)包括一個(gè)顯示介質(zhì),其具有多個(gè)顯示行以便把多媒體內(nèi)容數(shù)據(jù)渲染其上;與所述顯示介質(zhì)相聯(lián)的處理器,其配置成接收所述的多媒體內(nèi)容數(shù)據(jù),其包括有文本、MathML以及外部文件標(biāo)識(shí);分析所述接收到的多媒體內(nèi)容數(shù)據(jù)從而導(dǎo)出所述的文本、MathML以及外部文件標(biāo)識(shí);根據(jù)數(shù)據(jù)類型對(duì)所述的文本、MathML以及文件數(shù)據(jù)進(jìn)行分類;其中所述的文本數(shù)據(jù)被定義為T(mén)EXT數(shù)據(jù)類型,所述MathML數(shù)據(jù)被定義為MATHML數(shù)據(jù)類型,并且所述的外部文件標(biāo)識(shí)數(shù)據(jù)被定義為FILE數(shù)據(jù)類型;將所述導(dǎo)出并分類的文本、MathML以及外部文件標(biāo)識(shí)數(shù)據(jù)保存為一個(gè)包括一根結(jié)點(diǎn)和多個(gè)分支結(jié)點(diǎn)的樹(shù),其中分支結(jié)點(diǎn)形成左右的子樹(shù),所述根結(jié)點(diǎn)以及所述分支結(jié)點(diǎn)的每一個(gè)結(jié)點(diǎn)均具有所述的文本、MathML以及外部文件中的一個(gè)以及對(duì)應(yīng)關(guān)聯(lián)的數(shù)據(jù)類型;定義一個(gè)橫向程序,其包括訪問(wèn)所述樹(shù)的一個(gè)結(jié)點(diǎn),確定所述結(jié)點(diǎn)的數(shù)據(jù)類型;根據(jù)所述數(shù)據(jù)類型來(lái)顯示所述結(jié)點(diǎn)數(shù)據(jù),其中如果數(shù)據(jù)類型為T(mén)EXT,則生成一個(gè)具有所述文本結(jié)點(diǎn)數(shù)據(jù)的文本對(duì)象,并且根據(jù)預(yù)定的格式協(xié)議找出一個(gè)顯示行以顯示所述的文本對(duì)象;如果數(shù)據(jù)類型為FILE,則生成一個(gè)具有所述外部文件標(biāo)識(shí)結(jié)點(diǎn)數(shù)據(jù)的文件對(duì)象,并且根據(jù)預(yù)定的格式協(xié)議找出一個(gè)顯示行以加載并與前面渲染的文本一起顯示出所述的文件對(duì)象;如果數(shù)據(jù)類型為MATHML,則生成一個(gè)具有所述所保存的MathML結(jié)點(diǎn)數(shù)據(jù)的MathML數(shù)據(jù)對(duì)象,并且根據(jù)預(yù)定的格式協(xié)議找出一個(gè)顯示行以便與前面渲染的文本一起顯示出所述的MathML對(duì)象;將所述橫向程序應(yīng)用到所述訪問(wèn)結(jié)點(diǎn)的左子樹(shù);將所述橫向程序應(yīng)用到所述訪問(wèn)結(jié)點(diǎn)的右子樹(shù);將所述橫向程序應(yīng)用到所述根結(jié)點(diǎn)從而使所述根結(jié)點(diǎn)是第一個(gè)被訪問(wèn)的結(jié)點(diǎn)。
2.如權(quán)利要求1的系統(tǒng),其中所述處理器進(jìn)一步將所述MathML數(shù)據(jù)分成MATHML COMPOSITE和MATHML TERMINAL數(shù)據(jù)類型;將所述分類的MathML數(shù)據(jù)保存為一個(gè)包括一根結(jié)點(diǎn)和多個(gè)分支結(jié)點(diǎn)的MathML樹(shù),其中分支結(jié)點(diǎn)形成所述MathML樹(shù)的左右子樹(shù),所述根結(jié)點(diǎn)以及所述分支結(jié)點(diǎn)的每一個(gè)結(jié)點(diǎn)均具有一個(gè)所述導(dǎo)出MathML數(shù)據(jù)以及相關(guān)聯(lián)的數(shù)據(jù)類型;定義第二個(gè)橫向程序,其包括訪問(wèn)所述MathML樹(shù)的一個(gè)結(jié)點(diǎn),確定所述MathML樹(shù)結(jié)點(diǎn)的MathML數(shù)據(jù)類型;根據(jù)所述數(shù)據(jù)類型來(lái)顯示所述MathML樹(shù)結(jié)點(diǎn)的數(shù)據(jù),其中如果數(shù)據(jù)類型為MATHML COMPOSITE,則生成一個(gè)具有所述所保存的MathML復(fù)合結(jié)點(diǎn)數(shù)據(jù)的MathML數(shù)據(jù)對(duì)象,并且根據(jù)預(yù)定的格式協(xié)議找出一個(gè)顯示行以便將所述的MathML對(duì)象與前面渲染的文本一起顯示出來(lái);如果數(shù)據(jù)類型為MATHML TERMINAL,則生成一個(gè)具有所述所保存的MathML終端結(jié)點(diǎn)數(shù)據(jù)的MathML數(shù)據(jù)對(duì)象,并且根據(jù)預(yù)定的格式協(xié)議找出一個(gè)顯示行以便將所述的MathML對(duì)象與前面渲染的文本一起顯示出來(lái);將所述第二橫向程序應(yīng)用到所述被訪問(wèn)MathML樹(shù)結(jié)點(diǎn)的左子樹(shù);將所述第二橫向程序應(yīng)用到所述被訪問(wèn)MathML樹(shù)結(jié)點(diǎn)的右子樹(shù);將所述第二橫向程序應(yīng)用到所述MathML樹(shù)的所述根結(jié)點(diǎn)從而使所述根結(jié)點(diǎn)是MathML樹(shù)的第一個(gè)被訪問(wèn)的結(jié)點(diǎn)。
3.如權(quán)利要求1或2的系統(tǒng),其中所述多媒體內(nèi)容數(shù)據(jù)包括MarkupLanguage數(shù)據(jù)。
4.如權(quán)利要求3的系統(tǒng),其中所述Markup Language數(shù)據(jù)包括Extensible Markup Language(XML)數(shù)據(jù)。
5.如權(quán)利要求1或2的系統(tǒng),其中所述外部文件標(biāo)識(shí)數(shù)據(jù)包括與數(shù)據(jù)文件相關(guān)聯(lián)的信息,其包括圖形、視頻、動(dòng)畫(huà)、其它可顯示物或者是其組合。
6.如權(quán)利要求4的系統(tǒng),其中所述數(shù)據(jù)文件為Macromedia或者是Flash兼容文件。
7.一種用來(lái)顯示多媒體內(nèi)容數(shù)據(jù)的方法,其中的多媒體內(nèi)容數(shù)據(jù)包括Mathematical Markup Language(MathML)數(shù)據(jù),所述方法包括提供一個(gè)顯示介質(zhì),其具有多個(gè)顯示行以便把多媒體內(nèi)容數(shù)據(jù)渲染其上;接收所述多媒體內(nèi)容數(shù)據(jù),其包括有文本、MathML以及外部文件標(biāo)識(shí);分析所述接收到的多媒體內(nèi)容數(shù)據(jù)從而導(dǎo)出所述的文本、MathML以及外部文件標(biāo)識(shí);根據(jù)數(shù)據(jù)類型對(duì)所述的文本、MathML以及文件數(shù)據(jù)進(jìn)行分類;其中所述的文本數(shù)據(jù)被定義為T(mén)EXT數(shù)據(jù)類型,所述MathML數(shù)據(jù)被定義為MATHML數(shù)據(jù)類型,并且所述的外部文件標(biāo)識(shí)數(shù)據(jù)被定義為FILE數(shù)據(jù)類型;將所述導(dǎo)出并分類的文本、MathML以及外部文件標(biāo)識(shí)數(shù)據(jù)保存成一個(gè)包括一根結(jié)點(diǎn)和多個(gè)分支結(jié)點(diǎn)的樹(shù),其中分支結(jié)點(diǎn)形成左右的子樹(shù),所述根結(jié)點(diǎn)以及所述分支結(jié)點(diǎn)的每一個(gè)結(jié)點(diǎn)均具有所述的文本、MathML以及外部文件中的一個(gè)以及對(duì)應(yīng)關(guān)聯(lián)的數(shù)據(jù)類型;定義一個(gè)橫向程序,其包括訪問(wèn)所述樹(shù)的一個(gè)結(jié)點(diǎn),確定所述結(jié)點(diǎn)的數(shù)據(jù)類型;根據(jù)所述數(shù)據(jù)類型來(lái)顯示所述結(jié)點(diǎn)數(shù)據(jù),其中如果數(shù)據(jù)類型為T(mén)EXT,則生成一個(gè)具有所述文本結(jié)點(diǎn)數(shù)據(jù)的文本對(duì)象,并且根據(jù)預(yù)定的格式協(xié)議找出一個(gè)顯示行以顯示所述的文本對(duì)象;如果數(shù)據(jù)類型為FILE,則生成一個(gè)具有所述外部文件結(jié)點(diǎn)數(shù)據(jù)的文件對(duì)象,并且根據(jù)預(yù)定的格式協(xié)議找出一個(gè)顯示行以加載并與前面渲染的文本一起顯示出所述的文件對(duì)象;如果數(shù)據(jù)類型為MATHML,則生成一個(gè)具有所述所保存的MathML結(jié)點(diǎn)數(shù)據(jù)的MathML數(shù)據(jù)對(duì)象,并且根據(jù)預(yù)定的格式協(xié)議分配一個(gè)顯示行以便與前面渲染的文本一起顯示出所述的MathML對(duì)象;將所述橫向程序應(yīng)用到所述訪問(wèn)結(jié)點(diǎn)的左子樹(shù);將所述橫向程序應(yīng)用到所述訪問(wèn)結(jié)點(diǎn)的右子樹(shù);將所述橫向程序應(yīng)用到所述根結(jié)點(diǎn)從而使所述根結(jié)點(diǎn)是第一個(gè)被訪問(wèn)的結(jié)點(diǎn)。
8.如權(quán)利要求7的系統(tǒng),其中所述方法進(jìn)一步將所述MathML數(shù)據(jù)分成MATHML COMPOSITE和MATHML TERMINAL數(shù)據(jù)類型;將所述分類的MathML數(shù)據(jù)保存為一個(gè)包括一根結(jié)點(diǎn)和多個(gè)分支結(jié)點(diǎn)的MathML樹(shù),其中分支結(jié)點(diǎn)形成所述MathML樹(shù)的左右子樹(shù),所述根結(jié)點(diǎn)以及所述分支結(jié)點(diǎn)的每一個(gè)結(jié)點(diǎn)均具有一個(gè)所述導(dǎo)出MathML數(shù)據(jù)以及相關(guān)聯(lián)的數(shù)據(jù)類型;定義第二個(gè)橫向程序,其包括訪問(wèn)所述MathML樹(shù)的一個(gè)結(jié)點(diǎn),確定所述MathML樹(shù)結(jié)點(diǎn)的MathML數(shù)據(jù)類型;根據(jù)所述數(shù)據(jù)類型來(lái)顯示所述MathML樹(shù)結(jié)點(diǎn)的數(shù)據(jù),其中如果數(shù)據(jù)類型為MATHML COMPOSITE,則生成一個(gè)具有所述所保存的MathML復(fù)合結(jié)點(diǎn)數(shù)據(jù)的MathML數(shù)據(jù)對(duì)象,并且根據(jù)預(yù)定的格式協(xié)議找出一個(gè)顯示行以便將所述的MathML數(shù)據(jù)對(duì)象與前面渲染的文本一起顯示出來(lái);如果數(shù)據(jù)類型為MATHML TERMINAL,則生成一個(gè)具有所述所保存的MathML終端結(jié)點(diǎn)數(shù)據(jù)的MathML數(shù)據(jù)對(duì)象,找出一個(gè)顯示行以便將所述的MathML數(shù)據(jù)對(duì)象與前面渲染的文本一起顯示出來(lái);將所述第二橫向程序應(yīng)用到所述被訪問(wèn)MathML樹(shù)結(jié)點(diǎn)的左子樹(shù);將所述第二橫向程序應(yīng)用到所述被訪問(wèn)MathML樹(shù)結(jié)點(diǎn)的右子樹(shù);將所述第二橫向程序應(yīng)用到所述MathML樹(shù)的所述根結(jié)點(diǎn)從而使所述根結(jié)點(diǎn)是MathML樹(shù)的第一個(gè)被訪問(wèn)的結(jié)點(diǎn)。
9.如權(quán)利要求7或8的方法,其中所述多媒體內(nèi)容數(shù)據(jù)包括MarkupLanguage數(shù)據(jù)。
10.如權(quán)利要求9的方法,其中所述Markup Language數(shù)據(jù)包括Extensible Markup Language(XML)數(shù)據(jù)。
11.如權(quán)利要求7或8的方法,其中所述外部文件標(biāo)識(shí)數(shù)據(jù)包括與數(shù)據(jù)文件相關(guān)聯(lián)的信息,該數(shù)據(jù)文件包括圖形、視頻、動(dòng)畫(huà)、其它可顯示物或者是其組合。
12.如權(quán)利要求11的方法,其中所述數(shù)據(jù)文件為Macromedia或者是Flash兼容文件。
13.一種用來(lái)呈現(xiàn)問(wèn)題及答案的多媒體數(shù)據(jù)的用戶界面,其中的多媒體數(shù)據(jù)包括數(shù)學(xué)的MathML內(nèi)容,所述系統(tǒng)包括一處理器,其在配置成接收所述包括有文本、MathML以及外部文件的多媒體數(shù)據(jù);分析所述接收到的多媒體數(shù)據(jù)從而導(dǎo)出所述的文本、MathML以及外部文件數(shù)據(jù);根據(jù)所導(dǎo)出的文本、MathML以及外部文件數(shù)據(jù)生成問(wèn)題的內(nèi)容和相關(guān)的答案、視覺(jué)輔助以及描述述解決方案內(nèi)容;在所述顯示設(shè)備上顯示出第一、第二、第三和第四顯示容器,所述第一顯示容器包括一個(gè)圖示區(qū)域以便顯示所述問(wèn)題的內(nèi)容;所述第二顯示容器包括一個(gè)圖示區(qū)域以便顯示所述答案的內(nèi)容;所述第三顯示容器包括一個(gè)圖示區(qū)域以便顯示所述視覺(jué)輔助的內(nèi)容;所述第四顯示容器包括一個(gè)圖示區(qū)域以便顯示所述描述性解決方案的內(nèi)容;以及其中對(duì)于所述第一、第二、第三和第四顯示容器中的每一個(gè)容器來(lái)說(shuō),所述容器內(nèi)容的MathML以及外部文件數(shù)據(jù)均與所述容器內(nèi)容的所述文本數(shù)據(jù)一起顯示出來(lái)。
14.如權(quán)利要求13的用戶界面,其中所述外部文件數(shù)據(jù)包括圖形、視頻、動(dòng)畫(huà)、其它可顯示物或者其組合。
15.如權(quán)利要求13或14的用戶界面,其中所述多媒體數(shù)據(jù)包括MarkupLanguage數(shù)據(jù)。
16.如權(quán)利要求15的用戶界面,其中所述Markup Language數(shù)據(jù)包括Extensible Markup Language(XML)數(shù)據(jù)。
全文摘要
本發(fā)明提供一種例如用MacromediaFlash
文檔編號(hào)G06F17/30GK1791869SQ200480013298
公開(kāi)日2006年6月21日 申請(qǐng)日期2004年4月1日 優(yōu)先權(quán)日2003年4月1日
發(fā)明者喬·福森, 李·瓊, 里維斯·程 申請(qǐng)人:普萊尼提美國(guó)公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1