2008 2008年 8月 2
上週,我創建了一個客戶端progessive HTML / CSS佈局,在IE6,IE7和FF測試,似乎完全正常......直到! 佈局更進一步下來manufacting週期。 它失敗了。 頁面佈局元素在HTML佈局時被轉換成XSL和XML應用到它...遊民!地方去!
無法入睡週末,預計在星期一早上,當我要解決這個的SH **。 但現在有一點在處理這樣的情況下(瀏覽器怪癖,我的意思)的遭遇,我知道了,別的什麼也不做DOCTYPE .... 和它...
問題:
你想控制的DOCTYPE,因為你的轉型將包括一個默認的DOCTYPE明確,你的佈局將是折騰了。
解決方案:
XSLT規範提供輸出方法來設置的體例選擇的DOCTYPE。 此外,我們的UI開發,感興趣的主題將是HTML輸出方法和XML輸出的方法 。
好吧! 之前,你覺得無聊,這裡是修復。
例如,如果你在你的HTML版本有以下DOCTYPE: -
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
然後在XSL,你就必須具備以下條件: -
<xsl:output method="html" doctype-system="http://www.w3.org/TR/html4/loose.dtd" doctype-public="-//W3C//DTD HTML 4.01 Transitional//EN" indent="yes" />
最後! 確保您的XSLT輸出,服從您所選擇的DOCTYPE。
1評論 |標籤: 瀏覽器怪癖 , DOCTYPE , XML , XSL |張貼在XSL中
2008 2008年 5月 4 日
如果XML / XSL轉換是你的結構域,然後還有時候,我們需要一個動態代碼peice要使用庫項目(可重複使用的要作出)。 我的意思,可能與這個示例場景中更明確。
想像你正在創建一個網站(使用的XML,XSL transfroms當然)和大多數的網頁將有一個評論模塊 。 好吧! 然後,複製或粘貼此代碼到每一頁的模板(我不說,但維修和返工一場噩夢),甚至更好,你創建包含文件可以在任何你想它在您的網頁拉( S)...
那麼,如何創造一個XSL INCLUDE文件,它包括在另一個XSL文件 ? 這裡是如何...
只是把事情說清楚......這裡是快速的文件列表,您將創建......在這裡,我們將納入食品父頁左右的水果和蔬菜的信息。
1。 food.xml - XML數據文件的轉換將應用於
2。 food.xsl - 主要XSL文件,這將改變我們的food.xml
3。 inc_fruits.xsl - 的XSL包括會使水果的數據文件
4。 inc_vegtables.xsl - XSL的文件,將呈現vetetables數據
我不認為我有解釋太多,以上元素的代碼,將自明...
FOOD.XML
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<date>July 2008</date>
<description>All about things we eat everyday</description>
<fruits type="tropical">
<item name="mango" moreinfo="http://www.mango.com">Mango is the king of fruits</item>
<item name="banana" moreinfo="http://www.banana.com">Banana once a day , keeps the doctor away</item>
<item name="orange" moreinfo="http://www.orange.com">Orange is the color and rich in vitamin C</item>
<item name="Papaya" moreinfo="http://www.papaya.com">Papaya - Hot when raw, cold when ripe</item>
</fruits>
<vegetables>
<item name="spinach" moreinfo="http://www.spinach.com">Spinach is full of iron</item>
<item name="asparagus" moreinfo="http://www.asparagus.com">Asparagus contains loads of vitamin D </item>
<item name="fenugreek" moreinfo="http://www.fenugreek.com">Fenugreek is rich in vitamin C</item>
</vegetables>
</food>
FOOD.XSL
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:include href="inc_fruits.xsl" />
<xsl:include href="inc_vegetables.xsl" />
<xsl:template match="/">
<html>
<head>
<title>Title</title>
</head>
<body>
<h3><xsl:value-of select="/food/description" /></h3>
Modification Date : <xsl:value-of select="/food/date" />
<hr/>
<h5> About Fruits</h5>
<xsl:call-template name="about_fruits"/>
<hr/>
<h5> About Vegetables</h5>
<xsl:call-template name="about_vegetables"/>
<hr/>
</ BODY>
</ HTML>
</ XSL模板>
</ XSL樣式表>
INC_FRUITS.XSL <?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1" />
<xsl:template name="about_fruits">
<xsl:for-each select="/food/fruits/item/@*">
attribute name : <xsl:value-of select="name()"/>
attribute value : <xsl:value-of select="."/> <br />
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
INC_VEGETABLES.XSL <?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="iso-8859-1" />
<xsl:template name="about_vegetables">
<xsl:for-each select="/food/vegetables/item/@*">
attribute name : <xsl:value-of select="name()"/>
attribute value : <xsl:value-of select="."/> <br/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
下載上述所有文件(252下載)
沒有評論 |標籤: 教程 , XML , XSL , XSL包括 , XSLT |張貼在XSL中
2008 2008年 4月 4日
如果您使用XML和XSL,那麼你有可能遇到的時間時,你必須發揮你的XSL XML節點的屬性和值。 它們負載對此嗦信息的網站,但我發現沒有一個簡短和精確的......這是沒有XML / XSL的教程,但我試圖把一些金手指列表的排序...
看起來像這樣的示例XML,我們將與...
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="food.xsl"?>
<food>
<fruits type="tropical">
<item name="mango" moreinfo="http://www.mango.com">Mango is the king of fruits</item>
<item name="banana" moreinfo="http://www.banana.com">Banana once a day , keeps the doctor away</item>
<item name="orange" moreinfo="http://www.orange.com">Orange is the color and rich in vitamin C</item>
<item name="Papaya" moreinfo="http://www.papaya.com">Papaya - Hot when raw, cold when ripe</item>
</fruits>
</food>
所以讓我們開始改變我們的上面的XML使用XSL
例1:顯示在選定的屬性值
<xsl:value-of select="/food/fruits/item[@name='orange']" /><br />
to get more information about <a href="{/food/fruits/item[@name='orange']/@moreinfo}" target="new" ><xsl:value-of select="/food/fruits/item[@name='orange']/@name" /> </a>
HTML結果會看起來像
Orange is the color and rich in vitamin C,
to get more information about <a href="http://www.orange.com" target="new">
例2:遍歷並顯示所有XML屬性名稱和值
<xsl:for-each select="/food/fruits/item/@*">
attribute name : <xsl:value-of select="name()"/>,
attribute value : <xsl:value-of select="."/> <br />
</xsl:for-each>
HTML結果會看起來像
attribute name : name, attribute value : mango
attribute name : moreinfo, attribute value : http://www.mango.com
attribute name : name, attribute value : banana
attribute name : moreinfo, attribute value : http://www.banana.com
attribute name : name, attribute value : orange
attribute name : moreinfo, attribute value : http://www.orange.com
attribute name : name, attribute value : Papaya
attribute name : moreinfo, attribute value : http://www.papaya.com
下載上述所有文件(880下載)
觀看這個空間,我會不斷更新這一新的發現......
沒有評論 |標籤: 教程 , XML , XML屬性 , XSL , XSLT |張貼在XSL中