Các nguồn cung cấp nội dung RSS 2.0 (RSS feed)

Cung cấp thông tin theo các nội dung chính

RSS đã có nhiều thay đổi kể từ lần cuối cùng mà developerWorks sử dụng: Hai đặc tả mới đã được phát hành, RSS đã trở thành một trong những tiêu chuẩn XML thông dụng và ngày càng xuất hiện nhiều nguồn cung cấp và công cụ đọc tin RSS. RSS đã góp phần vào sự bùng nổ của các trang weblog và nó cũng đang trở thành một phần tiêu chuẩn của những trang web khác. Bài này tìm hiểu RSS 2.0, xem xét những phát triển mới về định dạng quan trọng này.

James Lewin, Chủ tịch, The Lewin Group

James Lewin đã làm việc với Internet từ năm 1995. Ông là chủ tịch và chủ sở hữu của Tập đoàn Lewin và đã có nhiều bài viết về kinh doanh điện tử và Web. Ông có hẳn một mục trên báo của nhà xuất bản ITWorld: Thực hành Thương mại điện tử. Ông quan tâm đến âm nhạc điện tử, các mạch analog và khoa học viễn tưởng. Bạn có thể liên hệ với ông tại jim@lewingroup.com.



14 01 2013

Đã qua ba năm kể từ khi tôi viết bài cuối cùng về RSS cho developerWorks, "Giới thiệu các nguồn cung cấp tin RSS mới." Vào thời điểm đó, RSS là một trong những dịch vụ XML phổ biến nhất. Kể từ khi Netscape từ bỏ định dạng này, đã có 5 phiên bản đặc tả mới của RSS được xuất bản và có những định dạng khác nhau.

Bất chấp những thất bại này, giờ đây RSS ngày càng phổ biến hơn bao giờ hết.

RSS có ở khắp mọi nơi!

Hiện nay bạn có thể tìm thấy hàng chục ngàn nguồn cung cấp tin RSS. Những người dùng Weblog, các nhà xuất bản bản tin, cơ quan chính phủ và nhiều trang web cá nhân và thương mại đều hỗ trợ định dạng này. Các công cụ xử lý RSS được phát triển bằng ngôn ngữ Java, PERL, PHP, Python và các ngôn ngữ lập trình khác. Nhiều trình đọc tin và trình tổng hợp tin làm việc trên mạng, trên máy tính, ngay cả trong các trình duyệt email. RSS đã trở thành tiêu chuẩn phổ biến để cung cấp nội dung và siêu dữ liệu qua Internet.

Bài này sẽ tìm hiểu phiên bản đặc tả RSS 2.0 hiện tại. Tôi sẽ không thảo luận về các đặc tính màu mè và những tranh cãi xoay quanh định dạng này -- vì tôi muốn dành nhiều thời gian cho nhũng thứ khác.

Bài này sẽ cung cấp cho bạn một nền tảng nho nhỏ, xem xét định dạng này được sử dụng như thế nào và làm quen với một vài công cụ phổ biến có thể làm việc với nó. Bài này cũng xem xét lại những thành phần cơ bản về định dạng này, cung cấp cho bạn các ví dụ và hướng dẫn cho bạn biết cách để bắt đầu. Cuối cùng, bài này sẽ trình bày một số các tính năng mới của RSS 2.0, chẳng hạn như việc mở rộng RSS bằng cách sử dụng namespace (vùng tên). Phần cuối của bài này là một danh sách có chú thích cụ thể về các nguồn tài nguyên RSS.


RSS là gì?

Vậy thì "RSS" là viết tắt từ đâu?

Điều này thì còn phụ thuộc vào người mà bạn hỏi!

Vì đôi lúc những cái cơ bản nhất cũng gây ra tranh cãi. Một số người nói RSS là viết tắt của "RDF Site Summary" (Tóm tắt trang RDF), những người khác nói rằng đó là "Really Simple Syndication" (Cung cấp thông tin cực kỳ đơn giản), trong khi vẫn còn những người khác tin rằng đó là "Rich Site Summary" (Tóm tắt trang phong phú).

Theo Dave Winer, tác giả của bản đặc tả hiện tại, cho rằng: "Chẳng có sự đồng thuận nào về RSS là viết tắt của cái gì, vì vậy nó không phải là một từ viết tắt, đó chính là một cái tên. Các phiên bản sau của đặc tả này có thể nói nó là một từ viết tắt và hy vọng điều này sẽ không làm thay đổi quá nhiều ứng dụng".

