Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

請問有人在使用XML設計網頁嗎?

35 views
Skip to first unread message

綠笛

unread,
Mar 7, 2000, 3:00:00 AM3/7/00
to

請問有人在使用 [33;1mXML [0m設計網頁嗎?

成效如何?

它可以和ASP,VB Script等技術混合使用嗎?

--
[m [1;37m※來源:蘭雨情懷資訊站 ccbbs.ilantech.edu.tw 作者來自:ece221.ilantech. [m

讓自己快樂一點...

unread,
Mar 7, 2000, 3:00:00 AM3/7/00
to
==> 於 綠笛 (Kevinl...@ccbbs.ilantech.edu.tw) 文中述及:
: 請問有人在使用 [33;1mXML [0m設計網頁嗎?
: 成效如何?
: 它可以和ASP,VB Script等技術混合使用嗎?
:
XML跟ASP有什麼主要的差別呢?(如用途上...)謝謝...
--
[1;37m人為什麼要等到快失去的時候...才發現到一切都已經太晚了呢...
尤其是在生命的時鐘,快要被神的手停下來時...
現在的我能看到一個光芒...一個黑暗 微弱的光芒...
請為我守住這光芒...不要在人們大意的時候熄滅它...
那怕是用我的生命去交換也好...
[1;5;36m神啊...請多給我一點時間... [m
[mΞ Origin: 逢甲蒼穹資訊網 <bbs.fcu.edu.tw> [FROM: 140.134.9.156]

老怪

unread,
Mar 8, 2000, 3:00:00 AM3/8/00
to

讓自己快樂一點... <hzz...@bbs.fcu.edu.tw> wrote in message
news:3C8M7G$3...@bbs.fcu.edu.tw...

> ==> 於 綠笛 (Kevinl...@ccbbs.ilantech.edu.tw) 文中述及:
> : 請問有人在使用 [33;1mXML [0m設計網頁嗎?
> : 成效如何?
> : 它可以和ASP,VB Script等技術混合使用嗎?
> :
> XML跟ASP有什麼主要的差別呢?(如用途上...)謝謝...

唉!很難答的問題啦,如果你全無網頁經驗的話?

先讓我們確定一點,把程式和網頁手稿分開。
Java、VB、CGI ,應用程式語言,不是以網頁應用為主。
HTML、XML、JavaScript、VBScript、ASP、PHP,手稿,以網頁應用為主。

就手稿又可分伺服端手稿和客戶端手稿:
伺服端手稿:ASP、PHP
客戶端手稿:HTML、XML、JavaScript、VBScript

就客戶端手稿可分為:
負責動態變化手稿:JavaScipt、VBScript
負責內容呈現手稿:HTML、XML

所以你現在知道什麼該跟什麼比了嗎?那就是 XML 要和 HTML 比,而不是跟 ASP,VB
Script 比。有了這觀念,我們才談的下去。OK ,那 XML 和 HTML ,有什麼不一樣?
就學者專家的說法,HTML 是一種資料內容和顯示格式混雜的語言,而 XML 則把二者分
開,資料內容歸資料內容,顯示格式歸顯示格式。不懂嗎?正常,學者專家的意見本來
就難懂,我也不太懂,不過老怪瞎掰,你可能就會有點懂,例如:

<HTML>
<H1>我是標題<H1>
<P>
我是本文,當然要囉嗦一點....................................
</P>
</HTML>

這誰都知道 <H1> 是最大號標題顯示,而 <P> 就是一般字型的本文段落囉。因此這份
HTML 稿,我們真正傳達的意思是一篇帶標題的文章,標題用最大字顯示,本文用一般
字顯示。那 XML 怎麼表示?如下:
<?xml version="1.0"?>
<MyPaper>
<Title>
我是標題
</Title>
<Content>
我是本文,當然要囉嗦一點....................................
</Content>
</MyPaper>

簡單吧,可是你一定會問,這什麼標籤,沒看過,當然沒看過,因為是我自己取的,你
也可以取標籤名稱,XML 目的就是讓你自己可以取自己喜歡的標籤名稱。問題是怎麼顯
示格式?好問題,正確答案是 XML 內沒有顯示格式的敘述,要把 XML 格式顯示出來,
要配合另外一個顯示格式的檔案,這個顯示格式檔案在那裡?又是一個好問題
,答案是沒有固定的格式檔,你要自己做。怎麼做就複雜了,目前辦法有三種:

正統辦法:做 DTD 格式檔(目前老怪不會)。
簡易辦法:用 CSS Style Sheet 來設定(目前老怪還沒搞懂)。
非要老怪顯示不可:HTML 配 Script ,用 IE 5 跑。

我用前面那個 XML 格式講解一下辦法三的大概:
<HTML>
<BODY>
<SCRIPT LANGUAGE=JAVASCPIT>
var obj=myxml
document.write("<H1>"+obj.MyPaper.Title+"</H1>";
document.write("<P>"+obj.MyPaper.Content+"</P>";
</SCRIPT>
</BODY>
</HTML>
這樣就能呈現出和剛剛那個 HTML 同樣的面貌(還有很多其他細節要做,請自行參考微
軟說明。)

或許你會說無聊嘛,我直接寫 HTML 就好,幹嘛那麼費事?問題是我們比方你有十個不
同內容的網頁,但每個都有相同的格式,你用 HTML做的是十個 HTML Page ,而你用
XML 做是 10 個 XML 加一個顯示格式的 DHTML,好像還是 HTML 省。但如果老板跟你
說標題用小一點,本文要斜體字,那麼 HTML 就十個 Page 都要改,而 XML 呢?你只
要到剛才那個 DHTML 更改如下
document.write("<H3>"+obj.MyPaper.Title+"</H3>";
document.write("<P><I>"+obj.MyPaper.Content+"</I></P>";
OK ,解決了。

又如果老板跟你說,我有十個 Page 內容,每個都要能用十個不同版面顯示,那你用
HTML 要用一百個 Page ,那 XML 要幾個 Page 呢,答案是十個 XML ,十個 DHTML ,
總數二十個。

又如果多開發者環境下,你們大家的資料有重覆的,有個別的,XML 帶來的好處是你們
不用把 Page 內容 Copy 來 Copy 去,再修修剪剪,你們可以共用一個 XML ,再在顯
示個人的格式檔中去顯示自己需要的資料部份。

又如果.....,好了,不要再如果了,你自己去想,好處多的數不完。最後回答的問題
是 XML 和 ASP or PHP 如何配合?其實所謂的 Server Script ,有一大部份就是把
Client 端的 Script 搬到 Server 端執行,那麼所有我剛才講的利用方式,一樣可以
在 Server 端運作,甚至更有效率,因為你可以在 Server 有一大個 XML 檔,用 ASP
or PHP 取用 XML 中相關資訊,再送到 Client ,而不必把整個 XML 送到 Client 。

重覆學者專家的話,XML 是一種資料內容與顯示格式分離的處理模式,現在你有比較領
會其中涵意了嗎?所以如果你要耍酷耍炫,就不需要 XML ,XML 完全沒有酷炫效果,
其次 XML 能帶給你的是網頁管理、組織、流通的新觀念,尤其它能讓你發展專屬於自
己組織或機構的網頁規則和架構,所以如果你不需要在 DHTML 中另行發展一套管理方
法,並且有能力自己去建立規則,那麼顯然的,XML 不適合你。

Post Only

unread,
Mar 8, 2000, 3:00:00 AM3/8/00
to
※ 引述《let...@ms6.url.com.tw (老怪)》之銘言:

> 讓自己快樂一點... <hzz...@bbs.fcu.edu.tw> wrote in message
> news:3C8M7G$3...@bbs.fcu.edu.tw...
> > XML跟ASP有什麼主要的差別呢?(如用途上...)謝謝...
> 唉!很難答的問題啦,如果你全無網頁經驗的話?
> 先讓我們確定一點,把程式和網頁手稿分開。
> Java、VB、CGI ,應用程式語言,不是以網頁應用為主。
> HTML、XML、JavaScript、VBScript、ASP、PHP,手稿,以網頁應用為主。
> 就手稿又可分伺服端手稿和客戶端手稿:
> 伺服端手稿:ASP、PHP
> 客戶端手稿:HTML、XML、JavaScript、VBScript
> 就客戶端手稿可分為:
> 負責動態變化手稿:JavaScipt、VBScript
> 負責內容呈現手稿:HTML、XML

XML 與 HTML 的比較簡單來說就好像 Language C 與 OOPL 的比較...
是微軟跨平台, COM , ActiveX 物件觀念應用的延伸...

MS 在最近推出的軟體中, 不知不覺已讓很多東西都物件化了...
Win2000, Office2000 等等...
XML 是跨平台的技術...

是最近上課聽到的一點感覺...不對的話不吝指正...
--
[1;32m※ Origin: [33m台灣科大電子站 [37m<bbs.et.ntust.edu.tw> [m
[1;31m◆ From: [36m140.118.230.182 [m

Zick

unread,
Mar 8, 2000, 3:00:00 AM3/8/00
to
Post Only <BadtzM...@bbs.et.ntust.edu.tw> wrote:
> XML 與 HTML 的比較簡單來說就好像 Language C 與 OOPL 的比較...
> 是微軟跨平台, COM , ActiveX 物件觀念應用的延伸...
> MS 在最近推出的軟體中, 不知不覺已讓很多東西都物件化了...
> Win2000, Office2000 等等...
> XML 是跨平台的技術...
> 是最近上課聽到的一點感覺...不對的話不吝指正...

被你這樣一講人家會誤解 XML 是微軟開發出來的技術, 這是完全錯誤的.
XML 和 HTML 還有許許多多規格是由 W3C 制定的, 微軟只是其中一個
member 而已. 微軟是不會開發這麼開放性的規格的, 他總是免不了得綁
一些他的作業系統或是物件的獨家技術.


Post Only

unread,
Mar 8, 2000, 3:00:00 AM3/8/00
to
※ 引述《zi...@db.csie.ncu.edu.tw (Zick)》之銘言:


嗯...也許是我了解的不足吧...跨平台的說法是我的語病....
但其前因後果, 好像也真的是它所提的構想漸漸被接受所致...

老怪

unread,
Mar 9, 2000, 3:00:00 AM3/9/00
to

Post Only <BadtzM...@bbs.et.ntust.edu.tw> wrote in message
news:3ZL52S$q...@bbs.et.ntust.edu.tw...

> ※ 引述《zi...@db.csie.ncu.edu.tw (Zick)》之銘言:
> > Post Only <BadtzM...@bbs.et.ntust.edu.tw> wrote:
> > > XML 與 HTML 的比較簡單來說就好像 Language C 與 OOPL 的比較...
> > > 是微軟跨平台, COM , ActiveX 物件觀念應用的延伸...
> > > MS 在最近推出的軟體中, 不知不覺已讓很多東西都物件化了...
> > > Win2000, Office2000 等等...
> > > XML 是跨平台的技術...
> > > 是最近上課聽到的一點感覺...不對的話不吝指正...
> > 被你這樣一講人家會誤解 XML 是微軟開發出來的技術, 這是完全錯誤的.
> > XML 和 HTML 還有許許多多規格是由 W3C 制定的, 微軟只是其中一個
> > member 而已. 微軟是不會開發這麼開放性的規格的, 他總是免不了得綁
> > 一些他的作業系統或是物件的獨家技術.
>
>
> 嗯...也許是我了解的不足吧...跨平台的說法是我的語病....
> 但其前因後果, 好像也真的是它所提的構想漸漸被接受所致...

其實我覺得 XML 的基本觀念跟跨不跨平台沒什麼關係,還是我那句話,XML 精神就是
資料內容與顯示格式分離的處理技術,這種處理的技術用很多種實做方法都可以做到,
最早被利用而且為大家所熟知的就是資料庫資料記錄與報表格式分離的處理技術,做資
料庫的人都知道,一個資料庫資料錄可以和許許多多的報表格式配合,報表格式可以變
化多端,但使用的卻只是同一個資料錄。
而所謂 W3C 制定 XML 規格的用意就是,好吧,既然大家都有資料內容和顯示格式分離
的需求,那麼我們就來制定一個共同的標準,好讓大家的這種作法可以互相流用。就如
同在資料內容中插入顯示格式的標籤,把資料內容做不同樣式的呈現,是所有排版軟體
早就在利用的技術,只是彼此做法不同,無法流用。於是 W3C 才搞出個 HTML 制定標
籤的共通規格,供大家流用。所以不管是 HTML or XML 的基本處理技術和方法,都不
是 W3C 發明的,W3C 也沒有研發電腦新技術的使命,它的責任是為這些技術訂定共同
標準。 所以你說資料內容與顯示格式的處理關念是誰的發明,誰的技術,老怪覺得好
像是老怪發明的耶,因為當我看到 XML 說明文件時,就覺得我的看法早就是這樣了,
只不過一不留神,被別人先偷跑了。
至於我用 IE5 做例,只是因為 IE5 中率先插了個能解譯 XML 規格的 ActiveX 元件,
讓你能用此元件,透過 Script 和 DHTML ,做各種 XML 檔案顯示格式的實做而已。所
以如果你能用 Java 寫個解譯 XML 的 Applet ,插在 Netscape 裏跑,你一樣可以做
到像 IE 5 的功能。而 ASP、PHP 和 CGI 又何嘗不如此,加個 XML 解譯器,就可以宣
稱成立了 XML Server 站了。
最後我用個例子做結,那就是如果不使用 XML ,單純用 Script ,你如何能在 DHTML
中達成資料內容與顯示格式分離的處理技術,還是以我前文的範例來推衍:

/* 這是原來 XML 檔 */


<?xml version="1.0"?>
<MyPaper>
<Title>
我是標題
</Title>
<Content>
我是本文,當然要囉嗦一點....................................
</Content>
</MyPaper>

/* 這是 xml01.js 外部模組檔 */
var MyPaper=new Object();
MyPaper.Title="我是標題";
MyPaper.Content="我是本文,當然要囉嗦一點
....................................";

/* 這是不使用 IE5 XML 解譯元件的 DHTML 檔 */
<HTML>
<!-- 引用 xml01.js 外部模組檔 -->
<<SCRIPT LANGUAGE=JAVASCPIT SRC="xml01.js"></SCRIPT>
<BODY>
<SCRIPT LANGUAGE=JAVASCPIT>
/* 引用我們自己定義的 xml JS 物件 */
var obj=MyPaper;

/* 把物件資料內容併同顯示格式輸出到網頁上 */


document.write("<H1>"+obj.MyPaper.Title+"</H1>";
document.write("<P>"+obj.MyPaper.Content+"</P>";
</SCRIPT>
</BODY>
</HTML>

好啦,沒有使用任何 XML 檔和任何 XML 解譯器,你一樣達成了 XML 資料內容與顯示
格式分離處理的目的。不過你可不要說那我們用老怪式的 XML 比較省事,因為那除了
你我之外,別人可都是莫明其妙的喔。所以這時就是 W3C 的功能出來啦,制定一個共
同規範給大家遵守,而不是由老怪那兒胡說八道,自成一家。什麼是資料內容與顯示格
式分離處理,什麼是 XML 共同規格,有比較能分清楚彼此界定範圍的不同和各自的重
要性嗎?

ps.我的感慨:
為何那些大廠商總喜歡用些新奇怪異的名字來迷惑我們咧???

Post Only

unread,
Mar 9, 2000, 3:00:00 AM3/9/00
to
※ 引述《let...@ms6.url.com.tw (老怪)》之銘言:

> 好啦,沒有使用任何 XML 檔和任何 XML 解譯器,你一樣達成了 XML 資料內容與顯示
> 格式分離處理的目的。不過你可不要說那我們用老怪式的 XML 比較省事,因為那除了
> 你我之外,別人可都是莫明其妙的喔。所以這時就是 W3C 的功能出來啦,制定一個共
> 同規範給大家遵守,而不是由老怪那兒胡說八道,自成一家。什麼是資料內容與顯示格
> 式分離處理,什麼是 XML 共同規格,有比較能分清楚彼此界定範圍的不同和各自的重
> 要性嗎?
> ps.我的感慨:
> 為何那些大廠商總喜歡用些新奇怪異的名字來迷惑我們咧???


哇...果然是個高手ㄚ...看了你不算短的文章後, 加上你之前那一篇我覺得真是
獲益良多, 不是在拍馬屁, 是真的很少在網路上看到有人真正的討論...

最後對於你的感慨我也有一種感受, 就是您真的是位高手, 可以有和他們一樣快
的感度與設計技巧來做更進一步的設計...
但是對於一般人, 這些新理念以及整合的標準卻是一種新的方便的功能, 我們直
接依循他就可以達到很棒的設計方式...這就是普及的重要性ㄚ...也就是 W3C 要
在制定 XML 的目的了...

對於跨平台我也說了, 是我的語病, 但是資料內容與顯示格式的分離另一種意思
是不是可以當成一種在各種平台皆可以正確顯示的想法, 只要掛了支援那個平台
的正確解譯器呢? 當初 Java 號稱可以跨平台也是要掛東西上去的...

或者是不是也請您對跨平台一義作一下你的解釋看法...因為目前我的認知是雖號
稱可跨平台者, 其原理也不過是中間再多一層供各類平台解譯的東西 ByteCode..

和您能討論覺得得到很多...:)

老怪

unread,
Mar 10, 2000, 3:00:00 AM3/10/00
to

Post Only <BadtzM...@bbs.et.ntust.edu.tw> wrote in message
news:3ZLJIS$r...@bbs.et.ntust.edu.tw...

> 對於跨平台我也說了, 是我的語病, 但是資料內容與顯示格式的分離另一種意思
> 是不是可以當成一種在各種平台皆可以正確顯示的想法, 只要掛了支援那個平台
> 的正確解譯器呢? 當初 Java 號稱可以跨平台也是要掛東西上去的...

不太了解跨平台是你的語病是什麼意思,基本上來說,不含有任何顯示格式的 XML ,
的確能夠被所有的電腦處理,因為都是文字嘛(或者講是 charcode),如果連文字都不
能處理,那還叫什麼電腦?但能處理不表示它能表示出真正的內涵意義,怎麼說呢,譬
如我曾經想用 XML 做個電子書系統,我的模型大概如下:

<?xml version="1.0"?>
<EBook>
<Page>
<No>1</No>
<Key>玉山</Key>
<Picture>玉山風景圖.gif</Picture>
<Content>玉山地理環境介紹本文......</Content>
</Page>
<Page>
<No>2</No>
<Key>合歡山</Key>
<Picture>合歡山風景圖.gif</Picture>
<Content>合歡山地理環境介紹本文......</Content>
</Page>
...... 其他頁面 Page ......
</EBookr>

No 和 Key 大家應該都了解什麼意思,而 Picture 是存放網頁風景圖的 URL ,
Content 是網頁本文介紹,格式設定是希望做出個 Page ,有圖片,有說明。好了,我
現在要問你的問題是在一般能夠處理圖形的電腦系統上, Cross Table 不成問題,但
你如何讓我的這個 XML 跨到沒有圖形處理能力的純文字電腦系統上?是在那種電腦上
顯示一段這樣文字:"這是一張圖片,請改用可圖形處理的電腦觀視"嗎?這又叫正確顯
示格式嗎?又或者有人想用 XML 做個電視牆系統,例如:

<?xml version="1.0"?>
<ElectBoard>
<Screen>
<No>1</No>
<Content>玉山地理環境介紹本文......</Content>
</Screen>
<Screen>
<No>2</No>
<Picture>玉山風景圖.gif</Picture>
</Screen>
...... 其他 Screen 畫面 ......
</ElectBoard>
意思是電視牆第一台螢幕顯示玉山文字介紹,第二台螢幕顯示玉山圖片,你能說這種規
格一點都不能跨平台,所以這種 XML 一點意義都沒有嗎?

XML 的格式解譯,可以跨平台,但解譯出來的內容,代表什麼意義?以及如何顯示格
式,則未必一定跨平台,要看你如何去規劃它的顯示方式而定。所以 XML 的第一個精
神,讓你自己去設計自己適用的標籤,這一點是我們決不能忽視的功能,第二點,就算
是跨平台,它也不意謂著在各個平台上看起來都一樣。就拿我們的電視牆 XML 來說好
了,或許還是可以跨平台,也就是說在電視牆系統上,它是不同畫面顯示不同的內容,
在個人 PC 上,就改成了開不同的 Browser Window 顯示不同的內容。這點就是我對你
把 XML 當成一種在各種平台皆可以正確顯示想法的回答,如果所謂的正確 顯示是指所
有電腦系統看起來效果都一樣,恐怕 XML 沒這麼神,如果是指所有電腦系統都能以自
己的方式去處理 XML ,還是抱歉,W3C 並沒有跟你保證這點,一個 XML 最終是否能在
各系統上顯示格式,是要由制定此一標籤的作者和單位,自己去制定適用於各種電腦系
統的顯示格式檔案 ,你考慮的愈周詳,就愈能 Cross Table 。而最後一點,XML 這種
資料內容與顯示格式分別處理的方式,有助於 Cross Table 的處理,是的,在這點上
你的確能享受 XML 的便利,一份內容,多種顯示格式,本來就是 XML 的另一大精神,
這在前幾天的 Post 已經說的很清楚了。

>
> 或者是不是也請您對跨平台一義作一下你的解釋看法...因為目前我的認知是雖號
> 稱可跨平台者, 其原理也不過是中間再多一層供各類平台解譯的東西 ByteCode..

跨平台一義作一下解釋?這個問題太大了,我答不上來,事實上一連幾天大放厥詞,我
已經十分心虛,有了被吐巢的準備。畢竟我不是資訊專科,所有發言只是個人主觀的想
法,極有可能是見樹不見林,所以如果說錯,請大家多多指正,不要抱著讓老怪繼續鬧
笑話的心態。有意見的請放馬過來,老怪臉皮厚,頂的住的。


小紫

unread,
Mar 14, 2000, 3:00:00 AM3/14/00
to
※ 引述《"老怪" <let...@ms6.url.com.tw>, 看板: BF3W》之銘言:

: 讓自己快樂一點... <hzz...@bbs.fcu.edu.tw> wrote in message
: news:3C8M7G$3...@bbs.fcu.edu.tw...
: > XML跟ASP有什麼主要的差別呢?(如用途上...)謝謝...

: 唉!很難答的問題啦,如果你全無網頁經驗的話?
: 先讓我們確定一點,把程式和網頁手稿分開。
: Java、VB、CGI ,應用程式語言,不是以網頁應用為主。
: HTML、XML、JavaScript、VBScript、ASP、PHP,手稿,以網頁應用為主。
: 就手稿又可分伺服端手稿和客戶端手稿:
: 伺服端手稿:ASP、PHP
: 客戶端手稿:HTML、XML、JavaScript、VBScript
: 就客戶端手稿可分為:
: 負責動態變化手稿:JavaScipt、VBScript
: 負責內容呈現手稿:HTML、XML

: 所以你現在知道什麼該跟什麼比了嗎?那就是 XML 要和 HTML 比,而不是跟 ASP,VB


: Script 比。有了這觀念,我們才談的下去。OK ,那 XML 和 HTML ,有什麼不一樣?
: 就學者專家的說法,HTML 是一種資料內容和顯示格式混雜的語言,而 XML 則把二者分
: 開,資料內容歸資料內容,顯示格式歸顯示格式。不懂嗎?正常,學者專家的意見本來
: 就難懂,我也不太懂,不過老怪瞎掰,你可能就會有點懂,例如:
: <HTML>
: <H1>我是標題<H1>
: <P>
: 我是本文,當然要囉嗦一點....................................
: </P>
: </HTML>

: 這誰都知道 <H1> 是最大號標題顯示,而 <P> 就是一般字型的本文段落囉。因此這份
: HTML 稿,我們真正傳達的意思是一篇帶標題的文章,標題用最大字顯示,本文用一般
: 字顯示。那 XML 怎麼表示?如下:

: <?xml version="1.0"?>


: <MyPaper>
: <Title>
: 我是標題
: </Title>
: <Content>
: 我是本文,當然要囉嗦一點....................................
: </Content>
: </MyPaper>

: 簡單吧,可是你一定會問,這什麼標籤,沒看過,當然沒看過,因為是我自己取的,你


: 也可以取標籤名稱,XML 目的就是讓你自己可以取自己喜歡的標籤名稱。問題是怎麼顯
: 示格式?好問題,正確答案是 XML 內沒有顯示格式的敘述,要把 XML 格式顯示出來,
: 要配合另外一個顯示格式的檔案,這個顯示格式檔案在那裡?又是一個好問題
: ,答案是沒有固定的格式檔,你要自己做。怎麼做就複雜了,目前辦法有三種:
: 正統辦法:做 DTD 格式檔(目前老怪不會)。

DTD 並非定義「顯示格式」的檔案,而是定義「XML標籤格式」。
以老怪的例子來說,DTD的寫法可以是:

<!ELEMENT MyPaper (Title, Content)>
<!ELEMENT Title (#PCDATA)>
<!ELEMENT Content (#PCDATA)>

此DTD是宣告<MyPaper>這個標籤中應該含有<Title>和<Content>這兩個標籤,
而後兩個標籤含的資料則都是#PCDATA,也就是文字格式的資料。再由此例來
看,如果DB中有筆MyPaper的資料記錄如:

Title:這個也是標題哦!
Content:咦,這裡是本文嗎?要寫什麼呢?

可以想見,該DB資料能輕易被轉寫成XML。反之亦然,XML的資料可以被擷取
出來和資料庫作直接(而且可即時)的連結。事實上,XML的最大功用不光是
所謂「跨平台」或「多重顯示格式」,而是用於資料轉換,例如兩家廠商之
間的資料交換等等。這方面老怪在另一post中解釋得很清楚了,小紫不贅言。
*^^*

總之,DTD並非在瀏覽器中顯示格式的必要檔案。但由於它可以讓使用者知道
該XML檔的結構,故如老怪所言,十位設計者可以使用相同的XML檔設計出十
種不同的版面,而他們根據的就是DTD的定義。

: 簡易辦法:用 CSS Style Sheet 來設定(目前老怪還沒搞懂)。

XML可以配合CSS使用,但真正拿來控制XML版面的最大武器應該是XSL(XML的
Stylesheet Language)

再舉上例來說,XSL的寫法可以是:

<xsl:template match="/">
<html>
<body>
<H1><xsl:value-of select="MyPaper/Title"/></H1>
<P><xsl:value-of select="MyPaper/Content"/></P>
</body>
</html>
</xsl:template>

這樣應該看得出來XSL和CSS的不同點。XSL還可以使用if-then等程式碼來選擇
標籤,甚至作sorting。理論上來說,要用XSL加上CSS才算完全掌控XML的頁面
編排。

: 非要老怪顯示不可:HTML 配 Script ,用 IE 5 跑。


: 我用前面那個 XML 格式講解一下辦法三的大概:
: <HTML>
: <BODY>
: <SCRIPT LANGUAGE=JAVASCPIT>
: var obj=myxml

: document.write("<H1>"+obj.MyPaper.Title+"</H1>";


: document.write("<P>"+obj.MyPaper.Content+"</P>";
: </SCRIPT>
: </BODY>
: </HTML>

: 這樣就能呈現出和剛剛那個 HTML 同樣的面貌(還有很多其他細節要做,請自行參考微
: 軟說明。)

嗯,這樣是在用JS取代XSL的功能,等於跳過XSL的步驟。
如果要用JS來連結XML和XSL,可用:

<html>
<body>
<script language="javascript">
var xml = new ActiveXObject("Microsoft.XMLDOM")
var xsl = new ActiveXObject("Microsoft.XMLDOM")
xml.load("mypaper.xml")
xsl.load("mypaper.xsl")
document.write(xml.transformNode(xsl))
</script>
</body>
</html>

或者直接在XML中加入連結XSL的程式碼:

<?xml-stylesheet type="text/xsl" href="mypaper.xsl"?>

就像連結CSS一樣,這樣在IE5中就可以直接顯示出經過XSL編排好的XML檔案了。

要注意的是,這兩種方法都是使用Client Side轉換,需要瀏覽器支援。由於
目前Netscape 4.x還未支援XML,所以想讓一般瀏覽器都能觀看,最好採用
Server Side轉成HTML檔的方式。

(有興趣的朋友可以參考www.xml101.com網站。上述的JS是由該站擷取出來的。)

: 重覆學者專家的話,XML 是一種資料內容與顯示格式分離的處理模式,現在你有比較領


: 會其中涵意了嗎?所以如果你要耍酷耍炫,就不需要 XML ,XML 完全沒有酷炫效果,
: 其次 XML 能帶給你的是網頁管理、組織、流通的新觀念,尤其它能讓你發展專屬於自
: 己組織或機構的網頁規則和架構,所以如果你不需要在 DHTML 中另行發展一套管理方
: 法,並且有能力自己去建立規則,那麼顯然的,XML 不適合你。

贊同。XML的確不是用來耍酷的網頁語言。事實上,它會讓一般的網頁製作者
(作個人網頁的朋友們)更麻煩,所以在正常狀況中並不需要使用XML來製作
網頁。

因為把格式和內容分離了,所以只含有內容(資料)的XML檔可以轉成WML或
VoxML或任何「ML」族的語言,甚至Postscript和PDF。小紫以為,這就是它
所謂的「跨平台」之威力所在。但當然,針對各個顯示平台(媒體),都需
要個別製作轉換用的格式檔。

故,XML增加了初期規畫的困難,為的是方便後期的製作流程,讓大量的網頁
管理更具彈性與連結性。:)

--
歡迎光臨 [貓咪樂園] telnet://140.116.35.36 [網頁設計討論區 WebDesign]
--
[1;35mOrigin: [31m貓 [1;33m咪 [32m樂 [1;34m園 [1;36m140.116.35.36 [37m(miou.mat.ncku.edu.tw) [m
[1;32m一個以看板文章為主, 重質不重量的 溫馨小站 [m

老怪

unread,
Mar 14, 2000, 3:00:00 AM3/14/00
to

小紫 <pense...@miau.mat.ncku.edu.tw> wrote in message
news:3ZPDLU$_...@miau.mat.ncku.edu.tw...

> ※ 引述《"老怪" <let...@ms6.url.com.tw>, 看板: BF3W》之銘言:
> : 讓自己快樂一點... <hzz...@bbs.fcu.edu.tw> wrote in message
> : news:3C8M7G$3...@bbs.fcu.edu.tw...
> : > XML跟ASP有什麼主要的差別呢?(如用途上...)謝謝...
> 故,XML增加了初期規畫的困難,為的是方便後期的製作流程,讓大量的網頁
> 管理更具彈性與連結性。:)
>
> --
> 歡迎光臨 [貓咪樂園] telnet://140.116.35.36 [網頁設計討論區 WebDesign]
> --
> [1;35mOrigin: [31m貓 [1;33m咪 [32m樂 [1;34m園
[1;36m140.116.35.36 [37m(miou.mat.ncku.edu.tw) [m
> [1;32m一個以看板文章為主, 重質不重量的 溫馨小站 [m

好小紫 (姊姊還是妹妹?)請幫個忙,那兒有 XML 中文的專書,因為老怪英文破破,上
老外網站很痛苦的。

用胃思考的迷糊貓

unread,
Mar 15, 2000, 3:00:00 AM3/15/00
to
※ 引述《"老怪" <let...@ms6.url.com.tw>, 看板: BF3W》之銘言:
: 好小紫 (姊姊還是妹妹?)請幫個忙,那兒有 XML 中文的專書,因為老怪英文破破,上
: 老外網站很痛苦的。

就我所知,目前XML的中文書不多

前陣子打聽、翻譯得比較好的是
華彩軟體出的「實戰XML(William J. Pardi 著 ; 鄒正平編譯)」

現在有沒有更好的我就不清楚了 ;)

老怪

unread,
Mar 16, 2000, 3:00:00 AM3/16/00
to

用胃思考的迷糊貓 <leav...@miau.mat.ncku.edu.tw> wrote in message
news:3ZQ0BI$_...@miau.mat.ncku.edu.tw...

> ※ 引述《"老怪" <let...@ms6.url.com.tw>, 看板: BF3W》之銘言:
> : 好小紫 (姊姊還是妹妹?)請幫個忙,那兒有 XML 中文的專書,因為老怪英文破
破,上
> : 老外網站很痛苦的。
>
> 就我所知,目前XML的中文書不多
>
> 前陣子打聽、翻譯得比較好的是
> 華彩軟體出的「實戰XML(William J. Pardi 著 ; 鄒正平編譯)」
>
> 現在有沒有更好的我就不清楚了 ;)

多謝,有空我會去翻。

0 new messages