Hiển thị các bài đăng có nhãn Lập trình. Hiển thị tất cả bài đăng
Hiển thị các bài đăng có nhãn Lập trình. Hiển thị tất cả bài đăng

Chủ Nhật, 9 tháng 10, 2011

Navicat MySQL 8.0.28 -Hỗ trợ hầu hết các tính năng mới nhất của MySQL

PremiumSoft Navicat là công cụ quản trị và phát triển cơ sở dữ liệu ưu việt. Nó không chỉ phù hợp đối với một nhà phát triển phần mềm chuyên nghiệp mà còn giúp cho những người mới sử dụng dễ dàng học.

Navicat for MySQL Công cụ quản trị và phát triển cơ sở dữ liệu ưu việt

Với giao diện thân thiện với người sử dụng, Navicat cho phép bạn nhanh chóng và dễ dàng tạo, sắp xếp, truy cập và chia sẻ thông tin theo cách an toàn và tiện lợi.
PremiumSoft Navicat hỗ trợ đa kết nối MySQL server, giúp kết nối cục bộ hay từ xa.

Dưới đây là một vài đặc điểm của "Navicat MySQL":
- Hỗ trợ tất cả các phiên bản của MySQL
- Hỗ trợ các chức năng của MySQL như Event(sự kiện), View(xem kết quả truy vấn), Trigger, Stored Procedure(tạo các thủ tục lưu trữ)
- Hỗ trợ gõ tiếng Việt Unicode và hệ thống ký hiệu
- Hỗ trợ HTTP Tunnel và SSH Tunnel
- Hỗ trợ Foreign Key (khóa phụ) cho các bảng InnoDB
- Hỗ trợ Foreign Key cho chọn dữ liệu
- Xem trước Form
- In cấu trúc bảng
- Nhóm ảo
- Công cụ thiết lập truy vấn ảo – tạo câu truy vấn từ các cơ sỏ dữ liệu khác nhau.
- Hỗ trợ sinh mã tự động hoàn chỉnh câu lệnh truy vấn, xem truy vấn(View) và xem kết quả (Event)
- SQL console
- MySQL Views Builder
- Nhập dữ liệu thông qua ODBC
- Nhập dữ liệu từ Oracle sang MySQL
- Hỗ trợ nhập dữ liệu đối với 18 định dạng phổ biến bao gồm MS Access, MS Excel, XML, PDF và TXT
- Kết xuất dữ liệu ra MS Access / MS Excel
- Kết xuất dữ liệu sang các định dạng file khác: MS Word, HTML, PDF, TXT, CSV, DBF, XML, …
- Lập lịch cho các tác vụ sao lưu, nhập, xuất, chuyển dữ liệu, lưu truy vấn và dữ liệu.
Sự đồng bộ hóa
- Gửi e-mail thông báo đối với các tác vụ đã được lập lịch
- Hỗ trợ Backup và phục hồi cơ sở dữ liệu MySQL
- Hỗ trợ chuyển dữ liệu giữa các cơ sở dữ liệu cụ bộ hay từ xa của MySQL
- Đồng bộ hóa dữ liệu và cấu trúc dữ liệu
- Lập báo cáo với tính năng Report Builder ảo.
- Kết xuất báo cáo ra các định dạng như PDF, Excel, HTML…
- Xem báo cáo với tính năng Report Viewer
- Quản lý người dùng ảo
- Quản trị Server.

Yêu cầu cấu hình:

- Bộ xử lý Pentium II hoặc cao hơn
- RAM 32MB
- 10 MB bộ nhớ trống để cài đặt đầy đủ chương trình
Hạn chế:
- Chỉ được dùng thử trong vòng 30 ngày
Những điểm mới trong phiên bản này:[đọc toàn bộ]
- Sinh mã lệnh tự động – tăng tốc viết truy vấn sql
- Giao diện Form – Nhập các bản ghi thông qua Form
- Hệ thống profile mới – Mở profile trực tiếp ngay trên màn hình máy tính
- Nhóm ảo – Cung cấp chức năng phân chia danh mục các đối tượng chi tiết hơn
- Lập lịch sự kiện – MySQL mớI có đặc điểm tương tự MySQL 5.1
- Kết xuất báo cáo – Kết xuất báo cáo ra dạng file PDF, HTML …
- Gửi thông báo qua E-mail – Gửi thông báo qua e-mail các tác vụ đã được lập lịch.
- Tương thích với bất kỳ MySQL server nào từ bản 5.1.x trở lên
- Hỗ trợ tính năng tìm kiếm tối ưu, soạn thảo dạng mã HEX và nhiều hỗ trợ khác trong Table View.
- Table Design với các tính năng nổi bật hữu dụng
- Nhiều cải tiến trong các tính năng khác và sự thân thiện với người dùng.

(Dịch bởi vanhien1984 – www.shoptinhoc.com)

DOwnLOad Navicat MySQL 8.0.28Navicat MySQL 8.2.2

Thứ Ba, 1 tháng 2, 2011

Altova XMLSpy Enterprise 2010 v12 | Trình biên tập XML chuyên nghiệp

Altova XMLSpy® 2010 là trình biên tập và là môi tươờng phát triển XML bán chạy nhất thị trường cho các tác vụ tạo mẫu, biên tập, chuyển đổi cũng như dò lỗi các công nghệ dựa trên nền tảng XML. Ứng dụng cung cấp tr2inh biên tập XML và trình thiết kế lược đồ đồ họa, trình tạo mã, chuyển đổi tập tin, bộ dò lỗi, bộ tạo hồ sơ, tích hợp cơ sở dữ liệu hoàn chỉnh, hỗ trợ các tài liệu XSLT, XPath, XQuery, WSDL, SOAP, và Office Open XML (OOXML), cộng thêm các plug-in cho Visual Studio và Eclipse,... 
 
Altova XMLSpy Enterprise 2010 v12 | Trình biên tập XML chuyên nghiệp
XMLSpy XML editor cung cấp sức mạnh bạn cần để tạo ra các ứng dụng mạng và XML tiên tiến nhất, đồng thời tính linh hoạt của chương trình cho phép bạn làm việc với XML thông qua các chế độ xem và các tùy chọn phù hợp nhất với những nhu cầu kinh doanh thích ứng với công việc.

Các đặc trưng và tính năng trong XML editor:
- Trình biên tập XML thông minh
- Hỗ trợ tập tin dung lượng rất lớn
- Biên tập XML ở chế độ văn bản hay đồ họa
- Các công cụ Schema-aware XQuery editor, XQuery debugger & XQuery profiler
- Cửa sổ đánh giá với chức năng xử lý lỗi cao cấp
- Cửa sổ phân tích XPath 1.0./2.0 Analyzer
- Trình biên tập lược đồ XML trực quan XML Schema editor
- Tích hợp cơ sở dữ liệu
- Trình biên tập DTD
- Phát triển dịch vụ Web
- Hỗ trợ các dữ liệu Open XML (OOXML) trong MS Office 2007
- Hỗ trợ XInclude và XPointer
- Trình biên tập WSDL giao diện đồ họa
- Tạo mã Java / C# / C++ từ các lược đồ XML
- Trình client và bộ dò lỗi cho SOAP
- Tích hợp vào Visual Studio & Eclipse
- Trình biên tập XSLT 1.0/2.0, bộ dò lỗi XSLT debugger & XSLT profiler
- Các giao diện lập trình ứng dụng (API) cho Java và COM
- Trình biên tập CSS
- Các điều khiển OLE và ActiveX
- Quản lý dự án XML
- Và nhiều tính năng khác nữa...