Tóm lại, RSS là đại diện một kiểu -- một định dạng để cung cấp nội dung trên Internet.

RSS là một định dạng để cung cấp nội dung và siêu dữ liệu qua Internet. Hầu hết được sử dụng để chia sẻ các tiêu đề và các liên kết đến bản tin. Đối với các bài báo, thường thì người ta không chia sẻ cả bài mà chỉ chia sẻ "siêu dữ liệu" (metadata) của nó; siêu dữ liệu này có thể bao gồm tiêu đề, URL, hoặc một đoạn tóm tắt. RSS là một công cụ quan trọng cho các nhà xuất bản, vì các nguồn cung cấp bản tin có thể được dùng để cung cấp nội dung và để tích hợp nội dung của bên thứ ba vào trang web của bạn.

RSS là sử dụng ngôn ngữ XML. Tất cả các tệp (file) RSS đều phải tuân theo đặc tả XML 1.0 như đã được phát hành trên trang World Wide Web Consortium (W3C - Hiệp hội Mạng toàn cầu).

Dưới đây là một ví dụ điển hình về cách sử dụng RSS:

  • Một nhà xuất bản có một số nội dung mà họ muốn công bố.
  • Họ tạo ra một kênh RSS cho nội dung của mình.
  • Trong kênh này bao gồm các mục của trang web mà họ muốn quảng bá.
  • Kênh này có thể được đọc bởi các ứng dụng từ xa và được chuyển đổi thành các đầu đề và các liên kết. Các liên kết này có thể được nhúng vào trang Web hoặc được đọc bằng các trình đọc chuyên dụng.
  • Người đọc sẽ nhìn thấy các liên kết trên các trang web khác nhau, nhấn vào chúng và chuyển đến trang web của nhà xuất bản ban đầu.

Ngoài việc cung cấp các tiêu đề thì RSS cũng được sử dụng cho nhiều mục đích khác. RSS là một định dạng rất phổ biến trong cộng đồng weblog. Nó cũng được sử dụng trong các nhật ký hình ảnh, các mục rao vặt, công thức nấu ăn, các bài phê bình và để theo dõi tình trạng của các gói phần mềm.

Các nguồn cung cấp bản tin RSS được sử dụng trong lĩnh vực thương mại điện tử như là một cách phân phối thông tin. Ví dụ, Amazon cung cấp các nguồn RSS có thể được tùy chỉnh dựa trên nền tảng dịch vụ Web của họ. Điều này cho phép bạn theo dõi những quyển sách nằm trong top đầu bằng trình đọc bản tin của bạn hoặc nhúng bản tin vào trang web của bạn để xem những quyển sách có liên quan được bán tại Amazon.

RSS đã phát triển rất phổ biến trong vài năm qua. Trang Syndic8.com đang duy trì một lượng các kênh RSS và danh sách các nguồn cung cấp bản tin tăng trưởng đến 1400% trong vòng hai năm. Yahoo news, BBC, Slashdot, LockerGnome, Amazon, CNN, Wired, Rolling Stone và Apple Computer là một trong nhiều nguồn cung cấp bản tin RSS phổ biến.


Các trình đọc bản tin

Nguồn cấp tin RSS của developerWorks

developerWorks cũng cung cấp các nguồn RSS -- bạn vui lòng tìm hiểu thêm tại http://www.ibm.com/developerworks/rss/.

Khi số lượng các nguồn cấp tin phát triển thì dẫn theo một trào lưu phần mềm mới nổi lên: đó là các trình đọc bản tin. Trình đọc tin là các trình tổng hợp bản tin cá nhân (personal aggregators), giúp bạn tìm và tổ chức danh sách các kênh mà bạn đang quan tâm. Sau khi chọn được các kênh của mình, bạn có thể xem tất cả chúng trên một giao diện thống nhất của trình đọc. Trình đọc tin sẽ kiểm tra các bản cập nhật mới nhất cho các kênh của bạn và chuyển đổi chúng sang định dạng HTML để hiển thị.

Một trình đọc tin nổi tiếng là BlogExpress:

Hình 1. Xem bản tin alphaWorks trong BlogExpress
Xem alphaWorks trong BlogExpress

