2009 07 Tháng 3 2009

Gọi chức năng onload Nhiều Windows Trong Javascript

Heres một mảnh nhỏ của Javascript thủ đoạn gian trá mà tôi đã phải đào xung quanh bởi vì tình hình commaned. Trong một trong các trang web của tôi, tôi đã có tình trạng này, nơi tôi đã phải thực hiện "windows.onload" hai lần. Điều đầu tiên mà có thể đến với một tâm trí thiếu kinh nghiệm như tôi (tôi phải thành thật nói rằng, kể từ khi tôi đã được sử dụng các khuôn khổ và thư viện javascript, tôi đã forgotton để làm những việc đơn giản ... của riêng tôi buồn nhưng thật sự), là phương pháp sau đây ...

 window.onload = onloadfn1;
 window.onload = onloadfn2;
 window.onload = onloadfn3;
 vv ..

Xin lỗi để nói nhưng, điều này sẽ không làm việc ... không muốn thảo luận về các khoa học thực hiện Javascript nhiều ... nhưng theo kinh nghiệm gần đây của tôi, chỉ có chức năng cuối cùng (onloadfn3) sẽ bị bệnh thực sự có được thực hiện.

Trong tình huống bình thường, không giống như tôi (mà tôi sẽ nói về một chút sau này) ... bạn có thể làm một trong những điều sau đây để thực hiện các chức năng onload mutliple ....

HOẶC một cái gì đó như thế này

 doOnLoad chức năng () {
         onloadfn1 ();
         onloadfn2 ();
         onloadfn3 ();
 }
 window.onload = doOnLoad;

Đối với tình hình hiện tại của tôi, tôi không thể sử dụng một trong các bên trên ...
Tại sao tôi cần phải gọi windows.onload hai lần, thay vì gọi hai chức năng trong một chức năng onload? Dưới đây là nhanh chóng xem xét báo cáo vấn đề của tôi ...

"Trang My Site được cấu trúc giống như các chủ đề Wordpress .... tức là có một các header.php phổ biến và Footer.php được bao gồm vào tất cả các trang. Có là một chức năng onload implementaion trong các Footer.php để làm một số chức năng onload phổ biến. , Có vài trang cần một cái gì đó onload của mình, ngoài những người thực hiện bởi các chức năng onload chung. Nếu tôi chỉ định chức năng gọi lại trực tiếp xử lý window.onload, nó sẽ qua đi xe các callbacks trước đây được giao trong Footer.php "

.... Vấn đề của tôi có hiểu :) ?