Tên phần mềm: Altova XMLSpy Enterprise 2010 v12
Chức năng chính: Trình biên tập XML chuyên nghiệp
Dung lượng: 42.27 MB
Download "Altova XMLSpy Enterprise 2010 v12" FULL đã có file Crack và hướng dẫn Crack

Altova XMLSpy Enterprise 2010 v12.3Download "Altova XMLSpy Enterprise 2010 v12" FULL

Thứ Hai, 31 tháng 1, 2011

Trọn bộ đồ nghề "kiếm cơm" bằng ngôn ngữ PHP

1.Zend Framework

http://framework.zend.com/download/overview


Điều mà PHP đang thiếu là một framework chuẩn“. Thật sự thì sự bùng nổ của RoR tác động rất lớn đến PHP, nó cho thấy rằng PHP quá lộn xộn và “nghiệp dư”. Sự lợi hại cũng như kiến trúc đẹp đẽ của RoR thúc đẩy cộng đồng PHP cho ra đời những PHPonTrax, symfony, CakePHP… Tuy nhiên, các khách hàng của Zend thấy rằng, họ không có một nền tảng nào thực sự chuẩn và các framework kia cũng không thực sự đáp ứng được tính linh hoạt trong những project lớn. RoR thì ngày càng nổi đình nổi đám, gần như tất cả mọi người đều xúm lại “tán dương sự siêu việt” của nó. PHP “có nguy cơ bị thất sủng”, thị trường enterprise sắp trở thành một giấc mơ xa vời…Và Zend Framework được thai nghén với hy vọng sẽ trở thành chất xúc tác cải thiện tình hình tồi tệ đó.

Zend Framework có gì?

Hãy có một cái nhìn tổng quát về ZF! Nó không phải là một application framework / toolkit như kiểu của symfony hay Cake; ZF là một thư viện các lớp và nó không bắt buộc developer phải làm việc theo một cách thức nào cả (mặc dù nó focus vào kiến trúc MVC). Chia ra làm nhiều components, gần như tất cả mọi nhu cầu của developer đều được đáp ứng, từ việc access database, webservice, search index… cho đến authenticate, caching, log. Với ZF, tốc độ phát triển ứng dụng PHP sẽ tăng lên đáng kể, độ chuẩn thì khỏi phải bàn.

Nhưng Zend FW không phải là tất cả , tôi xin nhấn mạnh điều này, hàng loạt các dự án lớn về web đều không hẳn xài Zend , ví dụ như clip.vn xài symfony, chacha.vn xài Symfony. Một số khác lại sử dụng CI. Nếu bạn là một coder chuyên nghiệp bạn cũng có thể tạo riêng cho bạn một framework, hay một PHP MVC để lập trình.

Nhưng những điều mà ZEND đã làm cho đến ngày hôm nay thì thực sự là lớn lao, nó đánh dấu cho cộng đồng PHP một bước đệm để có thể tiến xa hơn cho các thị trường lớn hơn.

2.Zend Api document :
http://framework.zend.com/apidoc/core/

Thư viện tra cứu hàm trong Zend framework

3.Zend ebook :
Ebook tiếng Anh về Zend framework

4.Zend Studio :
http://www.zend.com/en/downloads/




Cái này quan trọng nè ---> Name: Xander S/N: EDAEB93323122604


Zend Studio 5 là môi trường phát triển kết hợp (IDE) duy nhất dành cho các chuyên viên thiết kế chuyên nghiệp để hoàn thiện tất cả những phần phát triển cần thiết cho chu kỳ đầy đủ của ứng dụng PHP. Thông qua một bộ công cụ toàn diện gồm editing, debugging, analysis, optimization và database tools, Zend Studio 5 đẩy mạnh các chu kỳ phát triển và làm đơn giản những đề án phức tạp.

Zend Studio được thiết kế cho các lập trình viên PHP mới muốn tạo những ứng dụng PHP cho nhiều chương trình Internet và trang web tuyệt vời khác nhau. Chương trình là một môi trường phát triển PHP hoàn hảo để phân phối các ứng dụng mạnh mẽ và không có bug (bug-free) trong thời gian kỷ lục. Với giải thưởng Internal Debugger và nhà xuất bản PHP tuyệt vời, Zend Studio mang đến tất cả những chức năng cần thiết mà một chuyên viên thiết kế PHP cần:

- Nâng cao năng suất với môi trường phát triển PHP đã được thử nghiệm. Bao gồm PHP 5 cao cấp Support, Code Editor, Code Completion, Syntax Highlighting, Project Manager, Wizards, và Internal Debugger.

- Làm tăng hiệu suất làm việc của bạn. Kiểm tra ứng dụng của bạn bằng cách sử dụng chức năng nổi tiếng và có nhiều giải thưởng: Internal Debugger. Chức năng sửa lỗi nổi bật bao gồm conditional breakpoints, stack trace view, advanced watches, variables and output buffer.

- Phân phát các ứng dụng trong thời gian kỷ lục với năng suất của hơn 100 Code Snippets có thể tái sử dụng. Zend Snippets Explorer cho phép bạn sắp xếp, xem, và thêm các chức năng tiện ích và mã hóa mẫu vật. Tự động kết nối với bảo tàng mã của Zend nơi mà bạn có thể chọn lựa, tải về, đánh giá hay đưa lên các Code Snippets.

- Phát triển một cách nhanh chóng và thông minh hơn với Syntax Highlighting. Thấu hiểu thêm về mã với việc đánh dấu màu sắc cho PHP 4, PHP 5, HTML, JavaScript, XML và CSS.

Zend Studio 5 có những điểm mới quan trọng như:

* PHP 5.1 Support: Phát triển với những kỹ thuật tân tiến nhất. Zend Studio 5.1 bao gồm sự hỗ trợ đầy đủ cho PHP 5.1

* Web Services Support: Phát ra các tập tin WSDL một cách dễ dàng từ mã nguồn PHP của bạn và phân tích những tập tin WSDL hiện có sự kết hợp của Code Completion và Inspection View.

* Subversion Integration: Sự kết hợp hoàn hảo giữa quản lý nguồn của Zend Studio và Subversion (chức năng được nhiều người dùng yêu cầu nhất)
* Code Folding: Làm việc hiệu quả hơn qua việc phân loại các lớp, chức năng, khối PHPDoc và mã không phải là PHP.

* Go to PHP Resource Utility: Nhanh chóng đi đến bất kỳ nguồn PHP nào trong đề án qua việc chọn lựa bởi các lớp, chức năng và hằng số.