BlogExpress là được gọi là "ứng dụng pizza" (pizza ware) -- có nghĩa là, nếu bạn thích phần mềm này, bạn có thể ủng hộ tác giả một ít tiền để... mua bánh pizza ^^.

Tùy chỉnh các kênh

Bạn có thể dễ dàng thêm một kênh mới vào BlogExpress. Nếu bạn muốn theo dõi những gì đang xảy ra ở trang alphaWorks của IBM thì điều đầu tiên bạn làm là chọn một nguồn cấp tin (feed) để thêm vào:

Hình 2. Tìm một nguồn cấp tin tại alphaWorks
Rất nhiều nguồn cấp tin thú vị ở alphaWorks

Thêm một feed rất dễ dàng. Biểu tượng "XML" màu cam thường được dùng để liên kết với các RSS feed công cộng. Trong hầu hết các trình duyệt web, bạn có thể nhấn phím chuột phải vào biểu tượng "XML", chọn sao chép đường link liên kết và dán vào trình đọc tin của mình.

Các trình đọc tin phổ biến khác gồm có BlogStreet, FeedReader, AmphetaDesk và NewsGator (xem phần Tài nguyên).


Tìm các nguồn cấp tin RSS

Có thể sử dụng các công cụ tìm kiếm để tìm nội dung theo định dạng RSS. Ví dụ, với Google, bạn có thể gõ "filetype: rss" vào ô tìm kiếm để tìm các từ khóa của bạn chứa trong các file .rss.

Các công cụ tìm kiếm chuyên dùng giúp cho việc tìm kiếm nội dung trở nên dễ dàng hơn. Feedster - công cụ chuyên tìm kiếm các nguồn RSS - theo dõi các weblog và cho phép bạn tìm kiếm thông qua chỉ mục của các bài weblog và đánh giá chúng theo ngày hoặc thứ hạng có liên quan. Khi bạn thực hiện một hành động tìm kiếm, Feedster tạo ra một RSS feed dựa trên yêu cầu của bạn. Feed này có thể được thêm vào trình đọc tin của bạn, để bạn có thể xem tất cả các hoạt động gần nhất liên quan đến yêu cầu tìm kiếm của mình, thậm chí không phải bỏ quên trình đọc tin của bạn.

Daypop tìm kiếm tin, các blog và các nguồn RSS. Nó cho phép bạn theo dõi tin tức được nhiều người ưa thích giới weblog. Nó cung cấp danh sách 40 liên kết weblog hàng đầu phổ biến nhất hiện nay. Các liên kết này dẫn đến các bài viết phổ biến nhất trên toàn thế giới. Nó tạo ra một danh sách các từ hàng đầu đang được sử dụng trong weblog. Nó cũng xếp hạng các weblog bằng các đoạn trích dẫn, cung cấp một chỉ mục của các weblog phổ biến cho những người viết weblog khác. Bạn cũng có thể thực hiện tùy chinh các tìm kiếm. Danh sách các bảng xếp hạng và các tùy chỉnh tìm kiếm cũng có sẵn như các nguồn RSS để bạn có thể nhập khẩu vào trình đọc tin của mình.


Những điểm mới trong RSS 2.0

RSS 2.0 được xây dựng dựa trên đặc tả RSS 0.91. Nó có tính tương thích ngược, do đó các công cụ làm việc với RSS phiên bản 2.0 cũng có thể hoạt động với phiên bản 0.91. Bản đặc tả RSS 2.0 cập nhật bổ sung một vài phần tử (element), chẳng hạn <cloud><guid>.

RSS 2.0 cũng làm giảm bớt một số hạn chế. Trước đây, các phần tử <link><url> chỉ có thể hỗ trợ http hoặc ftp, giờ đây, có thể sử dụng bất kỳ URI hợp lệ nào. Trong RSS 0.91, mỗi kênh chỉ có thể chứa 15 bản tin và các thông tin bị hạn chế độ dài; những hạn chế này nay đã được loại bỏ. Tuy vậy, bạn cũng nên thận trọng khi sử dụng các giá trị lớn vì chúng có thể gây ra vấn đề với các ứng dụng cũ.