Vâng! có những giải pháp mà tôi đã tìm thấy. Họ tất cả đều rất giống nhau và chủ yếu implementions của một giải pháp được đưa ra bởi Simon Willison ( http://simonwillison.net/2004/May/26/addLoadEvent/ ) ...

Giải pháp:

Đơn giản chỉ cần thêm đoạn mã javascript vào trang web ...

 addLoadEvent chức năng (Func) {
     var oldonload = window.onload;
     if (typeof window.onload = 'chức năng') {
        window.onload = func
     } Else {
        window.onload = function () {
            if (oldonload) {
                   oldonload ()
           }
           func ()
        }
    }
 }

Và gọi nó là thay vì "windows.onload" thông thường

 addLoadEvent (FunctionToRunOnPageLoad);
 addLoadEvent (function () {
 / * Nhiều mã chạy trên trang * tải
 }); 

Ưu điểm của đoạn mã này ...
1. Chủ yếu, Nó cho phép bạn có nhiều sự kiện windows.onload, kêu gọi từ các bộ phận riêng biệt của mã của bạn, mà không overridding định nghĩa trước
2. Nó thực sự là không phô trương. Nó có thể được đặt trong một tập tin với các kịch bản khác của bạn hoặc trong một tập tin riêng biệt.
3. Nó hoạt động ngay cả khi window.onload đã được thiết lập.


2008 20 Tháng 9 2008

TextArea Collapse vấn đề trong XSL / XSLT


VẤN ĐỀ TUYÊN BỐ:
Tôi chạy vào vấn đề này liên quan đến textareas trong XSLs một. Nói một cách đơn giản, vấn đề phát sinh khi bạn có một thẻ <textarea> trống, sau đó nó sẽ sụp đổ <textarea />.
nghĩa là nếu bạn có một cái gì đó như sau trong XSL và dữ liệu XML cho giá trị vùng văn bản, trả về không có gì ...

<textarea name='description'> <xsl:value-of select="DESCRIPTION"/> </ textarea>

Do trình duyệt không nhận ra điều này, nó sẽ gây ra các phần còn lại của hình thức HTML để chạy vào khu vực văn bản.

CÓ THỂ GIẢI PHÁP:

Trong XSL, không phá vỡ không gian () sau khi xsl: tag.BEWARE giá trị, để chăm sóc thêm không gian này bạn đã thêm vào, trong quá trình xác nhận phía khách hàng của lĩnh vực này.

<textarea name='description'> <xsl:value-of select="DESCRIPTION"/> </ textarea>

Hoặc
<xsl:value-of select="concat (DESCRIPTION,'')"/>

Hoặc
Chèn <xsl:value-of select="@unknown" /> tag trỏ đến một thuộc tính không rõ. Điều này sẽ buộc PHP XSLT phân tích cú pháp để tạo ra một thẻ mở và đóng cửa khu vực văn bản, thậm chí nếu nó không có gì ở giữa.

Hoặc
Chèn một lĩnh vực <xsl:text> có chứa một không gian để buộc một thẻ đóng.

Tuy nhiên, mặc dù các giải pháp đã đề cập ở trên có thể dường như để sửa chữa vấn đề, tôi vẫn không tin rằng họ đúng và cách tốt nhất để sửa chữa nó. Nếu có bất kỳ cách nào khác tốt hơn của việc sửa này đứa, Xin làm cho chúng tôi biết.


2008 14 Tháng Chín 2008

Sự đa dạng của điều kiện thử nghiệm XSL (Bộ sưu tập của XSL: IF và XSL: KHI Điều kiện THI)

Mỗi lần tôi phải làm một XSL: IF hoặc XSL: KHI thử nghiệm, tôi phải quay trở lại các sách tham khảo. Tôi dường như không bao giờ ghi nhớ chúng. Nghĩ rằng sẽ có thêm trên mạng, giống như tôi, người thay vì muốn có tất cả trong số họ, có thể, tại một nơi, sẵn sàng để được gọi khi cần thiết.

Đối với những người mới ... Cú pháp cho XSL: IF

<xsl:if test="expression">
- Nội dung: mẫu ->
</ Xsl: if>

Xsl: nếu / xsl: Kiểm tra Bộ sưu tập
Các điều kiện dưới đây là tất cả đơn giản và tự giải thích. Vì vậy, tôi tin rằng nó sẽ không cần phải giải thích nhiều

<xsl:if test="position()=last()-1">
Điều này nếu các yếu tố cuối cùng nhưng một trong danh sách!
</ Xsl: if>

<xsl:if test="SALARY> 5000 ">
Tiền lương của người này là lớn hơn Rs. 5000
</ Xsl: if>

<xsl:if test="count(JOBS)> 3 ">
Có hơn 3 công việc trong danh sách này!
</ Xsl: if>

<xsl:if test="(@DEPT ='SALES') hoặc (@JOINYEAR = '1997')">
Người này là từ bộ phận bán hàng hoặc năm của mình Tham gia là 1997
</ Xsl: if>

<xsl:if test="EXPERIENCE">
Người này có ít nhất một trong những yếu tố con KINH NGHIỆM.
</ Xsl: if>

<xsl:if test="@HOBBY">
Người có một thuộc tính sở thích.
</ Xsl: if>

Các điều kiện văn bản tương tự có thể được sử dụng cho XSL: Chọn / XSL: khi cũng

xsl: lựa chọn

XSLT xsl: chọn hướng dẫn tương tự như xsl: nếu có một vài khác biệt quan trọng:
• Một xsl: chọn phần tử có thể kiểm tra nhiều hơn một điều kiện và thêm các nút khác nhau để cây kết quả dựa trên điều kiện là đúng.
• Một xsl: chọn phần tử có thể có một khuôn mẫu mặc định để thêm vào cây kết quả nếu không có các điều kiện là đúng sự thật. (So ​​sánh xsl: nếu không có tương đương với một điều kiện "khác".)
• xsl: chọn phần tử có các phần tử con cụ thể là cần thiết cho nó để làm việc, trong khi bạn có thể đặt bất kỳ yếu tố tốt được hình thành mà bạn muốn bên trong của 1 xsl: nếu yếu tố.

<xsl:choose>
<xsl:when test="boolean-expression">
Làm điều gì đó khi biểu thức boolean là TURE
</ Xsl: khi>
<xsl:otherwise> làm một cái gì đó khác </ xsl: nếu không>
</ Xsl: chọn>


2008 Ngày 13 tháng 8 năm 2008

Tokenizing chuỗi phân cách bên trong một XSL

Nếu yêu cầu của bạn là để phân chia giá trị nút trong một XML, có chứa một chuỗi phân cách của giá trị, vào các cá nhân, sau đó bạn đã đến đúng nơi có một cái nhìn vào ví dụ dưới đây. Nếu bạn đã quen thuộc với một chút ít của XML và XSL ... Tôi không nghĩ rằng bạn sẽ cần bất kỳ lời giải thích.
Ngoài ra, ví dụ này bao gồm cách sử dụng chức năng XSL như xsl: call-template, xsl: chuỗi con, trước khi, xsl: chuỗi con sau, nếu đó là những gì bạn đang sau.

XML được chuyển đổi (food.xml): -
Giả sử công việc là tokenize các chuỗi phân cách bằng dấu phẩy, các "từ khóa" tag

<?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>
<keywords>Fruits, Vegetables, Pulses, Meat, Cereals </keywords>
</food>

XSL (food.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="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"/>
<xsl:template match="/">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>XSL 1.0 Delimited String Tokeniser</title>
</head>
<body>
<xsl:value-of select="food/meta"/>
<div >
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="food/keywords" />
<xsl:with-param name="delimitr" select="','" />
</xsl:call-template>

</div>
</body>
</html>
</xsl:template>
<xsl:template name="tokenize">
<xsl:param name="string" />
<xsl:param name="delimitr" />
<xsl:choose>
<xsl:when test="contains($string, $delimitr)">
<div style="border:1px solid red;">
<h3><xsl:value-of select="substring-before($string,$delimitr)" /></h3>
<xsl:variable name="data" select="substring-before($string,$delimitr)"/>
</div>
<xsl:call-template name="tokenize">
<xsl:with-param name="string" select="substring-after($string, $delimitr)" /><xsl:with-param name="delimitr" select="$delimitr" /></xsl:call-template>
</xsl:when>
<xsl:otherwise>
<div style="border:1px solid red;">
<h3><xsl:value-of select="$string" /></h3>
</div>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>

Kết quả đầu ra HTML: -

<div>
<div style="border: 1px solid red;">
<h3>Fruits</h3>
</div>
<div style="border: 1px solid red;">
<h3> Vegetables</h3>
</div>
<div style="border: 1px solid red;">
<h3> Pulses</h3>
</div>
<div style="border: 1px solid red;">
<h3> Meat</h3>
</div>
<div style="border: 1px solid red;">
<h3> Cereals </h3>
</div>
</div>

Không cần phải nói ... chỉ cần thay đổi các tham số "delimitr" dấu phân cách của sự lựa chọn của bạn


2008 4 tháng 8 năm 2008

Một vấn đề với vị trí () trong XSL ... hoặc là nó?

Tôi có vấn đề này strage trong khi tạo ra một XSL ngày hôm nay. Xem xét cho câu trả lời trên net, nhưng couldnt tìm thấy bất kỳ .... Thật sự tôi đoán! Tôi dint biết vấn đề của tôi là gì, vì vậy tôi làm những gì bạn tìm?

Dù sao! Chỉ trong trường hợp bạn có vấn đề này rất giống nhau và bằng cách nào đó bởi quyền năng của FORCE bạn quản lý để hạ cánh trên trang này ... bạn sẽ cảm ơn tôi tấn ... Và nếu bạn đã vô tình hạ cánh trên trang này cho một số phận kỳ lạ và bạn xảy ra được một nhà phát triển XSL, DO LÀM Chú ý NÀY NOW, TƯƠNG LAI CHO nguyên nhân, Nếu một ngày nào đó, bạn phải đối mặt với vấn đề này, sau đó FORCE có thể không được với bạn.

Đặt vấn đề:
Tôi có XML này, có hai nút với nhiều mục trong đó các mục giữa hai nút này có một sự tương ứng 1-1. Trong ví dụ dưới đây, mỗi mục trong <array nút name="PLAYURL" /> liên quan (tương ứng với vị trí) đến một mục trong <array nút name="SITENAME"

<?xml version="1.0" encoding="utf-8"?>
<myplaylists>
<playlist>
<title>Best of Rest </title>
<array name="SITENAME">
<str>www.musicindiaonline.com</str>
<str>www.dhingana.com</str>
<str>www.raaga.com</str>
<str>www.smashits.com</str>
<str>www.desimusic.com</str>
<str>www.musicplug.in</str>
</array>
<array name="PLAYURL">
<str>http://www.musicindiaonline.com/123/</str>
<str>http://www.dhingana.com/play/123</str>
<str>http://www.raaga.com/123</str>
<str>http://ww.smashits.com/123</str>
<str>http://www.desimusic.com/123</str>
<str>http://www.musicplug.in/123</str>
</array>
</playlist>
</myplaylists>

Bây giờ, tôi có một vòng lặp, i vòng lặp thông qua <array name="SITENAME">, và tôi muốn để có được những mặt hàng liên quan (tại vị trí tương ứng) <array name="PLAYURL">,

Những gì bạn normaly sẽ cố gắng làm là ...

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
play from : <a href="{../../array[@name='PLAY']/str[position()]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

SORRY! NÀY wont làm việc ... Ah! Surpised ...

Bây giờ bạn có thể muốn thử một cái gì đó như thế này ...

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos"> <xsl:value-of select="position()"/></xsl:variable>
play from : <a href="{../../array[@name='PLAY']/str[$pos]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

Một lần nữa điều này wont làm việc ... Bây giờ bạn gãi đầu, cố gắng để liên lạc với tất cả mọi người những người bạn biết một số XSL và có thể là bất kỳ sự giúp đỡ ... bạn cố gắng tất cả các tùy chọn khác ... và vẫn còn nó sẽ không làm việc ... Vâng! Thats những gì đã xảy ra với tôi ít nhất ...

Không nên tuyệt vọng! Hãy thử này

<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$
<xsl:for-each select="myplaylists/playlist/array[@name='SITENAME']/str">
<xsl:variable name="pos-int" select="position()" />
play from : <a href="{../../array[@name='PLAY']/str[$ pos-int ]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>
]}"/> <xsl:value-of select="." /></a>
</xsl:for-each>