* FTP over SSL Support: Truy cập an toàn kết nối FTP của bạn bằng cách sử dụng các phương pháp Implicit và Explicit.

* Embedded Internet Explorer: Xem trực tiếp và sửa lỗi ứng dụng của bạn trong trình duyệt có sẵn của Zend Studio.

* Nested PHP Code Completion: Phát triển nhanh hơn với sự hỗ trợ lồng vào nhau của Code Completion cho nhiều thành phần PHP khác nhau như functions, variables, v.v…
Zend Studio là 1 IDE rất mạnh cho những lập trình viên web sử dụng ngôn ngữ PHP.

Các tính năng :

* Editor and File Management Features

* View Code Assist screenshot

* View Code Formatter screenshot

* Code Generation

*View Code Generation screenshot

* JavaScript Support

* HTML Support

*View HTML WYSIWYG screenshot

* Source Control

* View Source Control screenshot

* Refactoring

* View Refactoring screenshot

*PHPUnit Testing Support

* View PHPUnit screenshot

* Debugging

*View Debugger screenshot

*Deployment Support for Remote Systems

* View FTP / Deployment screenshot

* SQL / Database Support

* View Database Support screenshot

* Miscellaneous

*View PHPDocumentor screenshot

* Zend Platform Integration

* View Zend Platform Integration screenshot

* Zend Framework Integration

* View Zend Framework Integration screenshot

5.NuSphere Studio :
http://www.nusphere.com/download.php.ide.htm


NuSphere PhpED là một môi trường phát triển tích hợp (IDE) dành cho PHP, một ngôn ngữ kịch bản phía server được chèn trong HTML. NuSphere PhpED cung cấp một nền tảng uyển chuyển, dễ sử dụng cho việc phát triển web sites sử dụng PHP, XML, CSS và HTML. NuSphere PhpED cũng cung cấp một loạt các chức năng dành cho việc gỡ rối, gửi các dự án tới máy chủ ở xa thông qua FTP, SFTP và WebDAV, làm việc với máy chủ SOAP, và tích hợp với những hệ thống như CVS. NuSphere PhpED thích hợp với nhiều người dùng và những dự án lớn.



6.Eclipse for php và java :

Trước khi cài bộ eclipse này, bạn cần cài máy ảo Java trước :
Bộ eclipse này có tích hợp PDT, PDT là một plugin hỗ trợ viết mã PHP được tích hợp thẳng vào eclipse. Miễn phí và mã mở, đây được cho là lựa chọn phổ biến và hợp lý nhất cho các lập trình viên PHP (trừ nhân viên của Zend).

7.Smarty template :
Download smarty template
Download Smarty ebook

Smarty là một hệ thống tạo mẫu web (web template system) được viết trên nền PHP. Smarty được giới thiệu như là một công cụ cho việc chia nhỏ các quá trình thiết kế trang web. Đây là một chiến lược thiết kế cho các ứng dụng web hiện đại. Smarty tạo ra các nội dung web từ các vị trí đặc biệt được gọi là smarty tag . Các tag này được nằm trong các mẫu (template). Các tag này sẽ được xử lý và chèn vào với các code khác nhau.

Các tag này là chỉ thị cho Smarty mà có thể được bao đóng bới tag mở và tag khóa. Những hướng dẫn này có thể là biến, và được định nghĩa bởi dấu dollar ($), các chức năng, hàm logic hoặc các luồng điều khiển. Smarty cho phép các lập trình viên có thể tự định nghĩa các chứng năng và truy cập sử dụng các Smarty tags Smarty là kết quả của việc tối ưu hóa và phân luồng công việc, cho phép trình diễn các trang web bằng cách chia nhỏ chúng ở đầu cuối (back-end). Ý tưởng đó đã giúp giảm thiểu rất nhiều giá thành và sự đồ sộ của các phần mềm.

Dưới mỗi một ứng dụng thành công thì luôn phân chia thành 2 mảng là người thiết kế chính là lá chắn bảo về mã nguồn sau (back-end coding) và người lập trình php được bảo vệ bới mã trình diễn. Smarty hỗ trợ một vài ngôn ngữ lập trình bậc cao, bao gồm:

điều khiển luồng dữ liệu, foreach
if, elseif, else
biến thay đổi
Người dùng tạo chức năng
Bên cạnh đó, thì một trong những chức năng nổi bật của các Template Engine là hệ thống tạo mẫu cho phép thay đổi từ mẫu tới mẫu. Thông thường khi lập trình PHP bạn hay viết lẫn cả phần HTML với mã lệnh PHP trên một trang. Điều này sẽ dẫn đến rất rối nhất là khi bảo trì. Bạn là người viết ra và cũng là người bảo trì thì không sao nhưng nếu bạn viết ra sau đó người khác bảo trì. Chắc họ nhìn vào code của bạn họ sẽ ngất mất vì quá rối. Mặt khác khi làm nhiều trang web có chức năng như nhau. Chỉ khác giao diện nên nếu lập trình theo kiểu như vậy bạn phải viết lại hoàn toàn. Ngoài ra muốn code được bạn phải chờ người thiết kế giao diện cho bạn sau đó cắt ra file HTML… rồi mới code… Tất cả những điều này sẽ làm giảm năng xuất công việc của bạn đi rất nhiều. Smarty ra đời đã giải quyết được các vấn đề nêu trên. Dưới đây là một số ưu điểm của Smarty:

* Tốc độ load trang rất nhanh (do tạo được cache)

* Code ứng dụng của bạn trở lên trong sáng, mạch lạc và dễ bảo trì hơn rất nhiều (do tách biệt phần code và templates).

* Hiệu quả công việc đạt tối đa (Người thiết kế và người lập trình làm việc hoàn toàn độc lập. Thay đổi giao diện website nhanh chóng… )

* Được sử dụng phổ biến ( bên Nhật rất ưa chuộng Smarty )

8.Wampserver :

Từ cấu tạo WAMP nói về một bộ nhiều ứng dụng nguồn mở miễn phí, hợp lại với Microsoft Windows, cái mà thường dùng trong những môi trường máy chủ web. Chồng phần mềm WAMP chu cấp các nhà phát triển với bốn phần tử then chốt của một máy chủ web: một hệ điều hành, kho dữ liệu, máy chủ đãi web và phần mềm ra văn mã cho mạng web. Sự hợp lại của việc sử dụng những chương trình này gọi là một chồng trên máy chủ (server stack). Trong chồng này, Microsoft Windows hệ điều hành (operating system), Apache là phần mềm máy chủ web, MySQL lo liệu các thành phần kho dữ liệu, trong lúc PHP, Python, hoặc PERL tượng trưng các ngôn ngữ chủ động ra văn mã.

trang web này cho thấy có nhiều loại WAMP khác nhau. Một trong những gói WAMP là phiên bản 1.7.2 của WAMP5 (21 MB) ra ngày 6-6-2007. Nó bao gồm phần mềm hệ máy chủ web Apache 2.2.4, ngôn ngữ ra văn mã PHP 5.2.3, và hệ thống kho dữ liệu MySQL 5.0.41. Một phần của bộ phần mềm WAMP5 là cả PhpMyAdmin 2.10.1 lẫn SQLiteManager 1.2.0.