Tuy nhiên, thay đổi lớn nhất là khả năng mở rộng định dạng bằng cách sử dụng namespace (các vùng tên). RSS 2.0 hỗ trợ namespace, một cách tiếp cận đã được chuẩn hóa để bổ sung các element vào trong đặc tả. Các feed có thể chứa nhiều element mới nếu chúng được định nghĩa trong một namespace.


Tổng quan về RSS 2.0

RSS sử dụng ngôn ngữ XML và được dùng để cung cấp nội dung và siêu dữ liệu Web. RSS 0.91 được sử dụng phổ biến nhất trong một số phiên bản có sẵn. Đối với các nguồn RSS mới, việc sử dụng phiên bản 2.0 sẽ tốt hơn bởi vì nó là phiên bản đặc tả mới nhất và như đã đề cập ở trên, nó có thể tương thích ngược với 0.91.

Dave Winer là tác giả của bản đặc tả 2.0 này. Ông đã cố gắng tránh các thay đổi trong bản đặc tả vì điều đó có thể khiến cho việc sử dụng khó khăn hơn hoặc làm thay đổi các ứng dụng hiện có. Winer tóm tắt triết lý của mình như sau: "Hãy cứ để mọi thứ đơn giản. Đó chính là giá trị của RSS. Bất cứ ai có hiểu biết một chút về HTML thì đều có thể hiểu được RSS. Đó là điều quan trọng!"

Bản đặc tả được công bố theo giấy phép Creative Commons (xem phần Tài nguyên). Điều này có nghĩa là bạn có thể miễn phí sao chép và phân phối đặc tả đó, tạo ra các biến thể và sử dụng nó một cách tự do trong hoạt động thương mại. Có một ban cố vấn chịu trách nhiệm cập nhật, biện hộ và viết ra tài liệu cho bản đặc tả này.

Cấu trúc của một file RSS

Một file RSS là do một phần tử (element) <channel> và các phần tử con của nó tạo nên. Ngoài nội dung bản tin được liệt kê trong phần thân thì phần tử <channel> còn chứa các element đại diện cho siêu dữ liệu của kênh RSS -- chẳng hạn như <title>, <link><description>. Những mục này là các phần chính của kênh RSS và chứa nội dung thường hay thay đổi.

Kênh RSS

Một kênh thường có ba phần tử để cho bạn biết thông tin của kênh đó:

  • <title> (tiêu đề): Tên của kênh hoặc nguồn cấp tin.
  • <link> (liên kết): URL của trang web hoặc vùng trang web có liên kết với kênh này.
  • <description> (mô tả): Mô tả ngắn gọn về kênh đó.

Có nhiều phần tử con là tùy chọn và không bắt buộc. Ví dụ như phần tử <image> (hình ảnh) có ba phần tử con bắt buộc là:

  • <url>: URL của một hình ảnh GIF, JPEG hoặc PNG đại diện cho kênh.
  • <title>: Mô tả hình ảnh. Nó được dùng cho thuộc tính ALT của thẻ <image> trong HTML khi kênh được hiển thị bằng HTML.
  • <link>: URL của trang web. Khi kênh được hiển thị dưới dạng HTML, hình ảnh có thể hoạt động như một liên kết đến trang web.

<image> cũng có ba phần tử con không bắt buộc sau:

  • <width> (chiều rộng): Quy định chiều rộng hình ảnh tính bằng pixel. Giá trị tối đa là 144 và giá trị mặc định là 88.
  • <height> (chiều cao): Quy định chiều cao hình ảnh tính bằng pixel. Giá trị tối đa là 400 và giá trị mặc định là 31.
  • <description>: Chứa đoạn văn bản có trong thuộc tính title của liên kết tạo thành hình ảnh khi được hiển thị.