Hỏi tôi tại sao nó hoạt. Nguyên nhân tôi không có một lý do phải ... nếu bạn làm! Xin vui lòng thả một bình luận. Nó có thể là khá hữu ích. Ngoài ra! nếu bạn có có TITLE tốt hơn cho bài viết này, thả cho tôi một dòng :)


2008 02 tháng tám năm 2008

Thiết lập các DOCTYPE trong XSL

Tuần trước, tôi tạo ra một bố cục HTML / CSS progessive cho một khách hàng, thử nghiệm trong IE6, IE7 và FF 3, dường như hoàn toàn tốt đẹp ... ĐẾN! bố trí đi xa hơn xuống các chu kỳ Manufacting. Nó không thành công. Trang yếu tố bố trí tất cả các nơi khi bố trí HTML đã được chuyển đổi thành XSL và XML áp dụng cho nó ... thật xin lỗi!!

Không thể ngủ vào cuối tuần qua, với dự đoán của buổi sáng thứ hai, khi tôi sẽ phải sửa chữa này SH **. Nhưng bây giờ có một experince ít đối phó với các loại tình huống (quirks trình duyệt, tôi có nghĩa là), tôi biết nó đã làm với không có gì khác nhưng DOCTYPE .... và Nó WS ...

Vấn đề:
Bạn muốn kiểm soát DOCTYPE, kể từ khi chuyển đổi của bạn sẽ bao gồm một DOCTYPE mặc định một cách rõ ràng, và bạn bố trí cho một quăng.