phpMyAdmin là một công cụ viết thành văn bản bằng PHP nhằm để lo liệu cho việc quản trị MySQL qua mạng web toàn cầu. Hiện hành nó có thể tạo lập hoặc cho rớt các kho dữ liệu; tạo lập, cho rớt hoặc biến đổi các bảng kê; bỏ đi, soạn thảo hoặc cho thêm vào nhiều cột dữ liệu khác nhau, thi hành bất cứ lệnh nào của SQL, và quản lý các chìa khoá trên các cột dữ liệu.

SQLiteManager is một công cụ web đa ngữ dùng để quản lý kho dữ liệu SQLite. SQLite là một hệ thống quản lý kho dữ liệu liên quan, phục tùng mệnh lệnh ACID (bốn mục tiêu lý tưởng cho hệ quản lý giao dịch): atomicity (có tổ chức nguyên tử), consistency (kiên định), isolation (cô lập), và durability (lâu bền). Hệ thống SQLite được chứa đựng trong một thư viện lập trình tương đối nhỏ dựa trên ngôn ngữ C.

9.HeidiSql :

HeidiSQL :Giao diện hổ trợ cho các nhà phát triển web bằng cách sử dụng Cơ sở dữ liệu MySQL. Nó cho phép bạn để quản lý và duyệt qua các cơ sở dữ liệu của bạn và bảng từ một giao diện trực quan Windows.
Với HeidiSQL bạn cũng sẽ có thể :

* Generate nice SQL-exports :tạo ra tốt đẹp SQL-xuất khẩu
* Synchronize tables between two databases: đồng bộ hóa giữa hai bảng cơ sở dữ liệu
* Manage user-privileges: quản lý các quyền của người sử dụng
*Import text-files: nhập khẩu các tập tin văn bản
* Export table-data as CSV, HTML and XML: xuất khẩu-bảng dữ liệu như CSV, HTML và XML
* Browse and edit table-data using a comfortable grid: trình duyệt và chỉnh sửa bảng-dữ liệu bằng cách sử dụng một cảm thấy thoải mái khi lưới điện
* Create and edit stored procedures tạo và chỉnh sửa các thủ tục lưu trữ
* Batch-insert ascii or binary files into tables lô-ascii hay chèn vào các tập tin nhị phân bảng
* write queries with customizable syntax-highlighting and code-completion :viết các truy vấn với cú pháp tùy chỉnh-ma-tô sáng và hoàn thành
* Monitor and kill client-processes theo dõi và giết chết khách hàng các quy trình
*Connect to servers via commandline: kết nối với máy chủ thông qua commandline
* Và nhiều hơn nữa

Theo: congdongso.com

Thứ Hai, 24 tháng 1, 2011

Tài học CSS + Bài tập thực hành - tiếng Anh

Đối với những bạn học thiết kế web, mình nghĩ ai cũng cần phải biết về CSS. Mình mới lượm được 1 số ebook hướng dẫn về CSS của nước ngoài, up lên đây cho các bạn tham khảo. Tài liệu bằng tiếng Anh, các bạn chịu khó đọc nhé.
Link: Update ngày 21/7/2009

CSS_and_HTML_Web_Design:



Size:9.4MB
Lý thuyết:

Code:
http://rapidshare.com/files/258188908/CSS_and_HTML_Web_Design.rar



Bài tập:


Code:




http://rapidshare.com/files/258190683/EssentialGuideToCSSandHTMLWebDesign.rar



----------------------------------------------




SitePoint.The.Ultimate.CSS.Reference:





Size:5.4MB

Link:





Code:



http://rapidshare.com/files/258187168/SitePoint.The.Ultimate.CSS.Reference.rar



----------------------------------------------




SitePoint.The.CSS.Anthology.2nd.Edition:











Size:11.2MB

Link:





Code:



http://rapidshare.com/files/258184630/SitePoint.The.CSS.Anthology.2nd.Edition.rar



----------------------------------------------




SitePoint.The.Art.and.Science.of.CSS:


Size:17.9MB

Link:





Code:



http://rapidshare.com/files/258183205/SitePoint.The.Art.and.Science.of.CSS.Mar.2007.rar



----------------------------------------------




HTML_Utopia_Designing_Without_Tables_Using_CSS__2n d_Edition:











Size:5.6MB

Link:



Code:



http://rapidshare.com/files/258180991/HTML_Utopia_Designing_Without_Tables_Using_CSS__2nd_Edition.rar



----------------------------------------------




Beginning_CSS_Cascading_Style_Sheets_4_Web_Design:











Size:10.3MB

Link:



Code:



http://rapidshare.com/files/258180342/Beginning_CSS_Cascading_Style_Sheets_4_Web_Design.rar



----------------------------------------------



vn-zoom.com

Tài liệu học CSS tiếng Việt

Cú pháp của CSS

Sau khi đã hiểu sơ lược về CSS thì chúng ta cần phải biết cú pháp của CSS để hiểu được các cú pháp trong theme của bạn có nghĩa như thế nào. Hiểu được cú pháp của CSS sẽ là bước đầu tiên giúp bạn làm chủ CSS để có thể tạo theme hay chỉnh sửa theme cho blog theo ý của mình.

1. Cú pháp

Cú pháp của một CSS được tạo nên từ ba phần: Bộ chọn (seclector), Thuộc tính (property) và Giá trị (value). Và được viết theo chuẩn sau:

Bộ chọn {Thuộc tính: Giá trị} – selector {property: value}

- Bộ chọn: thường là các phần tử hay thẻ HTML mà bạn muốn chỉ định như: body, header, content, sidebar, footer, v.v..

- Thuộc tính và Giá trị: Thuộc tính là các tính chất mà bạn muốn chỉ định. Thuộc tính luôn kèm theo giá trị và chúng ngăn cách nhau bởi dấu hai chấm “:”.

Ví dụ:

Body {font: Arial}

Một bộ chọn có thể mang nhiều thuộc tính, và mỗi thuộc tính ngăn cách nhau bởi một dấu chấm phẩy “;”.

Ví dụ:

Body {

font: arial;

color: #D3D4D5;

background: #3EDF42;

}

Nếu Giá trị là một từ dài để chỉ ra một tên nào đó, bạn phải đặt chúng vào trong dấu ngoặc kép.

Ví dụ:

P {font-family: “sans serif”}


2. Nhóm các Bộ chọn lại với nhau

Bạn có thể nhóm các Bộ chọn có cùng Thuộc tính lại với nhau để cho cú pháp ngắn gọn. Các bộ chọn được ngăn cách với nhau bởi dấu phảy “,”.

Ví dụ: Bạn nhóm các thành phần h1, h2, h3, h4 của Header có cùng màu Xanh và font chữ là Tahoma lại với nhau

h1, h2, h3, h4 {

color: blue;

font: tahoma;

}

3. Lời chú thích trong CSS