Ngoài ra, có thể sử dụng các phần tử tùy chọn khác:

  • <language> (ngôn ngữ): en-us (anh-mỹ)
  • <copyright> (bản quyền): Copyright 2003, James Lewin
  • <managingEditor> (người biên tập quản lý): dan@spam_me.com (Dan Deletekey)
  • <webMaster>: dan@spam_me.com (Dan Deletekey)
  • <pubDate> (ngày xuất bản): Sat, 15 Nov 2003 0:00:01 GMT (Thứ Bảy, 15.11.2003, giờ chuẩn theo kinh tuyến Greenwich (GMT) là 0:00:01)
  • <lastBuildDate> (ngày dựng cuối cùng): Sat, 15 Nov 2003 0:00:01 GMT
  • <category> (thể loại): ebusiness (thương mại điện tử)
  • <generator> (trình tạo): CMS 2.0 của bạn
  • <docs> (các tài liệu): http://blogs.law.harvard.edu/tech/rss
  • <cloud> (đám mây): Cho phép đăng ký với một "đám mây" để được thông báo về các bản cập nhật cho kênh, thực hiện một giao thức đăng ký-xuất bản nhẹ cho các nguồn cấp tin RSS.
  • <ttl>:Thời gian sống (Time to live) một con số đại diện cho số phút mà một nguồn cấp tin có thể được lưu trữ trong bộ nhớ đệm trước khi nó cần được làm mới.
  • <rating> (đánh giá): Đánh giá PICS cho kênh.
  • <textInput> (nhập văn bản): Định nghĩa hộp nhập có thể được hiển thị với kênh.
  • <skipHours>: Thông tin này để báo cho các chương trình tổng hợp bản tin biết rằng có thể bỏ qua không cập nhật nội dung trong bao nhiêu giờ.
  • <skipDays>: Thông tin này để báo cho các chương trình tổng hợp bản tin biết rằng có thể bỏ qua không cập nhật nội dung trong bao nhiêu ngày.

Các bản tin (Items)

Các bản tin là phần quan trọng nhất của một nguồn cấp tin. Mỗi bản tin có thể là một bài weblog, một bài viết hoàn chỉnh, một bài phê bình phim, một mục rao vặt trên báo, hoặc bất cứ thứ gì bạn muốn cung cấp cho kênh của mình. Các bản tin có thể thường xuyên thay đổi nội dung.

Bạn có thể chứa bao nhiêu bản tin cũng được. Đối với phiên bản đặc tả trước đó thì có một giới hạn là 15 bản tin và nếu bạn muốn bảo đảm tính tương thích ngược thì có thể tuân theo giới hạn này.

Các phần tử trong bản tin

Một bản tin thường chứa ba phần tử:

  • <title>: Phần tử này là tên của bản tin. Theo tiêu chuẩn sử dụng, phần tử này sẽ được dịch thành một đầu đề trong mã HTML.
  • <link>: Phần tử này là URL của bản tin. Thường thì tiêu đề được sử dụng như là một liên kết trỏ đến URL chứa bên trong phần tử <link> này.
  • <description>: Phần tử này thường là một bản tóm tắt hoặc lời nhận xét về bản tin.

Tất cả các phần tử đều là tùy chọn, nhưng một bản tin phải có ít nhất một phần tử <title> hoặc một phần tử <description>.

Một số phần tử tùy chọn khác trong bản tin có thể được sử dụng:

  • <author> (tác giả): Địa chỉ Thư điện tử của tác giả.
  • <category> (thể loại): Hỗ trợ phân loại bản tin.
  • <comments> (các nhận xét): URL của một trang để viết các nhận xét về bản tin.
  • <enclosure> (đính kèm): Hỗ trợ các đối tượng đa phương tiện liên quan đến bản tin.
  • <guid>: Một liên kết cố định được gắn đồng nhất với bản tin.
  • <pubDate> (ngày xuất bản): Ngày xuất bản của bản tin.
  • <source> (nguồn): Kênh RSS là nguồn của các bản tin. Phần tử này có thể có ích khi các bản tin được gộp chung với nhau.

Liệt kê 1 là một ví dụ về một file RSS 2.0. Lưu ý rằng kênh được chứa trong <rss version="2.0">. Ví dụ rất cơ bản này cho thấy các mục và hình ảnh được chứa như thế nào trong kênh. Các phần tử được hiển thị là các phần tử con của kênh được dùng phổ biến nhất.

