專利名稱:語法分析擴(kuò)展標(biāo)記語言文件的裝置和方法
技術(shù)領(lǐng)域:
本申請要求2002年6月26日在韓國知識產(chǎn)權(quán)局提交的韓國專利申請第2002-36066號的優(yōu)先權(quán),在此整體引入其公開內(nèi)容作為參考。
本發(fā)明涉及一種用于利用描述XML文件的語法的模式(schema)/文件類型定義(DTD)數(shù)據(jù)結(jié)構(gòu)來驗證公知的標(biāo)準(zhǔn)電子文件擴(kuò)展標(biāo)記語言(XML)文件的有效性的裝置和方法,特別涉及一種用于解決不能支持在嵌入器件中利用一般的模式/DTD數(shù)據(jù)結(jié)構(gòu)來驗證XML文件有效性的語法分析器的問題的裝置和方法,所述嵌入器件由于其規(guī)格的限制而具有較低性能的處理器和小存儲器。
背景技術(shù):
在現(xiàn)有技術(shù)中,具有驗證器的XML語法分析器用于在使用XML文件的XML應(yīng)用程序中驗證使用外部實(shí)體所寫的XML文件的有效性。驗證器從外部源讀取模式/DTD,產(chǎn)生關(guān)于利用模式/DTD定義的語法的數(shù)據(jù)的結(jié)構(gòu),并且利用定義的語法來查看在XML文件中的差錯。但是,運(yùn)行在諸如個人數(shù)字助理(PDA)或便攜電話等的嵌入器件中的XML應(yīng)用程序在檢驗XML文件的有效性上具有限制。多數(shù)嵌入系統(tǒng)支持一個不支持檢驗XML文件的有效性的XML語法分析器,或其一部分被擴(kuò)展來驗證僅僅有限的模式或DTD的語法以便減少由于使用模式或DTD來驗證XML文件的處理而導(dǎo)致的負(fù)荷的XML語法分析器。由于這點(diǎn),實(shí)現(xiàn)了一種特殊的驗證語法分析器來僅僅感知對每個系統(tǒng)必要的模式/DTD。因此,該特殊的驗證語法分析器不能用于其他系統(tǒng)中。
而且,如果公布了用做在XML文件中的外部實(shí)體的模式/DTD的模式/DTD公布者實(shí)現(xiàn)了新語法,則使用現(xiàn)有的模式/DTD并且沒有差錯的XML文件不再有效。因此,利用已公布為外部實(shí)體的模式/DTD的XML文件必須重新被構(gòu)成,其中在模式或DTD的語法中有改變。
發(fā)明內(nèi)容
本發(fā)明提供了一種用于當(dāng)使用XML文件的XML應(yīng)用程序運(yùn)行在嵌入器件中的時候檢驗XML文件的有效性的裝置和方法,所述XML文件被用于描述關(guān)于嵌入器件的信息或商務(wù)文件的標(biāo)準(zhǔn),所述嵌入器件具有較低性能的處理器和小存儲器。
按照本發(fā)明的一個方面,提供了一種利用外部XML驗證器的XML語法分析器。XML語法分析器包括XML接收器、外部XML驗證器調(diào)用器和DOM/SAX樹產(chǎn)生器。XML接收器從XML應(yīng)用程序接收XML文件。外部XML驗證器調(diào)用器請求外部XML驗證器檢驗XML文件的有效性并且接收對該請求的回答。如果外部XML驗證器調(diào)用器接收指示XML文件有效的回答,則DOM/SAX樹產(chǎn)生器從XML文件產(chǎn)生DOM/SAX樹并且向XML應(yīng)用程序發(fā)送DOM/SAX樹。
按照本發(fā)明的另一個方面,也提供了一種外部XML驗證器,用于在XML語法分析器中檢驗XML文件的有效性。外部XML驗證器包括模式/DTD接收器、XML驗證器和XML有效性結(jié)果發(fā)送器。模式/DTD接收器被請求從XML語法分析器檢驗XML文件的有效性,并且從模式/DTD數(shù)據(jù)庫接收對應(yīng)于XML文件的模式或DTD。XML驗證器將XML文件應(yīng)用到所接收的模式或DTD以檢驗XML文件的有效性。XML有效性結(jié)果發(fā)送器向XML語法分析器發(fā)送XML文件的有效性結(jié)果。
通過參照附圖詳細(xì)說明本發(fā)明的示范實(shí)施例,本發(fā)明的上述特點(diǎn)和優(yōu)點(diǎn)將會變得更加清楚,其中圖1是圖解傳統(tǒng)的XML語法分析器的配置的視圖;圖2是圖解按照本發(fā)明的一個實(shí)施例的使用外部XML驗證器的XML語法分析器的配置的視圖;圖3是解釋按照本發(fā)明的一個實(shí)施例的通過使用外部XML驗證器來語法分析XML文件的方法的流程圖;圖4是解釋按照本發(fā)明的一個實(shí)施例的通過使用外部XML驗證器來檢驗XML文件的有效性的方法的流程圖;圖5是解釋按照本發(fā)明的一個實(shí)施例的通過使用一種利用外部XML驗證器來檢驗XML文件的有效性的方法來語法分析XML文件的方法的流程圖。
具體實(shí)施例方式
以下,參照附圖來詳細(xì)說明本發(fā)明的優(yōu)選實(shí)施例。
圖1示出了傳統(tǒng)的XML語法分析器的配置。參見圖1,器件11包括XML語法分析器111、XML應(yīng)用程序112和其他元件(中央處理器(CPU)、存儲器等)。器件12包括模式/DTD數(shù)據(jù)庫12和在器件11中的其他元件。XML語法分析器111包括XML接收器1111、模式/DTD接收器1112、XML驗證器1113和文件對象模型(DOM)/XML的簡單API(Application ProgrammingInterface應(yīng)用編程接口)(SAX)樹產(chǎn)生器114。包括在器件11和器件12中的其他元件與本發(fā)明無關(guān),因此在圖1中不示出。
XML應(yīng)用程序112一般指的是用戶可以使用多個工具對XML文件處理的空間。XML接收器1111從XML應(yīng)用程序112接收XML文件。模式/DTD接收器1112從器件12的模式/DTD數(shù)據(jù)庫121接收模式/DTD數(shù)據(jù)。DTD是采用文件實(shí)例(DI)形式的規(guī)范,定義了文件的規(guī)則,即寫DI的規(guī)則。作為XML文件的實(shí)體的XML文件的DI對應(yīng)于在在DTD中定義的規(guī)則下由用戶所寫的文本。與編程語言的元素相比,DTD是語言的定義。因此,DTD需要定義XML文件的結(jié)構(gòu),而且必須按照DTD的定義來寫DI以驗證XML文件。DTD由元素、屬性列表(ATTLIST)和實(shí)體組成。元素定義包括最高元素的多個元素的屬性,即多個屬性。實(shí)體與在編程語言中使用的宏很類似。實(shí)體按照定義和參考類型被分類成一般實(shí)體和參數(shù)實(shí)體。一般實(shí)體在DTD中被定義并且在DI中被引用。參數(shù)實(shí)體在DTD中被定義和被引用。除了這些之外,DTD包括一個標(biāo)記區(qū)和處理指令。所述標(biāo)記區(qū)被用于處理用于特殊目的的文件的標(biāo)記部分,并且利用外部程序來在文件中處理所述處理指令。為了語法分析具有上述結(jié)構(gòu)的DTD,需要查看DTD的語法,并且需要利用關(guān)于文件結(jié)構(gòu)的信息來建立DI文件的規(guī)則。在利用巴克斯-諾爾形式(BNF)產(chǎn)生在這個處理中建立的文件的結(jié)構(gòu)并且將該文件結(jié)構(gòu)輸入到語法分析產(chǎn)生器的情況下,則可能出現(xiàn)語法的差錯和模糊。因此,需要以樹的形式來查看DI文件的規(guī)則以便排除語法的差錯和模糊。XML模式一般指的是一個文件,它定義XML文件的結(jié)構(gòu)和內(nèi)容。DTD是一種模式,具有很多問題。DTD利用擴(kuò)展的巴克斯-諾爾形式(EBNF)以復(fù)雜和不熟悉的語言來描述XML文件的結(jié)構(gòu)和內(nèi)容。但是,XML模式利用XML描述XML文件的結(jié)構(gòu)和內(nèi)容。而且,XML模式一般可以重新使用DTD不能表述的多種類型的數(shù)據(jù)和元素。換句話說,作為DTD的一種大擴(kuò)展模型的XML模式可以詳細(xì)地定義XML文件可以包含的元素的類型、元素之間的關(guān)系和每個元素可以獲得的一種類型。
如果由在器件11中運(yùn)行的XML應(yīng)用程序112處理的XML文件遵守在器件12的模式/DTD數(shù)據(jù)庫121中存儲的模式/DTD中定義的語法,則模式/DTD接收器1112利用如下所示的在器件11的XML文件的示例中使用的方法經(jīng)由有線或無線通信網(wǎng)絡(luò)(一般成為網(wǎng)絡(luò))從器件12接收模式/DTD文件。
器件11的XMI文件的示例<?xml version=”1.0”?>
<Invoice xmlns=”http://www.invoice.org”xmlns:xsi=”http://www.w3.org/2000/10/XMLSchema-instance”xsi:schemaLocation=”http://www.invoice.org/Invoice.xsd”>
<PaymentDue Currency=”USD”>199.00</PaymentDue>
</Invoice>
“xsi:schemaLocation=”http://www.invoice.org/Invoice.xsd”是關(guān)于包括模式/DTD數(shù)據(jù)庫121的器件12的統(tǒng)一資源定位符(URL)的信息。換句話說,在器件11中的XML語法分析器111利用標(biāo)簽<schemaLocation>找到關(guān)于模式/DTD數(shù)據(jù)庫121的位置的信息。
檢驗在XML文件中的差錯的XML驗證器1113分析在模式/DTD中定義的、用于配置XML文件的協(xié)議,并且建立模式/DTD語法結(jié)構(gòu)。接著,XML驗證器1113將XML文件應(yīng)用到模式/DTD語法結(jié)構(gòu)以驗證在XML文件中的差錯。
如果確定XML文件沒有差錯,則DOM/SAX樹產(chǎn)生器1114產(chǎn)生DOM/SAX樹,并且向XML應(yīng)用程序112發(fā)送DOM/SAX樹。DOM表示以樹結(jié)構(gòu)分析和存儲被語法分析的數(shù)據(jù)的模型,并且允許訪問特定的元素。DOM使用XML文件的最高元素作為根節(jié)點(diǎn)以便以分層樹結(jié)構(gòu)來分析XML文件。因為DOM以樹結(jié)構(gòu)表示數(shù)據(jù),因此DOM能夠自由訪問特定的節(jié)點(diǎn)。因此,DOM也被稱為隨機(jī)訪問協(xié)議。SAX類似于DOM并且與DOM互補(bǔ)。在DOM中,如上所述,所有的XML文件被語法分析并且被轉(zhuǎn)換為具有樹結(jié)構(gòu)的數(shù)據(jù)結(jié)構(gòu)。這個方法很靈活和有效,但是使用許多系統(tǒng)資源。具體上,即使當(dāng)要求XML文件的特定字段值的時候,也需要整體地語法分析XML文件,這可能是一個沉重的負(fù)擔(dān)。SAX看來可解決這個問題。SAX不以樹結(jié)構(gòu)來向存儲器上載全部XML文件。但是,SAX依序語法分析元素,將語法分析的元素傳送到所述存儲器,并且省略以樹結(jié)構(gòu)來構(gòu)成元素。DOM被稱為隨機(jī)訪問協(xié)議,而SAX被稱為串行訪問協(xié)議。SAX也被稱為事件驅(qū)動協(xié)議,通過這個協(xié)議XML處理器在SAX語法分析器中注冊自己,并且SAX語法分析器通過回調(diào)函數(shù)來將新發(fā)現(xiàn)的XML標(biāo)簽通知XML處理器。
圖2示出了按照本發(fā)明的一個實(shí)施例的使用外部XML驗證器的XML語法分析器的配置。參加圖2,器件21包括使用外部XML驗證器的XML語法分析器21、XML應(yīng)用程序212和其他元件(CPU、存儲器等)。器件22包括模式/DTD數(shù)據(jù)庫121和其他包括在器件21中的元件。作為外部XML驗證器的器件23包括模式/DTD接收器233、XML驗證器232和XML有效性結(jié)果發(fā)送器231。XML語法分析器211包括XML接收器2111、外部XML驗證器調(diào)用器2112和DOM/SAX樹產(chǎn)生器2113。
XML接收器2111從XML應(yīng)用程序212接收XML文件。
外部XML驗證器調(diào)用器2112請求XML驗證器23檢驗XML文件的有效性,并且接收對請求的對答。在此,外部XML驗證器調(diào)用器2112從所接收的XML文件找到外部XML驗證器23的位置。換句話說,外部XML驗證器調(diào)用器2112通過使用在如下所示的器件21的XML文件的示例中使用的方法經(jīng)由有線或無線網(wǎng)絡(luò)來調(diào)用外部XML驗證器23。
器件21的XML文件的示例<?xml version=”1.0”?>
<Invoice xmlns=”http://www.invoice.org”xmlns:xsi=”http://www.w3.org/2000/10/XMLSchema-instance”xsi:schemaLocation=”http://www.invoice.org/Invoice.xsd”xsi:validatorLocation=”http://www.samsung.com/DeviceAnalyzer”>
<PaymentDue Currency=”USD”>199.00</PaymentDue>
</Invoice>
“xsi:validatorLocation=”http:∥www.samsung.corn/DeviceAnalyzer”是關(guān)于外部XML驗證器23的統(tǒng)一資源定位符(URL)的信息。換句話說,在器件21中的XML語法分析器211利用標(biāo)簽<validatorLocation>找到外部XML驗證器23的位置。
當(dāng)外部XML驗證器調(diào)用器2112請求外部XML驗證器23檢驗XML文件的有效性的時候,外部XML驗證器調(diào)用器2112經(jīng)由有線或無線網(wǎng)絡(luò)以URL向外部XML驗證器23發(fā)送具有XML語法分析器211的器件21的操作系統(tǒng)(OS)的一個版本和XML文件。
如果外部XML驗證器調(diào)用器2112從外部XML驗證器23接收指示XML文件有效的一個回答,則DOM/SAX樹產(chǎn)生器2113從XML文件產(chǎn)生一個DOM/SAX樹,并且將這個DOM/SAX樹發(fā)送到XML應(yīng)用程序212。如果外部XML驗證器調(diào)用器2112從外部XML驗證器23接收指示XML文件無效的一個回答,則XML驗證器調(diào)用器2112向XML應(yīng)用程序212發(fā)送差錯消息。
如果模式/DTD接收器233從XML語法分析器211接收檢驗XML文件的有效性的請求,則模式/DTD接收器233經(jīng)由有線或無線網(wǎng)絡(luò)從模式/DTD數(shù)據(jù)庫221接收對應(yīng)于XML文件的模式/DTD。換句話說,在模式/DTD接收器233接收具有XML語法分析器211的器件21的OS的版本和XML文件并且隨后從XML語法分析器211接收檢驗XML文件的有效性的請求之后,當(dāng)OS要求外部XML驗證器23的時候,模式/DTD接收器233從模式/DTD數(shù)據(jù)庫221接收對應(yīng)于XML文件的模式/DTD。但是,如果具有XML語法分析器211的器件21不是具有較低性能的處理器和小存儲器的嵌入器件(如PDA或便攜電話等),則因為器件21包括用于檢驗XML文件的有效性的裝置,因此器件21不要求外部XML驗證器23。為了從模式/DTD數(shù)據(jù)庫221接收對應(yīng)于XML文件的模式/DTD,模式/DTD接收器233應(yīng)當(dāng)從XML文件找到模式/DTD數(shù)據(jù)庫221的位置,即模式/DTD221的URL。關(guān)于此如下模式/DTD接收器233以在器件21的XML文件的示例中所述URL“xsi:schemaLocation=http://www.invoice.org/Invoice.xsd”從模式/DTD數(shù)據(jù)庫221接收模式/DTD。換句話說,外部XML驗證器23從器件21接收XML文件,接收在標(biāo)簽<schemaLocation>中的對應(yīng)模式/DTD,并且檢驗XML文件的有效性。
XML驗證器232將XML文件應(yīng)用到所接收的模式/DTD以檢驗XML文件的有效性。換句話說,XML驗證器232分析在模式/DTD中定義的、用于配置XML文件的協(xié)議,并且產(chǎn)生模式/DTD語法結(jié)構(gòu)。接著,XML驗證器232將XML文件應(yīng)用到模式/DTD語法結(jié)構(gòu)以驗證在XML文件中的差錯。在此,可以通過改變或修改模式/DTD的版本而驗證所有可能的XML文件。
XML有效性結(jié)果發(fā)送器231經(jīng)由有線或無線網(wǎng)絡(luò)向XML語法分析器211發(fā)送XML文件的有效性結(jié)果。按照有效性結(jié)果,可以出現(xiàn)三種情況。在第一種情況下,器件12不是具有較低性能的處理器和小存儲器的嵌入器件,并且創(chuàng)建和發(fā)送“NONE(無)”消息。在第二種情況下,XML文件不具有差錯,并且創(chuàng)建和發(fā)送一個“OK(好)”消息。在第三種情況下,XML具有差錯,并且產(chǎn)生和發(fā)送包括“差錯+行號+理由”的消息。在創(chuàng)建和向器件21發(fā)送“OK”消息的情況下,一個DOM/SAX樹被創(chuàng)建和發(fā)送到XML應(yīng)用程序212。在產(chǎn)生并且向器件21發(fā)送“NON”消息或消息“差錯+行號+理由”的情況下,“NON”消息或消息“差錯+行號+理由”本身被經(jīng)由有線或無線網(wǎng)絡(luò)發(fā)送到XML應(yīng)用程序212。
圖3是解釋按照本發(fā)明的一個實(shí)施例的用于通過使用外部XML驗證器來語法分析XML文件的方法的流程圖。
在步驟31中,從XML應(yīng)用程序接收XML文件。在步驟32,外部XML驗證器接收檢驗XML文件的有效性的請求并且響應(yīng)所述請求。如果在步驟33確定XML文件有效,則在步驟34,DOM/SAX樹從XML文件被產(chǎn)生并且被經(jīng)由有線或無線網(wǎng)絡(luò)發(fā)送到XML應(yīng)用程序。如果在步驟33確定XML文件無效,則在步驟35,經(jīng)由有線或無線網(wǎng)絡(luò)向XML應(yīng)用程序發(fā)送差錯消息。對于檢驗XML文件的有效性的請求,外部XML驗證器的位置應(yīng)當(dāng)從所接收的XML文件找到并且隨后被請求檢驗XML文件的有效性。而且,當(dāng)請求檢驗XML文件的有效性的時候,用于執(zhí)行XML語法分析方法的器件的OS的一個版本和XML文件被發(fā)送到外部XML驗證器。
圖4是解釋按照本發(fā)明的一個實(shí)施例的通過使用外部XML驗證器來檢驗XML文件的有效性的方法的流程圖。
在步驟41中,如果利用外部XML驗證器從XML語法分析器接收到檢驗XML文件的有效性的請求,則經(jīng)由有線或無線網(wǎng)絡(luò)從模式/DTD數(shù)據(jù)庫接收到對應(yīng)于XML文件的模式/DTD。在步驟42,XML文件被應(yīng)用到模式/DTD并且XML文件的有效性被檢驗。在步驟43,經(jīng)由有線或無線網(wǎng)絡(luò)利用外部XML驗證器向XML語法分析器發(fā)送XML文件的有效性結(jié)果。在此,在接收到用于執(zhí)行XML語法分析方法的器件的OS的版本和XML文件和檢驗XML文件的有效性的請求之后,僅僅當(dāng)OS要求外部XML驗證器的時候,從模式/DTD數(shù)據(jù)庫接收對應(yīng)于XML文件的模式/DTD。如果接收到檢驗XML文件的有效性的請求,則模式/DTD數(shù)據(jù)庫的位置應(yīng)當(dāng)從XML文件找到以便從模式/DTD數(shù)據(jù)庫接收對應(yīng)于XML文件的模式/DTD。
圖5是解釋用于檢驗XML文件的有效性的方法和用于通過使用該有效性方法來語法分析XML文件的方法的流程圖。
在步驟51,接收到XML文件,并且請求對XML文件的有效性的檢驗。在步驟52,接收到對應(yīng)于XML文件的模式/DTD,XML文件被應(yīng)用到模式/DTD以檢驗XML文件的有效性,并且發(fā)送XML文件的有效性結(jié)果。如果在步驟53確定XML文件有效,則在步驟54,DOM/SAX樹被從XML文件創(chuàng)建并且被發(fā)送。如果在步驟53確定XML文件無效,則在步驟55發(fā)送差錯消息。
如上所述,按照本發(fā)明,當(dāng)調(diào)用外部XML驗證器的時候,可以最小化具有較低性能和小存儲器的嵌入器件(如PDA或便攜電話等)的資源的使用。因此,可以調(diào)用外部XML驗證器來向XML應(yīng)用程序發(fā)送準(zhǔn)確的XML文件而無需擴(kuò)展現(xiàn)有的語法分析器。而且,外部XML驗證器可以同時檢驗之前的模式/DTD和之后的模式/DTD以糾正在XML文件中由于模式/DTD的版本導(dǎo)致的差錯(在XML文件中由于外部模式/DTD的改變而導(dǎo)致的差錯)。
本發(fā)明的上述實(shí)施例可以被寫為可以在計算機(jī)中執(zhí)行的程序,并且可以利用計算機(jī)可讀記錄介質(zhì)在通用的數(shù)字計算機(jī)中實(shí)現(xiàn)。計算機(jī)可讀記錄介質(zhì)包括磁存儲介質(zhì)(如ROM、軟盤、硬盤等)、光學(xué)讀出器(如CD-ROM和DVD等)、載波(如通過因特網(wǎng)的發(fā)送)。
雖然已經(jīng)參照本發(fā)明的示范實(shí)施例具體示出和說明了本發(fā)明,本領(lǐng)域的技術(shù)人員會明白,在不脫離所附的權(quán)利要求所限定的本發(fā)明的精神和范圍的情況下,可以進(jìn)行形式和細(xì)節(jié)上的各種改變。
權(quán)利要求
1.一種利用外部XML驗證器的XML語法分析器,XML語法分析器包括XML接收器,從XML應(yīng)用程序接收XML文件;外部XML驗證器調(diào)用器,請求外部XML驗證器檢驗XML文件的有效性并且接收對該請求的回答;和DOM/SAX樹產(chǎn)生器,如果外部XML驗證器調(diào)用器接收指示XML文件有效的回答,則DOM/SAX樹產(chǎn)生器從XML文件產(chǎn)生DOM/SAX樹并且向XML應(yīng)用程序發(fā)送DOM/SAX樹。
2.按照權(quán)利要求1的XML語法分析器,其中如果外部XML驗證器調(diào)用器接收到XML文件無效的回答,則DOM/SAX樹產(chǎn)生器向XML應(yīng)用程序發(fā)送差錯消息。
3.按照權(quán)利要求1的XML語法分析器,其中外部XML驗證器調(diào)用器從XML文件中找到外部XML驗證器的位置,請求外部XML驗證器檢驗XML文件的有效性,并且接收對所述請求的回答。
4.按照權(quán)利要求1的XML語法分析器,其中外部XML驗證器調(diào)用器向外部XML驗證器發(fā)送具有XML語法分析器的器件的操作系統(tǒng)的版本和XML文件,請求外部XML驗證器檢驗XML文件的有效性,并且接收對所述請求的回答。
5.一種外部XML驗證器,用于在XML語法分析器中檢驗XML文件的有效性,所述外部XML驗證器包括模式/DTD接收器,被請求從XML語法分析器檢驗XML文件的有效性,并且從模式/DTD數(shù)據(jù)庫接收對應(yīng)于XML文件的模式或DTD;XML驗證器,將XML文件應(yīng)用到所接收的模式或DTD以檢驗XML文件的有效性;XML有效性結(jié)果發(fā)送器,向XML語法分析器發(fā)送XML文件的有效性結(jié)果。
6.按照權(quán)利要求5的外部XML驗證器,其中模式/DTD接收器從XML語法分析器接收具有XML語法分析器的器件的操作系統(tǒng)的版本和XML文件,接收檢驗XML文件的有效性的請求,并且如果操作系統(tǒng)要求外部XML驗證器,則從模式/DTD數(shù)據(jù)庫接收對應(yīng)于XML文件的模式或DTD。
7.按照權(quán)利要求5的外部XML驗證器,其中如果模式/DTD接收器從XML語法分析器接收檢驗XML文件的有效性的請求,模式/DTD接收器從XML文件找到模式/DTD數(shù)據(jù)庫的位置,并且從模式/DTD數(shù)據(jù)庫接收對應(yīng)于XML文件的模式或DTD。
8.一種XML語法分析器驗證器,用于語法分析和檢驗XML文件,所述XML語法分析器驗證器包括XML語法分析器,從XML應(yīng)用程序接收XML文件,請求一個外部XML驗證器檢驗XML文件的有效性,如果接收到XML文件有效的回答則從XML文件產(chǎn)生DOM/SAX樹,并且向XML應(yīng)用程序發(fā)送DOM/SAX樹;和外部XML驗證器從XML語法分析器接收檢驗XML文件的有效性的請求,從模式/DTD數(shù)據(jù)庫接收對應(yīng)于XML文件的模式或DTD,將XML文件應(yīng)用到模式或DTD,檢驗XML文件的有效性,并且向XML語法分析器發(fā)送XML文件的有效性結(jié)果。
9.按照權(quán)利要求8的XML語法分析器驗證器,其中XML語法分析器驗證器從XML應(yīng)用程序接收XML文件,請求外部XML驗證器檢驗XML文件的有效性,并且如果對所述請求的回答指示XML文件無效,則XML語法分析器向XML應(yīng)用程序發(fā)送差錯消息。
10.一種利用外部XML驗證器而語法分析XML文件的方法,所述方法包括(a)從XML應(yīng)用程序接收XML文件;(b)請求檢驗XML文件的有效性并且接收對該請求的回答;(c)如果對所述請求的接收的回答指示XML文件是有效的,則從XML文件產(chǎn)生DOM/SAX樹并且向XML應(yīng)用程序發(fā)送該DOM/SAX樹。
11.按照權(quán)利要求10的方法,其中在步驟(c),如果接收到對所述請求的回答指示XML文件無效,則發(fā)送差錯消息。
12.按照權(quán)利要求10的方法,其中在步驟(b),從XML文件中找到外部XML驗證器的位置,向外部XML驗證器發(fā)送檢驗XML文件的有效性的請求,并且接收對所述請求的回答。
13.按照權(quán)利要求10的方法,其中在步驟(b),向外部XML驗證器發(fā)送XML語法分析器的操作系統(tǒng)的版本和XML文件,請求檢驗XML文件的有效性,并且接收對所述請求的回答。
14.一種用于使用外部XML驗證器檢驗XML文件的有效性的方法,所述方法包括(a)如果被請求檢驗XML文件的有效性,則接收對應(yīng)于XML文件的模式或DTD;(b)將XML文件應(yīng)用到模式或DTD以檢驗XML文件的有效性;(c)發(fā)送XML文件的有效性結(jié)果。
15.按照權(quán)利要求14的方法,其中在步驟(a),接收XML語法分析器的操作系統(tǒng)的版本和XML文件,請求檢驗XML文件的有效性,并且如果操作系統(tǒng)要求外部XML驗證器,則從模式/DTD數(shù)據(jù)庫接收模式或DTD。
16.按照權(quán)利要求14的方法,其中在步驟(a),如果請求檢驗XML文件的有效性,則從XML文件找到模式/DTD數(shù)據(jù)庫的位置,并且從模式/DTD數(shù)據(jù)庫接收對應(yīng)于XML文件的模式或DTD。
17.一種用于語法分析和檢驗XML文件的方法,所述方法包括(a)接收XML文件,并且請求檢驗該XML文件的有效性;(b)如果請求檢驗XML文件的有效性,則接收對應(yīng)于XML文件的模式或DTD,將XML文件應(yīng)用到模式或DTD以檢驗XML文件的有效性,并且發(fā)送對于所述請求的回答;(c)如果所接收的對所述請求的回答指示XML文件有效,則從XML文件產(chǎn)生DOM/SAX樹,并且發(fā)送該DOM/SAX樹。
18.按照權(quán)利要求17的方法,其中在步驟(a),如果所接收的對所述請求的回答指示XML文件無效,則發(fā)送差錯消息。
19.一種計算機(jī)可讀記錄介質(zhì),在其上記錄著用于在計算機(jī)上執(zhí)行在權(quán)利要求10-18中的任一個中所述的方法的程序。
全文摘要
提供一種用于當(dāng)XML應(yīng)用程序運(yùn)行在具有較低性能的處理器和小存儲器的嵌入器件中的時候檢驗XML文件的有效性的裝置和方法,以便防止由于錯誤信息而導(dǎo)致的XML應(yīng)用程序中的差錯。使用外部XML驗證器的XML語法分析器包括XML接收器、外部XML驗證器調(diào)用器和DOM/SAX樹產(chǎn)生器。外部XML驗證器包括模式/DTD接收器、XML驗證器和XML有效性結(jié)果發(fā)送器。
文檔編號G06F17/21GK1469247SQ03128620
公開日2004年1月21日 申請日期2003年4月28日 優(yōu)先權(quán)日2002年6月26日
發(fā)明者李在晨, 李京訓(xùn) 申請人:三星電子株式會社