Bạn có thể thêm lời chú thích cho đoạn mã của bạn, nó sẽ giúp bạn biết đoạn mã đó thực hiện nhiệm vụ gì hoặc có tác dụng gì. Lời chú thích sẽ giúp bạn dễ dàng nhớ lại những gì mình đã viết trước đây. Lời chú thích này sẽ không được các trình duyệt hiển thị.

Một lời chú thích bắt đầu bằng một dấu “/*” và kết thúc bằng một dấu “*/”. Bạn có thể đặt đoạn chú thích vào bất cứ đâu bạn muốn.

Ví dụ:

/* Đây là Sidebar */

#sidebar {

with: 300px;

padding: 10px;

font: Tahoma, Verdana;

}

Hoặc

#sidebar {

/* Đây là Sidebar */

with: 300px;

padding: 10px;

font: Tahoma, Verdana;

}

Hoặc

#sidebar {

with: 300px; /* Độ rộng của Sidebar */

padding: 10px;

font: Tahoma, Verdana;

}

Giới thiệu về CSS

Để thiết kế theme hay chỉnh sửa lại theme cho blog thì bạn nhất thiết phải biết về CSS. Nhưng nói là biết về CSS thì rộng quá nên bây giờ chúng ta sẽ bắt đầu từ từ tìm hiểu và chinh phục CSS. Để chinh phục thành công một điều gì đó trước tiên bạn cần biết nó là gì đã. Nào, chúng ta hãy bắt đầu.

CSS là gì?

CSS là chữ viết tắt của cụm từ tiếng Anh “Cascading Style Sheet”, là kiểu thiết kế sử dụng nhiều lớp định dạng chồng lên nhau. CSS được tổ chức World Wide Web (W3C) giới thiệu vào năm 1996. Cách đơn giản nhất để hiểu CSS là hãy coi nó như một phần mở rộng của HTML để giúp đơn giản hóa và cải tiến việc thiết kế cho các trang web.

Một tiện ích của CSS là bạn chỉ phải định nghĩa các Style (kiểu dáng, định dạng, v.v..) một lần và các trình duyệt có thể áp dụng các Style này nhiều lần trong một văn bản. Ví dụ: nếu bạn muốn một số Tiêu đề của bài viết trên blog của bạn có nét Chữ đậmMàu xanh, thì thay vì phải lập lại các giá trị Chữ đậmMàu xanh này cho từng tiêu đề, bạn chỉ cần định nghĩa Chứ đậmMàu xanh thành một Style và Style này sẽ được áp dụng cho tất cả các tiêu đề mà bạn muốn.

Ưu điểm của CSS

- CSS có thể tách riêng phần định dạng ra khỏi nội dung một trang web, do đó nó sẽ rất thuận tiện khi bạn muốn thay đổi giao diện của một trang web.

- CSS là một sợi chỉ xuyên suốt trong quá trình thiết kế một website bởi vì nó cho phép nhà thiết kế kiểm soát toàn bộ giao diện, kiểu cách và sự sắp đặt của nhiều trang hay nhiều đối trong một lần định nghĩa. Để thay đổi tổng thể hay nhiều đối tượng có cùng Style, bạn chỉ cần thay đổi Style đó và lập tức tất cả các thành phần áp dụng Style đó sẽ thay đổi theo. Nó giúp bạn tiết kiệm công sức rất nhiều.

- Do định nghĩa các Style có thể được tách riêng ra khỏi nội dung của trang web, chúng được các trình duyệt load một lần và sử dụng cho nhiều lần, do đó nó giúp các trang web nhẹ hơn và chạy nhanh hơn.

Các đặc tính cơ bản của CSS

- CSS quy định cách hiển thị của các thẻ HTML bằng cách quy định các thuộc tính của các thẻ đó (font chữ, màu sắc). Để cho thuận tiện bạn có thể đặt toàn bộ các thuộc tính của thẻ vào trong một file riêng có phần mở rộng là “.css”, thường người ta hay đặt tên nó là stylesheet.css.

CSS nó phá vỡ giới hạn trong thiết kế Web, bởi chỉ cần một file CSS có thể cho phép bạn quản lí định dạng và layout trên nhiều trang khác nhau. Các nhà phát triển Web có thể định nghĩa sẵn thuộc tính của một số thẻ HTML nào đó và sau đó nó có thể dùng lại trên nhiều trang khác.

- Có thể khai báo CSS bằng nhiều cách khác nhau. Bạn có thể đặt đoạn CSS của bạn phía trong thẻ <Head>…</Head>, hoặc ghi nó ra một file riêng với phần mở rộng “.css”, ngoài ra bạn còn có thể đặt chúng trong từng thẻ HTML riêng biệt.

Thứ tự xếp lớp

Style nào sẽ được áp dụng khi có nhiều hơn một style được chỉ định cho một thành phần HTML? Tùy vào từng cách đặt khác nhau mà mức độ ưu tiên cho nó cũng khác nhau. Mức độ ưu tiên này tuân theo thứ tự sau:

1. Style nội tuyến – Style đặt trong từng thẻ HTML riêng biệt.

2. Stylet bên trong – Style đặt bên trong cặp thẻ <Head> … </Head>.

3. Style bên ngoài – Style đặt trong các file riêng có đuôi “.css”.

4. Style theo mặc định của trình duyệt.

- CSS có tính kế thừa và tính kết hợp

Tính kế thừa

Giả sử rằng ở đầu file styleshet.css bạn khai báo cho Body có các thuộc tính sau:

body {

font: Arial, Verdana;

background: #FF6600;

}

Nhưng trong trường hợp bạn muốn khai báo cho các đối tượng nhỏ hơn nằm trong đó như Sidebar:

#sidebar {

with: 300px;

padding: 10px;

font: Tahoma, Verdana;

}

Sau đoạn khai báo này thì Sidebar sẽ có thuộc tính:

#sidebar {

background: #FF6600;

with: 300px;

padding: 10px;

font: Tahoma, Verdana;

}

Như vậy, Sidebar đã kế thừa thuộc tính background của Body, và trong đó thuộc tính font là Tahoma đã đè lên thuộc tính font Arial ở lần khai báo trước.

Tính kết hợp

Có thể định nghĩa nhiều CSS cùng một thuộc tính thay vì phải định nghĩa riêng lẻ từng cái một.

Ví dụ:

h1, h2, h3, h4 {

Font-family: Tahoma, arial;

Color: #D4D4D4;

}

Thay cho việc định nghĩa riêng biệt cho từng cái.

h1{

Font-family: Tahoma, arial;

Color: #D4D4D4;

}

h2 {

Font-family: Tahoma, arial;

Color: #D4D4D4;

}

……………………………

h4 {

Font-family: Tahoma, arial;

Color: #D4D4D4;

}

Mẹo lập trình Access (VB)

Thứ Tư, 19 tháng 1, 2011

Tài liệu XML toàn tập (tiếng Việt)

Bài 5: XSL Style Sheets (phần II)

Các lệnh về điều kiện