Liệt kê 1. File RSS 2.0 đơn giản
<?xml version="1.0"?>
<rss version="2.0">
    <channel>
    <title>The channel's name goes here</title>
    <link>http://www.urlofthechannel.com/</link>
    <description>This channel is an example channel for an article.
    </description>
    <language>en-us</language>
    <image>
      <title>The image title goes here</title>
      <url>http://www.urlofthechannel.com/images/logo.gif</url>
      <link>http://www.urlofthechannel.com/</link>
    </image>
    <item>
      <title>The Future of content</title>
      <link>http://www.itworld.com/nl/ecom_in_act/11122003/</link>
      <description> The issue of people distributing and reusing
      digital media is a problem for many businesses. It may also be
      a hidden opportunity. Just as open source licensing has opened
      up new possibilities in the world of technology, it promises to do
      the same in the area of creative content.</description>
    </item>
    <item>
      <title>Online Music Services - Better than free?</title>
      <link>http://www.itworld.com/nl/ecom_in_act/08202003/</link>
      <description>More people than ever are downloading music from 
      the Internet. Many use person-to-person file sharing programs like 
      Kazaa to share and download music in MP3 format, paying nothing. 
      This has made it difficult for companies to setup online music 
      businesses. How can companies compete against free?</description>
    </item>
  </channel>
</rss>

Làm việc với các ngôn ngữ khác

Do sự phổ biến của RSS, nên nhiều công cụ đã nổi lên cho phép bạn làm việc với các tệp trong hầu hết bất kỳ môi trường nào:

  • Công nghệ Java: Một RSS Utilities Package (Gói các tiện ích RSS), có sẵn tại trang web của Sun, hỗ trợ việc sử dụng một Tag Library (Thư viện thẻ) trong JavaServer Pages (Các trang JavaServer). Nó cũng có một trình phân tích cú pháp RSS.
  • Perl: Một số công cụ Perl được thiết lập làm việc với RSS. XML::RSS cung cấp một framework để tạo ra và duy trì các file RSS. Nó hỗ trợ chuyển đổi giữa các phiên bản được sử dụng phổ biến hơn.
  • Python: RSS.py là một tập hợp các lớp để làm việc với các kênh RSS bằng Python.

Ngoài ra, nhiều công cụ quản lý nội dung và weblog trực tiếp hỗ trợ RSS. Hầu hết các công cụ weblog như Movable Type, Blogger và Radio Userland, đều hỗ trợ RSS. Một số hệ thống quản lý nội dung như Zope và CityDesk giờ đây cũng đã hỗ trợ.


Mở rộng RSS

RSS 2.0 có nhiều phần tử (element) tùy chọn, bao gồm các phần tử cần thiết cho hầu hết các kênh. Tuy nhiên, RSS 2.0 hỗ trợ khả năng mở rộng để bạn có thể sử dụng các phần tử không có trong đặc tả. Mặc dù, đặc tả RSS 2.0 không dành nhiều thời gian để định nghĩa khả năng này sẽ làm việc ra sao. Khả năng mở rộng được tóm tắt như sau: "Một nguồn cấp tin RSS có thể chứa các phần tử không được mô tả trên trang này, nếu những phần tử đó được định nghĩa trong namespace".

Việc này đòi hỏi phải có trí tưởng tượng phong phú! Nhưng may mắn là trong bản đặc tả có các ví dụ hiện đang được sử dụng để bạn tham khảo.

Ý tưởng cơ bản là bạn có thể thêm bất kỳ thẻ nào bạn muốn -- tuy nhiên, đối với các phần tử có nhiều nghĩa thì sẽ dễ dàng hơn. Người dùng có thể cũng không có ý niệm về ý nghĩa của một thẻ nào đó. Ví dụ, nếu tôi muốn sử dụng thẻ <analog> trong một kênh, thường không rõ nó có nghĩa gì. Các chuyên gia về web có thể nghĩ rằng thẻ này nói đến một trình phân tích file Web log phổ biến tên là Analog. Còn những người hâm mộ khoa học viễn tưởng cho rằng thẻ này đang chứa đựng thông tin gì đó về một tạp chí khoa học viễn tưởng kinh điển cũng tên là Analog. Các nhạc sĩ thì lại nghĩ nó đang đề cập đến một kiểu nhạc cụ điện tử phổ biến, các nhà sinh vật học thì liên tưởng đến một loại đàn organ còn các kỹ sư điện thì nghĩ đây là một loại mạch điện. Sự mơ hồ khiến cho việc hiểu đúng ý nghĩa của một thẻ trở nên khó khăn.

Vì điều này, RSS cho phép bạn thêm bất kỳ thẻ nào mà bạn thích, nhưng đòi hỏi nó phải được khai báo trong namespace. Điều này giúp quy định rõ ý nghĩa của thẻ đó.

