SEARCH :
This SectionSite Wide
 

Ektron's Developer Group Blog

A blog for Ektron users, by Ektron Developers

Handy Web Developer Tools Rundown

 Permanent link

Software developers always seem to accumulate a bunch of tools to help get their work done.  We've done a quick internal roundup of some of these tools and wanted to share them with the Ektron developer community.

Go some of your favs that you don't see below?  Please add a comment and tell us what the are!


Bill Likes:

  • LiveHTTPHeaders (Firefox extension for viewing http request & response headers)
  • GreaseMonkey (Greasemonkey is a Firefox extension that allows you to customize the way webpages look and function)

Greg Likes:

  • Dreamweaver (Friendliest page development environment)
  • Fireworks ( By far best Web site design tool)
  • Web Developer ToolBar (Firefox extension that makes trouble shooting page issues a breeze)
  • WordPad (Can’t beat the old master for a quick code check.  )

Bruce Likes:


Ted Likes:


Kevin Likes:

I use WinMerge like it is going out of style ( http://winmerge.org/ ). Since I do all of my development in a "sandbox" directory then merge my changes into the source control I end up using it every day. It is easy to use, quick and I have never run into any issues with it.  

My favorite development tool is currently OutlookSpy ( http://www.dimastr.com/outspy/ ). It is invaluable to anyone who wants to delve into the mystery that is the Outlook API. It literally allows you to see everything going on behind the scenes in Outlook.

One of the most useful web pages I have found for any kind of non-trivial debugging is the Sysinternals web page (it is now owned by Microsoft). If you need to do any serious network or system monitoring (events, files, system resources, network resource, network traffic, network file securities, etc.) they have a utility that will make it significantly easier. I find myself on this site when all my standard debugging techniques fail. (http://www.microsoft.com/technet/sysinternals/default.mspx)


Keith Likes:

Another good tool for deconstructing the various components of a page is JSView.  It allows you to view the source for any of the various included files (JavaScripts, CSS, etc.).  I use it a lot when I'm deconstructing other things on the web that I've found and might want to replicate.  It's another simple FireFox plugin.

I found a new cool tool today that I think is going to work out great.  It is a stand alone version of IE6, and it allows you to have both IE7 and IE6 installed on the same box for testing purposes.

Details for the standalone IE6 and installation ntoes can be found at http://www.tech-recipes.com/rx/1188/ie7_use_ie6_ie7_together

Difference between xsl:value-of and xsl:copy-of and when to use node()

(XML, XSLT) Permanent link

When authoring an XSL transform, the difference between xsl:value-of and xsl:copy-of can have a profound and unexpected effect on the results. Once you are aware of the difference, however, it is very easy to know which to use.

In short,

xsl:value-of returns all the TEXT within the selected tag(s).

xsl:copy-of returns all the ELEMENTS (both tags and text) of the selected tag(s).

(Do not confuse xsl:copy-of with xsl:copy. xsl:copy returns just the tag of the context element. xsl:copy does not have a 'select' attribute. It is typically used to pass through an existing XML tag but not its attributes.)

To illustrate the difference between xsl:value-of and xsl:copy-of, refer to this small XML document.

<Name>
 <Family>Smith</Family>
 <Given>John</Given>
</Name>

Following is an XSLT showing various uses of value-of and copy-of with the results of each section shown in the column to the right.

XSLT  Result   Comments

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

<xsl:output method="xml" omit-xml-declaration="yes"/>

<xsl:template match="/">

 

   
<xsl:text>
xsl:value-of select="Name"
</xsl:text>
<xsl:value-of select="Name"/>

 xsl:value-of select="Name"

 Smith
 John

xsl:value-of returns all the text within the selected element and its children.
<xsl:text>
xsl:copy-of select="Name"
</xsl:text>
<xsl:copy-of select="Name"/>
 xsl:copy-of select="Name"
<Name>
 <Family>Smith</Family>
 <Given>John</Given>
</Name>
xsl:copy-of returns the selected element (including its tags) and its children (including their tags).

<xsl:text>
xsl:copy-of select="Name/node()"
</xsl:text>
<xsl:copy-of select="Name/node()"/>

 xsl:copy-of select="Name/node()"

 <Family>Smith</Family>
 <Given>John</Given>

Use node() to exclude the tags of the selected element and return just the child elements of the selected element.
<xsl:text>
xsl:copy-of select="Name/text()"
</xsl:text>
<xsl:copy-of select="Name/text()"/>

 xsl:copy-of select="Name/text()"

 
 

Use text() to return the immediate child text and exclude the text of child elements. In this case, the immediate text nodes are white space. To ignore white space between tags, add <xsl:strip-space elements="*"/> to the xsl:template element near the top of your XSLT.

 

</xsl:template>

</xsl:stylesheet>