Giống như trong ngôn ngữ lập trình thông thường ta có các instructions về điều kiện như IF, SELECT CASE, ELSE .v.v.. để lựa chọn, trong XSL ta có các lệnh về điều kiện như xsl:if, xsl:choose, xsl:when, và xsl:otherwise. Khi expression của Element xsl:if, xsl:when, hay xsl:otherwise  có trị số true, thì cái Template nằm bên trong nó sẽ được tạo ra (instantiated).

Thường thường, nếu công việc thử tính đơn giản ta dùng xsl:if. Nếu nó hơi rắc rối vì tùy theo trường hợp ta phải làm những công tác khác nhau thì ta dùng choose/when/otherwise.

Trị số của Attribute test của xsl:ifxsl:when là một expression để tính. Expression nầy có thể là một so sánh hay một expression loại XPath. Kết quả việc tính nầy sẽ là true nếu nó trả về một trong các trị số sau đây:

  • Một bộ node có ít nhất một node

  • Một con số khác zero

  • Một mảnh (fragment) Tree

  • Một text string không phải là trống rỗng (non-empty)

Để minh họa cách dùng các lệnh XSL về điều kiện ta sẽ dùng hồ sơ nguồn tên catalog.xml sau đây:



<?xml version="1.0"?>


<catalog>


   <book id="bk102">


      <author>Ralls, Kim</author>


      <title>Midnight Rain</title>


      <genre>Fantasy</genre>


      <price>5.95</price>


      <publish_date>2000-12-16</publish_date>


      <description>A former architect battles corporate zombies, an evil sorceress, and her own 

childhood to become queen of the world.
</description>


   </book>


   <book id="bk107">


      <author>Thurman, Paula</author>


      <title>Splish Splash</title>


      <genre>Romance</genre>


      <price>4.95</price>


      <publish_date>2000-11-02</publish_date>


      <description>A deep sea diver finds true love twenty thousand leagues beneath the sea.</description>


   </book>


   <book id="bk108">


      <author>Knorr, Stefan</author>


      <title>Creepy Crawlies</title>


      <genre>Horror</genre>


      <price>4.95</price>


      <publish_date>2000-12-06</publish_date>


      <description>An anthology of horror stories about roaches, centipedes, scorpions and other 

insects.
</description>


   </book>


   <book id="bk109">


      <author>Kress, Peter</author>


      <title>Paradox Lost</title>


      <genre>Science Fiction</genre>


      <price>6.95</price>


      <publish_date>2000-11-02</publish_date>


      <description>After an inadvertant trip through a Heisenberg Uncertainty Device, James Salway 

discovers the problems of being quantum.
</description>


   </book>


   <book id="bk110">


      <author>O'Brien, Tim</author>


      <title>Microsoft .NET: The Programming Bible</title>


      <genre>Computer</genre>


      <price>36.95</price>


      <publish_date>2000-12-09</publish_date>


      <description>Microsoft's .NET initiative is explored in detail in this deep programmer's 

reference.
</description>


   </book>


</catalog>




Dưới đây là một thí dụ dùng xsl:if:










<xsl:for-each select="//book">


   <tr>


      <td>


         <xsl:value-of select="title"/>


      </td>


      <td>


         <xsl:if test="price > 6">


            <xsl:attribute name="bgcolor">cyan</xsl:attribute>


         </xsl:if>


         <xsl:value-of select="price"/>


      </td>


   </tr>


</xsl:for-each>




Trong thí dụ trên, Attribute bgcolor chỉ được tạo ra với trị số cyan khi price của book lớn hơn 6. Mục đích của ta là dùng màu xanh da trời nhạt để làm nền cho sách nào có giá (price) cao hơn 6.





Dưới đây là một thí dụ dùng xsl:choose:










<xsl:for-each select="//book">


   <div>


      <xsl:choose>


         <xsl:when test="self::*[genre = 'Romance']">


            <xsl:attribute name="style">background-color: pink</xsl:attribute>


         </xsl:when>


         <xsl:when test="self::*[genre = 'Fantasy']">


            <xsl:attribute name="style">background-color: lightblue</xsl:attribute>


         </xsl:when>


         <xsl:otherwise>


            <xsl:attribute name="style">background-color: lightgreen</xsl:attribute>


         </xsl:otherwise>


      </xsl:choose>


      <xsl:value-of select="title"/>


   </div>


</xsl:for-each>




Trong thí dụ trên Attribute style của Cascading Style Sheet sẽ có những trị số cho background-color khác nhau tùy theo loại sách. Nếu là Romance thì pink, Fantasy thì lightblue, còn nếu không phải là Romance hay Fantasy (tức là xsl:otherwise) thì lightgreen. Màu nầy sẽ được dùng làm nền cho đề mục (title) của sách. Để ý là cặp Tags <xsl:choose>,</xsl:choose> được dùng để gói các xsl:when, và xsl:otherwise  bên trong.





Sau đây là listing của một catalog.xsl style sheet đầy đủ, trong đó có cả hai cách dùng xsl:ifxsl:when nói trên:










<?xml version="1.0"?>


<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">


   <xsl:template match="/">


      <HTML>


         <HEAD>


            <TITLE>Book Lovers' Catalog</TITLE>


         </HEAD>


         <BODY>


            <Center>


               <H1>Book Lovers' Catalog</H1>


            </Center>


            <TABLE Border="1" Cellpadding="5">


               <TR>


                  <TD align="center" bgcolor="silver">


                     <b>ID</b>


                  </TD>


                  <TD align="center" bgcolor="silver">


                     <b>Author</b>


                  </TD>


                  <TD align="center" bgcolor="silver">


                     <b>Title</b>


                  </TD>


                  <TD align="center" bgcolor="silver">


                     <b>Genre</b>


                  </TD>


                  <TD align="center" bgcolor="silver">


                     <b>Price</b>


                  </TD>


                  <TD align="center" bgcolor="silver">


                     <b>Published Date</b>


                  </TD>


                  <TD align="center" bgcolor="silver">


                     <b>Description</b>


                  </TD>


               </TR>


               <xsl:for-each select="//book">


                  <TR>


                     <TD>


                        <xsl:value-of select="@id"/>


                     </TD>


                     <TD>


                        <xsl:value-of select="author"/>


                     </TD>


                     <TD>


                        <xsl:choose>


                           <xsl:when test="self::*[genre = 'Romance']">


                              <xsl:attribute name="style">background-color: pink</xsl:attribute>


                           </xsl:when>


                           <xsl:when test="self::*[genre = 'Fantasy']">


                              <xsl:attribute name="style">background-color: lightblue</xsl:attribute>


                           </xsl:when>


                           <xsl:otherwise>


                              <xsl:attribute name="style">background-color: lightgreen</xsl:attribute>


                           </xsl:otherwise>


                        </xsl:choose>


                        <xsl:value-of select="title"/>


                     </TD>


                     <TD>


                        <xsl:value-of select="genre"/>


                     </TD>


                     <TD>


                        <xsl:if test="price > 6">


                           <xsl:attribute name="bgcolor">cyan</xsl:attribute>


                        </xsl:if>


                        <xsl:value-of select="price"/>


                     </TD>


                     <TD>


                        <xsl:value-of select="publish_date"/>


                     </TD>


                     <TD>


                        <xsl:value-of select="description"/>


                     </TD>


                  </TR>


               </xsl:for-each>


            </TABLE>


         </BODY>


      </HTML>


   </xsl:template>