Hãy trở lại với ví dụ <analog>, tôi muốn tạo ra một tập hợp các thẻ liên quan đến thương mại điện tử (e-business) và thẻ <analog> chính là một phần tử "e-business". Để làm việc này, tôi có thể tạo ra một namespace e-business và có <analog> là một thẻ trong namespace này. Để làm việc này, tôi sẽ thêm dòng khai báo namespace sau đây:

xmlns:ebusiness="http://www.lewingroup.com/ebusinessChannel"

Việc này sẽ tạo ra một namespace có tên là "ebusiness" và cho biết rằng tài liệu hướng dẫn cho namespace này được đặt trên trang web của tôi. Để sử dụng thẻ <analog>, tôi có thể sử dụng định dạng <ebusiness:analog>. Điều này sẽ phân biệt nó với các nghĩa khác về analog như <sciencefiction:analog> hay <synthesizers:analog>.

Một ví dụ thực tế về khả năng mở rộng được tìm thấy trong tệp ví dụ mẫu đi kèm với đặc tả RSS 2.0:

Liệt kê 2. Các namespace trong tệp ví dụ mẫu của đặc tả RSS 2.0
<?xml version="1.0"?>
<!-- RSS generated by Radio UserLand v8.0.5 on 9/30/2002; 4:00:00 AM Pacific -->
<rss version="2.0" xmlns:blogChannel="http://backend.userland.com/blogChannelModule">
  <channel>
    <title>Scripting News</title>
    <link>http://www.scripting.com/</link>
    <description>A weblog about scripting and stuff like that.</description>
    <language>en-us</language>
    <blogChannel:blogRoll>
      http://radio.weblogs.com/0001015/userland/scriptingNewsLeftLinks.opml
    </blogChannel:blogRoll>
      <item>
      <description>Joshua Allen: 
      <a href="http://www.netcrucible.com/blog/2002/09/29.html#a243">
      Who loves namespaces?</a></description>
      <pubDate>Sun, 29 Sep 2002 19:59:01 GMT</pubDate>
      <guid>
      http://scriptingnews.userland.com/backissues/2002/09/29#When:12:59:01PM
      </guid>
      </item>
  </channel>
</rss>

Trong ví dụ này, một namespace blogChannel được định nghĩa. Nó trỏ đến tài liệu hướng dẫn để giải thích việc sử dụng một số phần tử mới phổ biến với weblog. Một trong số chúng là <blogroll>. Tài liệu hướng dẫn mô tả rằng một blogroll là một tập hợp các liên kết trong một weblog trỏ đến các trang web có liên quan đến nội dung weblog của bạn.

Thẻ <blogChannel:blogRoll> cung cấp thông tin cần thiết cho người dùng hoặc phần mềm để biết rằng blogRoll là một phần tử được định nghĩa trong namespace blogChannel và có thể tìm thấy tài liệu hướng dẫn này ở đó.

Nhắc lại, RSS 2.0 chỉ đỏi hỏi sử dụng namespace với các phần tử không có trong đặc tả. Tất cả các thẻ cơ bản mặc định đã được khai báo trong namespace RSS 2.0. Điều này giúp cho việc sử dụng định dạng này một cách dễ dàng vì bạn không cần phải biết bất cứ điều gì về namespace trừ khi bạn muốn mở rộng RSS.


Tóm tắt

Bài viết này đã xem xét tầm quan trọng của RSS trong lĩnh vực cung cấp và tổng hợp nội dung. Bài này tập trung vào RSS 2.0, vì nó là phiên bản mới đặc tả nhất và đang ngày càng nhanh chóng phổ biến. Bài này cũng xem xét lại các công cụ có sẵn để làm việc với RSS, bao gồm các trình tổng hợp, các trình xác nhận hợp lệ và các trình phân tích cú pháp. Để biết thêm thông tin, hãy xem phần Tài nguyên.

Tài nguyên

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Khi bạn đăng ký với trang developerWorks lần đầu tiên, một tiểu sử của của bạn được tạo ra. Chọn các thông tin về tiểu sử của bạn (tên, nước/vùng, và nơi làm việc) đã được hiện lên màn hình, thông tin này sẽ được hiện kèm với nội dung mà bạn đăng tải. Bạn có thể cập nhật thông tin này bất kỳ lúc nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=SOA và dịch vụ Web
ArticleID=860915
ArticleTitle=Các nguồn cung cấp nội dung RSS 2.0 (RSS feed)
publish-date=01142013