Giải pháp:
XSLT thông số kỹ thuật cung cấp các phương pháp đầu ra để thiết lập một DOCTYPE của choise. Ngoài ra, để chúng ta giao diện người dùng phát triển, các chủ đề quan tâm sẽ là phương pháp đầu ra HTML và các phương pháp đầu ra XML .

Vâng! trước khi bạn nhận được chán, ở đây là sửa chữa.

Đối với ví dụ, nếu bạn có DOCTYPE sau đây trong phiên bản HTML của bạn:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">

Sau đó, trong XSL, bạn sẽ phải có những điều sau đây:

<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" />

Cuối cùng! phải bảo đảm rằng đầu ra XSLT của bạn tuân theo DOCTYPE mà bạn đã chọn.


2008 4 tháng 5 năm 2008

Bao gồm XSL bên trong XSL

Nếu XML / XSL Transforms là domian bạn, sau đó có lần khi chúng tôi muốn có một mảnh mã năng động để được sử dụng mục thư viện (được thực hiện tái sử dụng được). Những gì tôi có nghĩa là, có thể có thể được thực hiện rõ ràng hơn với kịch bản ví dụ này.

Hãy tưởng tượng bạn đang tạo một trang web (và sử dụng XML, XSL transfroms ofcourse) và hầu hết các trang sẽ có một Module Bình luận. Vâng! sau đó hoặc là bạn sao chép hoặc dán mã này vào mỗi mẫu trang (mà tôi đã không nói, nhưng làm cho bảo trì và làm lại một cơn ác mộng) hoặc thậm chí tốt hơn, bạn tạo một file INCLUDE có thể được kéo vào có bao giờ bạn muốn nó trong trang của bạn ( s) ...
Vì vậy, LÀM THẾ NÀO ĐỂ CHÚNG TÔI TẠO tập tin XSL INCLUDE và bao gồm nó bên trong một tập tin XSL? Dưới đây là làm thế nào ...