</xsl:stylesheet>




Sau khi thêm câu:










<?xml-stylesheet type="text/xsl" href="catalog.xsl"?>




vào đầu hồ sơ catalog.xml, double click lên tên file catalog.xml, Internet Explorer sẽ hiển thị kết quả sau:




Book Lovers' Catalog





































































































ID




Author




Title




Genre




Price




Published Date




Description




bk102




Ralls, Kim




Midnight Rain




Fantasy




5.95




2000-12-16




A former architect battles corporate zombies, an evil sorceress, and her own childhood to become queen of the world.




bk107




Thurman, Paula




Splish Splash




Romance




4.95




2000-11-02




A deep sea diver finds true love twenty thousand leagues beneath the sea.




bk108




Knorr, Stefan




Creepy Crawlies




Horror




4.95




2000-12-06




An anthology of horror stories about roaches, centipedes, scorpions and other insects.




bk109




Kress, Peter




Paradox Lost




Science Fiction




6.95




2000-11-02




After an inadvertant trip through a Heisenberg Uncertainty Device, James Salway discovers the problems of being quantum.




bk110




O'Brien, Tim




Microsoft .NET: The Programming Bible




Computer




36.95




2000-12-09




Microsoft's .NET initiative is explored in detail in this deep programmer's reference.






Bạn có thể tải về catalog.xml và catalog.xsl tại đây.




Dùng nhiều Templates trong một Style Sheet



Trong bài trước, trong mỗi XSL Style Sheet ta thấy vỏn vẹn chỉ có một Template (bảng kẻm in), và nó được áp dụng vào Root Element của tài liệu XML.




Thật ra, XSL cũng cho phép ta dùng nhiều Templates trong một Style Sheet. Có thể bạn cần làm việc ấy vì hai lý do. Thứ nhất, bạn có thể phân chia cách trình bày ra từng phần của tài liệu XML, để dễ debug hay sửa đổi bộ phận nào của Style sheet. Thứ hai, bạn có thể dùng XPath expressions để áp dụng kiểu trình bày nào vào loại dữ liệu nào tùy theo trị số của nó.





Khi một Style Sheet chứa nhiều templates, bạn chỉ định việc áp dụng của chúng vào luận lý trình bày (presentation logic) bằng cách dùng lệnh apply-templates. Thông thường, bạn tạo một Template cho Root Element nói là để chế biến cả tài liệu và dùng lệnh apply-templates để chế biến những Element nằm bên trong cái top-level template ấy. Những Templates nầy có thể được gọi lúc nào cần, và cái top-level template sẽ xử lý mọi dữ liệu không có Template nào nhắc tới. Tức là nếu Element nào không có template để áp dụng cho nó thì ta dùng cái template tổng quát của Root Element.





Thí dụ như cái Style Sheet sau đây gồm có: một top-level template để áp dụng vào Document (Root) Element, một template cho những Element Product với Attribute UnitPrice có trị số lớn hơn 70, một template cho những Element Product khác, và một template cho những Element Quantity:










<?xml version="1.0"?>


<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">


   <xsl:template match="/">


      <HTML>


         <HEAD>


            <TITLE>Northwind Home Page</TITLE>


         </HEAD>


         <BODY>


            <P>Customer Order</P>


            <P>Order No: 


               <xsl:value-of select="Order/@OrderNo"/>


            </P>


            <P>Date: 


               <xsl:value-of select="Order/OrderDate"/>


            </P>


            <P>Customer: 


               <xsl:value-of select="Order/Customer"/>


            </P>


            <TABLE Border="0">


               <TR>


                  <TD>ProductID</TD>


                  <TD>Product Name</TD>


                  <TD>Price</TD>


                  <TD>Quantity Ordered</TD>


               </TR>


               <xsl:for-each select="Order/Item">


                  <TR>


                     <xsl:apply-templates></xsl:apply-templates>


                  </TR>


               </xsl:for-each>


            </TABLE>


         </BODY>


      </HTML>


   </xsl:template>


   <xsl:template match="Product[@UnitPrice > 70]">


      <TD>


         <xsl:value-of select="@ProductID"/>


      </TD>


      <TD>


         <A>


            <xsl:attribute name="HREF">Products.asp?ProductID=


               <xsl:value-of select="@ProductID"/>


            </xsl:attribute>


            <xsl:value-of select="."/>


         </A>


      </TD>


      <TD>


         <FONT color="red">


            <xsl:value-of select="@UnitPrice"/>


         </FONT>


      </TD>


   </xsl:template>


   <xsl:template match="Product">


      <TD>


         <xsl:value-of select="@ProductID"/>


      </TD>


      <TD>


         <A>


            <xsl:attribute name="HREF">Products.asp?ProductID=


               <xsl:value-of select="@ProductID"/>


            </xsl:attribute>


            <xsl:value-of select="."/>


         </A>


      </TD>


      <TD>


         <xsl:value-of select="@UnitPrice"/>


      </TD>


   </xsl:template>


   <xsl:template match="Quantity">


      <TD>


         <xsl:value-of select="."/>


      </TD>


   </xsl:template>


</xsl:stylesheet>




Khi áp dụng Style Sheet nầy vào cái tài liệu đặt hàng XML, ta sẽ có hồ sơ HTML sau đây:










<HTML>


   <HEAD>


      <TITLE>Northwind Home Page</TITLE>


   </HEAD>


   <BODY>


      <P>Customer Order</P>


      <P>Order No: 1047</P>


      <P>Date: 2002-03-26</P>


      <P>Customer: John Costello</P>


      <TABLE Border="0">


         <TR>


            <TD>ProductID</TD>


            <TD>Product Name</TD>


            <TD>Price</TD>


            <TD>Quantity Ordered</TD>


         </TR>


         <TR>


            <TD>1</TD>


            <TD>


               <A HREF="Products.asp?ProductID=1">Chair</A>


            </TD>


            <TD>70</TD>


            <TD>6</TD>


         </TR>


         <TR>


            <TD>2</TD>


            <TD>


               <A HREF="Products.asp?ProductID=2">Desk</A>


            </TD>


            <TD><FONT color="red">250</FONT></TD>


            <TD>1</TD>


         </TR>


      </TABLE>


   </BODY>


</HTML>




Phần BODY của HTML trên hiển thị như sau:




Customer Order



Order No: 1047



Date: 2002-03-26



Customer: John Costello



































ProductID




Product Name




Price




Quantity Ordered




1




Chair




70




6




2




Desk




250




1










Cách áp dụng Style Sheet vào tài liệu XML



Trước khi tiếp tục học thêm các lệnh khác của XSL Style Sheet, ta cần hiểu và biết cách áp dụng một Style Sheet vào một tài liệu XML.




