<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
  PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<link rel="stylesheet" type="text/css" href="../../org.eclipse.platform.doc.user/book.css" />
<title>Links view</title>
<script language="JavaScript">
    function popup_window( url, id, width, height )
    {
      popup = window.open( url, id, 'toolbar=no,scrollbars=no,location=no,statusbar=no,menubar=no,resizable=no,width=' + width + ',height=' + height + ',left=,top=' );
      popup.focus();
    }
</script><script language="JavaScript" src="help/liveHelp.js"></script></head>
<body id="cwlnkvew"><a name="cwlnkvew"><!-- --></a>

<h1 class="topictitle1">Links view</h1>
<div><p>The Links view (<span class="menucascade"><span class="uicontrol">Window</span> &gt; <span class="uicontrol">Show

View</span> &gt; <span class="uicontrol">Links</span></span> or clicking on

the <img src="../images/viewlink.gif" alt="Links Icon" /> icon

in the Web perspective) shows the files in your projects, the

links between them and the characteristics of those links. This view helps

you distinguish between different types of links, shows you the number of

links to target files and indicates where documents have broken links or links

to external files.</p>
<p>The Links view is like the Project Explorer view in that you can open files

by double-clicking on the file icons it displays. Similarly, the Project Explorer

view shows you a file system hierarchical view of your project and the Links

view shows you the hierarchical relationship of your files, based on the links

between them.</p>
<p>When files contain links to other files, they can be described as having

parent-child relationships. When a file is in focus in the Links view, you

can see the hierarchical relationships between it and the files to which it

links. You can look at the parents (the files to the left) that contain links

to the file in focus and the children (the files to the right) that are the

targets of the links.</p>
<div class="p">Hypertext links in HTML files are displayed as arrows between the files

in the Links view. Hypertext links can be divided into different types. The

following are examples of the most common kinds of links: <dl><dt class="bold"><img src="../images/nwlnkbrk.gif" alt="Broken link" /></dt>
<dd>The arrow with two lines through it indicates that the link is broken

or that the link is to a file outside the WebContent folder.<div class="note"><span class="notetitle">Note: </span> Broken

links are also displayed in the Problems View and are indicated by the <img src="../images/nwlnktsk.gif" alt="Task list problem" /> icon

in the first column.)    </div>
<p>The <img src="../images/nwlnkcss.gif" alt="Cascading stylesheet" /> icon indicates that the link

is to a cascading stylesheet.</p>
</dd>
<dt class="bold"><img src="../images/nwlnknum.gif" alt="Number of links" /> </dt>
<dd>The arrow with a number on it indicates the number of times the file in

focus links to the file to which it points. <p> The <img src="../images/nwlnkgr.gif" alt="Graphic icon" /> or <img src="../images/nwlnkgr-l.gif" alt="Graphic icon" /> icons indicate that the link is to

a graphic. Links to graphics are sometimes referred to as an embedded links

because they are rendered as part of the same HTTP request (appear on the

same page).</p>
</dd>
<dt class="bold"><img src="../images/nwlnkque.gif" alt="Unknown link" /> </dt>
<dd>The arrow with a question mark on it indicates that the validity of the

link cannot be verified. <p>The <img src="../images/nwlnkind.gif" alt="Industry standard link" /> icon indicates that the link is one of a number of industry

standard link types. The <img src="../images/nwlnkmal.gif" alt="Mailto icon" /> icon indicates that the link is to a mailing address.

Links to file types that are not recognized are represented by the <img src="../images/nwlnkotr.gif" alt="File link" /> icon.</p>
</dd>
</dl>
</div>
</div>
<div><p><b class="reltaskshd">Related tasks</b><br />
<a href="tjlnkrfr.html" title="">Refreshing the Links view</a><br />
<a href="../org.eclipse.wst.webtools.doc.user/topics/tjlnknav.html">Viewing and navigating links</a><br />
<a href="twlnkfix.html" title="">Fixing broken links using the Fixup link references wizard</a><br />
</p>
</div><p>
		(C) Copyright IBM Corporation 2000, 2005. All Rights Reserved.
</p>
</body>
</html>