Chỉ cần để làm cho mọi việc rõ ràng ... đây là nhanh chóng danh sách các tập tin mà bạn sẽ tạo ra ... ở đây, chúng tôi sẽ được bao gồm cả thông tin về trái cây và rau quả vào một trang mẹ được gọi là thực phẩm.

1. food.xml - xml dữ liệu tập tin chuyển đổi sẽ được áp dụng
2. food.xsl - chính XSL tập tin, mà sẽ chuyển đổi food.xml của chúng tôi
3. inc_fruits.xsl - XSL bao gồm các tập tin sẽ làm cho trái cây dữ liệu
4. inc_vegtables.xsl - XSL bao gồm các tập tin sẽ làm cho vetetables dữ liệu

Tôi không nghĩ rằng tôi có giải thích nhiều, các mã cho các yếu tố trên, sẽ được tự giải thích ...

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: template>
</ Xsl: stylesheet>


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>

Tải về tất cả các tập tin trên (252 tải)


2008 04 Tháng 4 2008

Làm việc với các thuộc tính Node XML trong XSLT

Nếu bạn sử dụng XML và XSL, sau đó bạn có thể đã đi qua một thời gian, khi bạn phải chơi xung quanh với các thuộc tính và giá trị của các nút XML trong bạn XSL. Họ là vô số các trang web với thông tin về điều này hơi dài, nhưng không có tôi thấy ngắn gọn và chính xác ... Đây là NO Tutorial XML / XSL, nhưng cố gắng của tôi để đặt cùng một số loại danh sách cheat ...

Các mẫu XML mà chúng tôi sẽ làm việc với trông như thế này ...

<?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>

Vì vậy, bạn bắt đầu chuyển đổi của chúng tôi trên XML sử dụng XSL

Ví dụ 1: Hiển thị giá trị tại một thuộc tính lựa chọn

<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 kết quả sẽ như thế

Orange is the color and rich in vitamin C,
to get more information about <a href="http://www.orange.com" target="new">


Ví dụ 2: Lặp qua và hiển thị tên tất cả các thuộc tính XML và giá trị của họ

<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 kết quả sẽ như thế


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


Tải về tất cả các tập tin trên (245 tải)



Thêm bài này vào không gian này, tôi sẽ tiếp tục cập nhật với những phát hiện mới ...


NDK nhà | Bày tỏ IT | Diễn đạt Palate | Diễn đạt Penmenship | Bày tỏ nỗi sợ hãi | Diễn đạt Myself