Smart Tags: Dumb Technology? (1/4) - exploring XML | WebReference

Smart Tags: Dumb Technology? (1/4) - exploring XML

Smart Tags: Dumb Technology?

Web pages have traditionally relied on hyperlinks to associate text with related information residing on file systems, Web servers, or Usenet News. With the introduction of smart tags in Microsoft Office XP, you can enhance this type of hyperlinking behavior by associating text with not only multiple resources but also information provided by custom applications as well.

Smart tags provide users with the ability to associate text and data with actions. For example, if you type the stock ticker symbol INTM into a Word 2002 document or an Excel 2002 spreadsheet, and smart tags are enabled, a list of actions will appear, such as viewing a stock quote, company report, or recent news from a financial information Web site. Office XP provides several smart tags in the box, but you can develop your own smart tags as well. For example, you can develop smart tags that automate lookups, for instance street addresses in a mapping service, or city names with local weather information.

While some people see great potential in the external linking of resources, others see it as yet another try by Microsoft to dominate the Internet by allowing the browser to control links on arbitrary Web pages. Not surprisingly most of the Smart Tag destination sites are somewhere in the Microsoft Network. This way Microsoft integrates their content even in places where the user might not want it. Also it is not acceptable that the browser changes the original document by adding links to it. In some countries such as Germany that might make Microsoft legally responsible for the content of the page.

Looking at the current beta of Internet Explorer 6 shows how useless this feature is in practice, though: A page talking about everybody's darling, the IRS, offers links to their alleged stock quote, which of course refers to a completely unrelated real estate company. One would assume that without more meta-data in the HTML (using XML, anybody?) it would be as difficult to come up with good guesses as it currently is for search engines.

If the above did not put you off, the following paragraphs show you how to make your Web pages smart-tag aware.

Adding smart tags to your Web pages

To add smart tags to Web pages, you can use a text or HTML editor. To view smart tags, users must have the following software installed on their computers: Office XP, Microsoft Internet Explorer 5 or later, and the appropriate smart tag dynamic link library (DLL) or smart tag Extensible Markup Language (XML) list description file.

Smart Tag Namespace URI Declaration and Usage

To add smart tags to Web pages, you must first declare the Office namespace URI inside the Web page, and then you declare one or more smart tag namespace URIs in the Web page's HTML element.

<html
xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:myns="http://internet.com/namespaces/smarttags"

You can declare as many user-defined namespace URIs as you want in a document to uniquely qualify as many aliases as you need. However, any namespace URIs other than urn:schemas-microsoft-com:office:office must match exactly one of the namespace URIs contained in a smart tag action DLL , or smart tag XML list description file installed and registered on the user's computer. For example, if one of the smart tag types is declared as http://internet.com/namespaces/smarttags#myterms in the ISmartTagAction_SmartTagName property of your smart tag action DLL , or as the value of the type attribute for the smarttag element in your smart tag XML list description file, then you should declare your namespace URI in your Web page as the characters preceding the # symbol, such as http://internet.com/namespaces/smarttags.

At run time, Office XP tries to match this namespace URI with one in all of the smart tag DLLs and smart tag XML list description files on a user's computer to resolve smart tag actions. If no match is found, then the smart tag actions associated with that smart tag type will not be invoked.

Let's look at declaring and using smart tags.

Produced by Michael Claßen

Created: Aug 29, 2001
Revised: Aug 29, 2001