2010-11-29 75 views
3

有什麼辦法(服務器或客戶端),我可以實際擴展HTML以包含新標籤?例如,它會很酷,如果我可以寫類似的東西定義的blogpost一個模式片段,其中包含了postname,一個postauthor,一個posttimepostcontent,然後請參閱我的HTML blogpost而不是訴諸基本HTML divp標籤。XHTML是否真的Xtensible?

+0

另一個有趣的問題是:如果您只是使用這些自定義元素並將CSS規則應用於它們,哪些瀏覽器可以工作(如開箱即用)? – 2010-11-29 23:00:42

回答

2

聽起來像HTML5是你的衚衕!

您可以使用像section元素來包裝你所有的帖子,並article每個崗位,再加上基本一樣headernavfooter。沒有細粒度的元素,例如postauthor或posttime,但是您可以提供其他屬性來幫助定義這些元素。

嗯,看來我說話很快,你可以使用這個太:

<time pubdate datetime="2010-11-13T20:00+09:00">Posted Nov 13.</time> 
+0

同意!我等不及了。 – Stephen 2010-11-29 22:40:06

2

太棒了。 Here is an article解釋爲什麼它不起作用。基本上,你可以擴展標記。但HTML瀏覽器不會知道如何解釋你的新標籤。

+0

這與我所談論的很接近。 (儘管在嘗試創建新的DTD之前,我可能會嘗試創建一個新的XML Schema) – JnBrymn 2010-11-29 22:57:07

+0

請您詳細說明一下。 HTML瀏覽器是什麼意思?除IE以外的所有現代瀏覽器都有一個XML解析器。哪些瀏覽器知道如何解釋自定義標籤,哪些不知道? – 2010-11-29 23:02:38

+0

被引用的文章令人難以置信地過時('Netscape Navigator'?)。另外,我懷疑瀏覽器並沒有根據文件擴展名將文件內容解釋爲HTML,正如他們聲稱的那樣。 – ijw 2012-09-12 12:29:47

0

對於一般的Web開發人員,沒有。你需要編寫自己的DTD來擁有自己的標籤,即使如此,除了自己的理智之外,對於任何其他語義來說,它都不會從中受益。

此外,一些瀏覽器ahem IE將不知道如何處理您的自定義標籤,你將不得不求助於JavaScript來教它。不是真的推薦...

0

雖然瀏覽器不會立即理解基於XML派生擴展性的擴展,但這並不意味着人們不會在解決這個問題。撇開你的想法,最好的解決方案可能是microformats。以您的博客爲例,hAtom

那麼你得到的東西,瀏覽器理解,但可以逐步提高隨着越來越多的系統支持hAtom,您可以使用樣式類引用條目像.hentry.entry-title.author

0

可以將自定義標籤添加到DOM樹。你不會得到有效的XHTML,但只要你正確地設計了它們,瀏覽器就會理解這些標籤。

使用此瀏覽器行爲的一個非常有趣的項目是WebODF,一個將ODF文檔帶到瀏覽器的工具。查看網站上的視頻和現場演示,瞭解它是如何工作的。

0

您可以通過將XHTML與您的自定義語言混合來添加自定義標籤。該語言不再是XHTML,而是一種複合語言,包括XHTML,但這始終是XHTML的意圖。

但是,您需要正確使用XHTML,並使用XML MIME類型(如application/xhtml + xml)提供服務,這意味着在IE9之前不支持IE。

可以使用博客帖子,postname看到一個例子,postauthor等在這裏:

http://www.alohci.net/application/xhtml+xml/custom1.xhtml.ashx

(工程在火狐,Chrome,Safari瀏覽器,Opera和IE9)


[當然,您可以將無效標籤放入HTML中並對其進行設計,但對我而言,這似乎並不是我所關心的問題,這特別是關於XHTML的可擴展性。]