Áp dụng một Style Sheet là một chức năng của một XML parser như MSXML của Internet Explorer. Bạn có thể bảo một XML parser áp dụng một Style Sheet vào một XML bằng cách hoặc là chỉ cần nhét một processing instruction vào đầu hồ sơ XML, hoặc là viết một vài dòng code.



Dùng XML parser để hiển thị



Nếu ta lưu trữ XSL Style Sheet của hồ sơ đặt hàng trong một file tên Order.xsl thì ta có thể thêm một hàng processing instruction xml-stylesheet vào đầu hồ sơ đặt hàng XML như sau:









<?xml version="1.0"?>


<?xml-stylesheet type="text/xsl" href="Order.xsl"?>


<Order OrderNo="1047">


   <OrderDate>2002-03-26</OrderDate>


   <Customer>John Costello</Customer>


   <Item>


      <Product ProductID="1" UnitPrice="70">Chair</Product>


      <Quantity>6</Quantity>


   </Item>


   <Item>


      <Product ProductID="2" UnitPrice="250">Desk</Product>


      <Quantity>1</Quantity>


   </Item>


</Order>




Khi một XML parser đọc hồ sơ XML nầy, cái processing instruction xml-stylesheet  bảo parser áp dụng hồ sơ style sheet Order.xsl để transform XML.





Attribute type cho biết loại style sheet được áp dụng, hoặc là XSL style sheet hoặc là cascading style sheet (CSS), một loại style sheet dùng để chỉ định màu và kiểu chữ. Ở đây nó là XSL style sheet trong dạng text.





Attribute href cho biết tên của file dùng làm Style Sheet, path của tên file ấy có thể là tương đối hay tuyệt đối. Ở đây filename của style sheet là Order.xsl, không có path, nên có nghĩa là nó nằm trong cùng một folder với Order.xml.





Nếu ta dùng một chương trình trình duyệt như Internet Explorer 5.5 hay 6.0 nó sẽ tự động load Style Sheet để thêm dáng điệu cho tài liệu XML.





Trong lúc Internet Explorer hiển thị kết quả, nếu bạn dùng Menu Command View | Source của browser, bạn sẽ chỉ thấy code của XML, chớ không thấy code HTML như bạn đoán. Muốn xem được code HTML, là kết quả của việc transform XML bằng cách áp dụng XSL bạn cần tải về chương trình công cụ gọi là Internet Explorer XML/XSL Viewer Tools từ Microsoft Downloads.





Sau khi Unzip file vừa tải về, bạn right click tên của hai files msxmlval.infmsxmlvw.inf rồi chọn install để cài chúng làm Add-ins (những thành phần thêm chức năng vào một chương trình có sẵn) vào chương trình Internet Explorer như trong hình dưới đây.




clip_image001



Bây giờ muốn xem code HTML, bạn right click lên trang Web trong IE rồi chọn command View XSLOutput từ PopUpMenu như trong hình dưới đây:



clip_image002



Dùng code để transform với XSL



Cách dùng một ngôn ngữ lập trình để bảo một XML parser chế biến một tài liệu XML sẽ tùy thuộc vào hoàn cảnh. Nếu bạn dùng Microsoft XML parser, một component tên MSXML, trong lập trình thì tài liệu XML sẽ được loaded vào trong một Document Object Model (XMLDom) object. Kế đó bạn có thể gọi method transformNode để áp dụng một XSL style sheet đã được loaded trước đó vào một XMLDom object khác để chế biến XML.





Như trong thí dụ dưới đây, ta dúng hai DOM, một cái để load file Order.xml, một cái khác để load Order.xsl trong VBScript chạy trên Active Server Pages (ASP):









Dim objXML  ' DOM for XML


Dim objXSL  ' DOM for XSL


Dim strResult  ' Resultant document


'Load the XML document.


Set objXML = CreateObject("Microsoft.XMLDom") 


objXML.Async = False 


objXML.Load "c:\Order.xml" 


'Load the XSL style sheet.


Set objXSL = CreateObject("Microsoft.XMLDom") 


objXSL.Async = False 


objXSL.Load "c:\Order.xsl" 


'Apply the style sheet to XML


strResult = objXML.transformNode(objXSL) 




Sau khi chạy đoạn code trên, strResult sẽ chứa hồ sơ kết quả.





Hình dưới đây minh họa vai trò của XSLT processor trong công tác transform một hồ sơ XML dựa vào một XSLT (từ giờ trở đi ta có thể dùng từ XSLT thế cho XSL cũng được) file:




clip_image003



Ta cũng có thể code bằng JavaScript để chạy trong Browser, thay vì trong WebServer, như cho thấy trong trang Web dưới đây. Nó cũng cho ra cùng một kết quả như khi dùng IE để hiển thị XML trực tiếp.









<HTML>


   <HEAD>


      <TITLE>sample</TITLE>


      <SCRIPT language="javascript">


         function init()


           {


             var srcDOM = new ActiveXObject("Msxml2.DOMDocument.4.0");


             srcDOM.async=false;


             srcDOM.load("order.xml");


             var xsltDOM= new ActiveXObject("Msxml2.DOMDOCUMENT.4.0");


             xsltDOM.async = false;


             xsltDOM.load("order.xsl");


             resDOM.innerHTML = srcDOM.transformNode(xsltDOM);


           }


      </SCRIPT>


   </HEAD>


   <BODY onload="init()">


      <div id="resDOM"></div>


   </BODY>


</HTML>




Có lẽ bạn hỏi tại sao ta không dùng thẳng XML như phía trên để hiển thị trang Web. Lưu ý là ta có thể dùng kỹ thuật nầy để Transform một XML với XSL rồi hiển thị nó bên trong một DIV, tức là một vùng giới hạn bên trong trang Web, chớ không chiếm cả trang Web. Tại đây khi trang Web bắt đầu load (onload event), IE gọi function init() để transform XML rồi assign kết quả vào property innerHTML của DIV resDOM.





Có một method khác ta cũng có thể dùng thay cho transformNodetransformNodeToObject. Sự khác biệt chính giữa hai methods nầy là:






  • transformNode: Kết quả của method nầy là một tree dưới dạng text string, điển hình là một hồ sơ HTML. Ta có thể cho nó hiển thị trong một browser hay lưu trữ vào một file.






  • transformNodeToObject: Kết quả của method nầy được để vào trong một object khác, rồi chính object ấy có thể sẽ được chế biến thêm.






Khi ta dùng một trong hai method nói trên, thật ra object nguồn (source object) không cần phải là một hồ sơ đầy đủ. Nó có thể chỉ là một Node của hồ sơ XML. Nếu nó chỉ là một Node thì cái XSLT processor xem tập hợp Node ấy, và các Nodes con cháu của nó như một hồ sơ đầy đủ. Tương tự như vậy, một object XSL có thể là một file XSL đầy đủ, hay chỉ là một Node bên trong một file XSL.


Bạn có thể tải về order.xml, order.xsl và trang Web có JavaScript tại đây.


(còn tiếp)

Bài đăng phổ biến