2010-04-20 108 views
8

XSL的輸入是XHTML。在應用XSL之後,輸入XHTML中出現的DOCTYPE聲明在輸出中丟失。我有一個選項可以使用XSL在輸出中複製/保留DOCTYPE聲明。我使用的XSL處理器是SAXON。使用XSL時DOCTYPE聲明丟失了

+0

我會很高興地給予好評的答案,在XSLT的1.0自動執行。 – Jarekczek 2012-10-09 14:16:37

回答

11

添加輸出指令:

<xsl:output 
    doctype-public="-//W3C//DTD XHTML 1.0 Strict//EN" 
    doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd" 
/> 

順便說一句,輸出指令棧 - 你可以有儘可能多的人,只要你想。

+0

如果輸入XHTML有DOCTYPE <!DOCTYPE HTML PUBLIC! 「 - // W3C // DTD XHTML 1.0過渡// EN」「http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd 「>如果我已經設置了DOCTYPE,如上所示,那麼我將最終將輸出的DOCTYPE設置爲<!DOCTYPE html PUBLIC」=「 - // W3C // DTD XHTML 1.0 Strict // EN」「http:// www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd「>是否有一種方式來獲得輸入的DOCTYPE到輸出 – Rachel 2010-04-20 16:40:12

+1

@Rachel:嗯......不容易,我不知道的。在XSLT 1.0中執行此操作的方式。您使用的是哪種XSLT版本?本頁指出在XSLT 2.0中有這種方法:http://www.biglist.com/lists/lists.mulberrytech.com/xsl-list /archives/200807/msg00398.html – Tomalak 2010-04-20 17:01:13

+0

我使用XSL 2.0。將檢查鏈接 – Rachel 2010-04-20 18:44:20