2008 2008年 8月 2

設置在XSL中的DOCTYPE

上週,我創建了一個客戶端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。


2008 2008年 5月 4

包括XSL內的XSL

如果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下載)


2008 2008年 4 4日

工作XSLT的XML節點屬性

如果您使用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下載)



觀看這個空間,我會不斷更新這一新的發現......


NDK的家 | 表達它 表示唇齶裂 表示Penmenship 表示敬畏 表達自己