I faced a challenge of that sort recently in an application I was working on. The issue that I was struggling with was that there are aspects to XSLT2 which are not quite polymorphic. Polymorphism, for those of you who might of slept through that particular aspect of OOP training, is the idea that you can have two distinct objects have a particular method which, when invoked, produce similar but not necessarily identical actions.
The canonical example of this comes with the Shape class, with the method draw(). If I have two child classes called Rect and Circle, each of which inherit the draw() interface from Shape, then I could create instances of these classes:
rect =new Rect(); rect.draw();
and
circle = new Circle(); circle.draw();
each of these objects will perform a draw operation relevant to its given class (drawing a rectangle or a circle, as appropriate). By creating such a set of conventions (and the notion of a consistent interface gained via inheritance) you can additionally work with a wide range of similar objects through the same interface without having to write special type handlers for each object.
The three pillars of OOP, inheritance, encapsulation, and polymorphism, can exist within XSLT, but only somewhat uneasily. Inheritance, for instance, can be gained by creating two stylesheets, the first containing a dominant set of templates, the second "replacement" templates that effectively replace the first if they have an equal or higher precedence match. The problem with this is that there is no real way of saying "utilize the replacement template, then invoke the original template", the analog to the super() function in languages such as Java, which invokes the parent's method when invoked the same method of a child object.
XSLT 2.0 does provide features to ameliorate this somewhat.The first involves a subtle shift (albeit one that can cause a lot of grief for XSLT 1.0 developers). In XSLT 1.0, imported stylesheets had a higher priority than importing ones. This made it possible to "subclass" templates easily, but provided no clear mechanism for being able to invoke the replaced templates.
However, in XSLT 2.0, the priorities have been switched, which means that the calling stylesheet's templates will have a higher priority than the called stylesheet's templates, unless the priority is explicitly set as an attribute as being different. This has the immediate effect of giving the illusion that imported templates don't work. That's not quite the case, however. Instead, such templates can now be invoked with the <xsl:apply-imports/> element. This causes the processor to only look at templates in the imported stylesheet when applying the rules, and it is this functionality that gives you "super()" like behavior.
For instance, suppose that you have a stylesheet that takes the value of an item, and if it is a number less than 0, renders that number in red (in the file accounting.xsl)
<xsl:template match="example">
<xsl:choose>
<xsl:when test="number(text()) != NaN">
<xsl:choose>
<xsl:when test="number(text()) ge = 0">
<span style="color:green"><xsl:value-of select="."/></span>
</xsl:when>
<xsl:otherwise>
<span style="color:red"><xsl:value-of select="."/></span>
</xsl:otherwise>
</xsl:choose>
</xsl:when> <xsl:otherwise> <xsl:value-of select="."/> </xsl:otherwise> </xsl:choose></xsl:template>
A second template for "example" in a calling document could handle placing this content into a table cell, using the <xsl:apply-imports> element, as follows:
<xsl:import href="accounting.xsl"/>
<xsl:template match="example">
<tr><td><xsl:apply-imports/></td></tr>
</xsl:template><xsl:template match="examples"><table> <xsl:apply-templates/></table></xsl:template>
If the source XML document had the form:<examples><example>125</example> <example>-150</example><example>Twelve</example></examples>
Then this will render as:<table><tr><td><span style="color:green">125</span></td></tr><tr><td><span style="color:red">-150</span></td></tr><tr><td>Twelve</td></tr></table>
125
-150
Twelve
Significantly, if no import document is specified, then this will act in the manner appropriate for <xs:apply-templates/> for processing child elements and text of the current context. In other words, without the imported stylesheet, this will render as:
<table> <tr><td>125</td></tr> <tr><td>-150</td></tr> <tr><td>Twelve</td></tr></table>
This fairly subtle change will have an enormous impact upon the way that you develop stylesheets, especially in conjunction with a number of the other features that are now in play, including the next bit of subtlety - tunnelling parameters.
Digging Those Tunnels
You have probably noticed that while its possible to talk about applying OOP techniques to XSLT, such concepts do not necessarily translate cleanly in a one to one manner to how XSLT itself works. One instance of this comes from the problems inherent with dealing with globals.
Global variables are bad in the way that cookies and sweets are bad ... one or two, taken sparingly, can improve your code without too many ill effects, but go overboard and you'll be seeing the results show up in bloated code (or at least a bloated waistline).
Normally, in OOP code, you define variables that are appropriate for a given class, and oany methods that are defined within that class have the variables available to them. You can also create public properties which appear like "public" variables that are available from outside the class, but in most languages, these "public" variables are being replaced by getter/setter methods that expose specific properties while at the same time providing a certain degree of insulation on these variables. Additionally, regardless of scope, variables defined in this manner may also be available to any derived class of the base class, through some variation of the friend keyword.
In XSLT, things work a little differently. You can define a global variable or parameter within the <xsl:stylesheet> element of a transformation, in which case the variables are available anywhere within the transformation. However, if you import a global variable from an external template into your transformation, that variable or parameter will be overridden by a variable in the calling document if they have the same name. In some cases, this may be desirable, but in others, the calling template may have defined these variables for handling some internal state within the transformation, at which point you're feeding gibberish into your transformations (and usually very hard to debug gibberish, at that, as the code is syntactically correct).
You could, of course, not use globals in the called routines (a good practice anyway) and instead choose only to define the parameters within the likely entry point of the called stylesheet and then pass them down from template to template. Unfortunately, this solution tends to be rather verbose, especially when dozens of such "internal variables" are needed. Especially if the called templates didn't require the parameters, this particular technique was really only worthwhile if you absolutely needed that data at some point.
In XSLT2, a different approach was taken. A new attribute, the tunnel attribute, is placed on parameters in matched templates (i.e., <xsl:template match="foo") elements, with tunnel = "yes" indicating that the parameter should participate in tunneling, and tunnel = "no" indicating that the parameter is not tunnelled. An apply-templates parameter in turn would require that the tunnel = "yes" attribute be added to the <xsl:with-parameter> element in order for that variable to tunnel.
So what exactly is this tunnelling? In essence, a tunnel indicates that if a template calls another template that does not have the parameter declared (and consequently does not use that parameter), and this template in turn calls a third template that does have tunnelled parameters, then the third (or fourth, etc.) template acts as if it was called with the parameters from the first template. This way, the only templates that receive the parameters are the ones that actually use them, and you are able to keep your code lean in mean in the process.
As an illustration, the following illustrates a "tunnelled" hello,world type transformation:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:template match="/">
<xsl:apply-templates select="foo">
<xsl:with-param name="username" select="'Aleria'" tunnel="yes"/>
</xsl:apply-templates>
</xsl:template>
<xsl:template match="foo">
<html>
<head>
<title>Hello, World!</title>
</head>
<body>
<xsl:apply-templates select="bar"/>
</body>
</html>
</xsl:template>
<xsl:template match="bar">
<xsl:param name="username" tunnel="yes"/>
<h1>Hello, <xsl:value-of select="$username"/></h1>
</xsl:template></xsl:stylesheet>
With the assumed input being:
<foo>
<bar/></foo>
In this particular case, the parameter "username" is invoked from the root template match for the "foo" template. However, foo has no need of the parameter, so it doesn't need to declare the parameter. The "bar" template, on the other hand, does need to use the parameter, so it creates a parameter declaration, including the critical tunnel = "yes". Without this, the XSLT processor would work on the assumption that the parameter was simply not invoked from the "foo" template, and as a consequence, the $username is assumed to be blank.
This form of parameterization can vastly simplify writing imported stylesheets. Typically such sheets will typically provide a single point of entry for subsequent transformations in the imported sheets(especially if the templates use the mode attribute), and rather than defining global parameters that could possibly be clobbered, the entry point template could define the parameters within its body as being tunnelled, making these parameters available to any member of that set of modal templates.
</wrapup>
h2>Thus, in addition to making your code less verbose (and hence easier to both write and maintain) tunnelling can additionally serve to make your imported stylesheets more modular and classlike. In essence, this turns an imported stylesheet into something that has a number of the characteristics of classes within a more formal hierarchical language such as Java or C++, while at the same time retaining the templating architecture that makes XSLT such a powerful language in the first place.
117 comments:
Hi Curt,
> However, in XSLT 2.0, the priorities have been
> switched, which means that the calling stylesheet's
> templates will have a higher priority than the called
> stylesheet's templates, unless the priority is
> explicitly set as an attribute as being different.
> This has the immediate effect of giving the illusion
> that imported templates don't work.
If by "calling" and "called" you mean "importing" and "imported", then the above statement is wrong.
There's no change between XSLT 1.0 and XSLT 2.0 in this respect:
XSLT 1.0 (http://www.w3.org/TR/xslt#dt-import-precedence):
"An xsl:stylesheet element in the import tree is defined to have lower import precedence than another xsl:stylesheet element in the import tree if it would be visited before that xsl:stylesheet element in a post-order traversal of the import tree (i.e. a traversal of the import tree in which an xsl:stylesheet element is visited after its import children). Each definition and template rule has import precedence determined by the xsl:stylesheet element that contains it.
For example, suppose
stylesheet A imports stylesheets B and C in that order;
stylesheet B imports stylesheet D;
stylesheet C imports stylesheet E.
Then the order of import precedence (lowest first) is D, B, E, C, A."
XSLT 2.0 (http://www.w3.org/TR/xslt20/#dt-import-precedence):
"[Definition: A declaration D in the stylesheet is defined to have lower import precedence than another declaration E if the stylesheet level containing D would be visited before the stylesheet level containing E in a post-order traversal of the import tree (that is, a traversal of the import tree in which a stylesheet level is visited after its children). Two declarations within the same stylesheet level have the same import precedence.]
For example, suppose
stylesheet module A imports stylesheet modules B and C in that order;
stylesheet module B imports stylesheet module D;
stylesheet module C imports stylesheet module E.
Then the import tree has the following structure:
A
|
+---+---+
| |
B C
| |
D E
The order of import precedence (lowest first) is D, B, E, C, A.
In general, a declaration with higher import precedence takes precedence over a declaration with lower import precedence. This is defined in detail for each kind of declaration."
Even in a complex import-tree the XSLT programmer can have full control over which template rule is selected by using moded templates (using the "mode" attribute on xsl:template and on xsl:apply-templates).
To continue:
> In XSLT, things work a little differently. You can
> define a global variable or parameter within the
> element of a transformation, in which case the
> variables are available anywhere within the
> transformation. However, if you import a global
> variable from an external template into your
> transformation, that variable or parameter will be
> overridden by a variable in the calling document if
> they have the same name. In some cases, this may be
> desirable, but in others, the calling template may
> have defined these variables for handling some
> internal state within the transformation, at which
> point you're feeding gibberish into your
> transformations (and usually very hard to debug
> gibberish, at that, as the code is syntactically
> correct).
Once again, this is not a problem in the general case: in such cases the XSLT programmer can use variable with names, belonging to a particular, unique namespace.
Cheers,
Dimitre Novatchev.
Dimitre,
You're correct and I'm wrong here, though the behavior in certain parsers (I'm thinking the older MSXML parsers for instance) differs somewhat from spec in this regard, something which made me write more than a few improperly behaving stylesheets in more recent stylesheets.
I'm going to keep the article as written, both because I like your analysis on this from you and because its a pain in the butt to edit inline XML in this editor. Regardless, the upshot of both is that XSLT2 makes working with the imported files easier.
-- Kurt
> Dimitre,
>
> You're correct and I'm wrong here, though the
> behavior in certain parsers (I'm thinking the older
> MSXML parsers for instance) differs somewhat from
> spec in this regard, something which made me write
> more than a few improperly behaving stylesheets in
> more recent stylesheets.
>
> I'm going to keep the article as written, both
> because I like your analysis on this from you and
> because its a pain in the butt to edit inline XML in
> this editor. Regardless, the upshot of both is that
> XSLT2 makes working with the imported files easier.
Hi Curt,
I think that among all people you're probably the best to explain this topic to large audiences.
Therefore, why not give it another go?
In my opinion any treatment of this area will be incomplete without mentioning the following:
- in XSLT 2.0 xsl:apply-imports can now have xsl:with-param children.
- in XSLT 2.0 now there is an xsl:next-match instruction.
Also, there are other (successful) approaches to simulating OOP and polymorphism in XSLT -- such as the one I'm using in a generic state-preserving "xslt object" -- see:
http://fxsl.sourceforge.net/articles/PartialApps/Partial%20Applications.html#5._Creating_a_new_function_dynamically_-_the_calculator_store_problem.
Cheers,
Dimitre.
If you would just take your time to know your way around, you could discover a lot of premium products and services being offered for free.
Hey, your blog is awesome. I will definately add it to my favorites. I have a site that pretty much coversways to make money fast related stuff.
Hey, you have a great blog here!
I have a adult web site traffic site. It pretty much covers ##Website Promotion## related stuff.
Come and check it out if you get time.
Thought I would try posting to a blog. I have never done this.
Hope I'm doing this right? If I have done anything wrong please let me know.
The only time we have a test before the lesson is in LIFE.
So many blogs and only 10 numbers to rate them. I'll have to give you a 8 because you have good content.
Free Access To More Information Aboutmanagement
Hey, you have a great blog here!
Just wanted to say hello world and send a blog.
Hope I did this right?
I have a maximize web site traffic site. It pretty much covers ##WEBSITE TRAFFIC## related stuff.
Come and check it out if you get time.
Thanks again
Hey, you have a great blog here!
I have a maximize web site traffic site. It pretty much covers ##WEBSITE TRAFFIC## related stuff.
Come and check it out if you get time.
I'm new to blogging so sorry if it's not right for your blog.
Hope to see your blog grow.
Thanks again
There are only so many ways to describe the benefits of running a home based business covering based business business from home home opportunity work topics. We also tried to express the ups & downs of running your own home business that covered based business business from home home opportunity work. Most MLM schemes people take up as their first home business wont make any money without proper initial support from their sponsors. Great blog - I will return often.
Yo, This blog is pretty neat. You should check out mine sometime. It pretty much covers in internet make money related stuff.
Well written blog on medical site web I have a related blog on medical site web
shopping tool resources are tough to find. Good post though. Have a look here if you would shopping tool
Your blog has some good stuff here. This is also a good site for advertising.
RSS Announcer instantly and automatically submits your RSS feeds
Hey, you have a great blog here! I'm definitely going to bookmark you!
I have a affiliate internet marketing mlm success site/blog. It pretty much covers related stuff.
Come and check it out if you get time :-)
Members also get FREE access to our download that is jam packed with software, scripts,
Wow, I really like this one. I have a website that talks mostly about from get home observetodo1.myeweb.net quick rich work You should check it out sometime.
Advertising can be a big problem otherwise. A lot of companies reserve a big chunk of their budgets to cover marketing expenditures.
And A Link Back To Your Web Site Excite You?
Interesting web site. I've found whenever you're dealing with income locator opportunity, people might sign up but do nothing. That's whats so disappointing about trying to make a living online. You work your butt off on promoting, but if you don't have a product that sells itself folks won't do jack. Ahhhhh.....the life of an internet junkie.
Good luck,
Al Fanucchi Jr
Founder of SIDEjob.com
-------------------------------------
income locator opportunityGet Paid Daily!
sent Straight to your Inbox for your Convenience, you wont have to Search the Internet day after day...
Free Ads and Marketing Lessons conveniently SENT straight to your Inbox Daily!
Hello,
Just thought I would check out your blog.
I am new to blogging. I hope you don't mind me posting to your blog. If you are interested in checking out my blog and making a post that would be great.
I have a cheapest hosting web site/blog. It pretty much covers ##WEB HOSTING## related stuff.
Thanks,
Ed
craigslist san francisco ca personals
craigslist san francisco ca personals
craigslist san francisco ca personals
craigslist san francisco ca personals
craigslist san francisco ca personals
craigslist san francisco ca personals
craigslist san francisco ca personals
craigslist san francisco ca personals
craigslist san francisco ca personals
craigslist san francisco ca personals
craigslist san francisco ca personals
craigslist san francisco ca personals
craigslist san francisco ca personals
craigslist san francisco ca personals
craigslist san francisco ca personals
craigslist san francisco ca personals
Porn Biz
Make Cash
Adult Friend Finder
craigslist san francisco ca personals
Hi Kurt I was out searching for the latest information on online personals and found your site. Imports and Tunnels in XSLT2 contains the type of information that I’m looking for. It certainly got my attention and interest. I see now why I found your page when I was looking for online personals related information, and I'm glad I stopped by. Keep up the good work.
How is it going Kurt , I was out searching for the latest information on dating online when I found your site. Although Imports and Tunnels in XSLT2 wasn't exactly what I was looking for, it certainly got my attention and interest. I see now why I found your page when I was looking for dating online related information. I also think we should trade links! If you are interested, simply email me at my dating online site with your linking informaton. Keep up the awesome work..
It's time to take matters into your own hands to secure your future income.
It's time to take charge of your future and independence by having your own business!
good information
It's time to take charge of your future and independence by having your own business!
Hello ##NAME##, with all the information on legit work at home jobs I became very overwhelmed. Anyway, I was online doing a specific search for the most current information on legit work at home jobs and somehow I ended up on your site. ##NAME## to be frank, ##TITLE## wasn't not the exact match to what I was looking for, but boy am I glad I'm here. You've certainly managed to grab me attention and peak my interest. I must say this is a great blog and I'm most certainly happy that I stopped by eventhough it wasn't the legit work at home jobs related information I was looking for. Thanks. Keep up the good work.
I seldomly rant, but I must say that I have completely no idea how I ended up on yoru site with the search term web site design. Strange land this cyberspace. Happy blogging.
Thanks for all the great comments and insights..By the way, are you looking for more information on connecticut web design ..If so here is a fantastic resource for everything related to web design and connecticut web design with information, products, articles and more..Check it out here...http://www.cobbwebdesign.com
Hi ##NAME##, my eyes are so tired from surfing the Internet for so many hours. I've been searching for work from home jobs related information and ended up at your ##TITLE## site. Although I was looking for work from home jobs and found some good information, I ended up here. This is not really quite what I had in mind, however this is an awesome site. You must be proud of yourself. I'm sure glad I stopped by.
Interesting info, might I suggest more research at. . .
laser vision correction surgery
Hello ##NAME##, with all the information on work at home I became very overwhelmed. Anyway, I was online doing a specific search for the most current information on work at home and somehow I ended up on your site. ##NAME## to be frank, ##TITLE## wasn't not the exact match to what I was looking for, but boy am I glad I'm here. You've certainly managed to grab me attention and peak my interest. I must say this is a great blog and I'm most certainly happy that I stopped by eventhough it wasn't the work at home related information I was looking for. Thanks. Keep up the good work.
Hello ##NAME##, with all the information on telework I became very overwhelmed. Anyway, I was online doing a specific search for the most current information on telework and somehow I ended up on your site. ##NAME## to be frank, ##TITLE## wasn't not the exact match to what I was looking for, but boy am I glad I'm here. You've certainly managed to grab me attention and peak my interest. I must say this is a great blog and I'm most certainly happy that I stopped by eventhough it wasn't the telework related information I was looking for. Thanks. Keep up the good work.
Hello ##NAME##, with all the information on telework I became very overwhelmed. Anyway, I was online doing a specific search for the most current information on telework and somehow I ended up on your site. ##NAME## to be frank, ##TITLE## wasn't not the exact match to what I was looking for, but boy am I glad I'm here. You've certainly managed to grab me attention and peak my interest. I must say this is a great blog and I'm most certainly happy that I stopped by eventhough it wasn't the telework related information I was looking for. Thanks. Keep up the good work.
Hello ##NAME##, with all the information on work at home jobs I became very overwhelmed. Anyway, I was online doing a specific search for the most current information on work at home jobs and somehow I ended up on your site. ##NAME## to be frank, ##TITLE## wasn't not the exact match to what I was looking for, but boy am I glad I'm here. You've certainly managed to grab me attention and peak my interest. I must say this is a great blog and I'm most certainly happy that I stopped by eventhough it wasn't the work at home jobs related information I was looking for. Thanks. Keep up the good work.
get your ads seen on 2 million websites
Hello ##NAME##, with all the information on work from home jobs I became very overwhelmed. Anyway, I was online doing a specific search for the most current information on work from home jobs and somehow I ended up on your site. ##NAME## to be frank, ##TITLE## wasn't not the exact match to what I was looking for, but boy am I glad I'm here. You've certainly managed to grab me attention and peak my interest. I must say this is a great blog and I'm most certainly happy that I stopped by eventhough it wasn't the work from home jobs related information I was looking for. Thanks. Keep up the good work.
With our internet making money r you can get paid huge amounts of money with from the Internet sale of OVER ONE MILLION of the best products that are making other people millions of dollars! And you'll never stock or ship a single item... Ever!
www.TheOnlinePromoters.com has everything a webmaster needs to succeed online
The ultimate internet marketing website is www.TheOnlinePromoters.com
Our Paid money making hobby puts you in position to be just like the 'big boys' -- and our basic-level FREE money making hobby gives you the chance to 'test the waters' without any startup investment
I found your blog when I was googling for love and romance articles. I also visited an interesting site at http://top-personals.net that is also related to single personals free and has some useful tips for singles, check it if you�re interested.
Hello! While I was searching for info on as seen on tv fitness I somehow landed here. I am certainly glad I stopped by for a read. While I am here, I just wanted to drop a quick note to comment your blog...now to move on and continue my search for as seen on tv fitness. Thanks for the post.
How do I get information for Fallbrook room additions... Some people believe that to create is great but build is like changing the past forever... If you want to create a beautiful home Visit Fallbrook room additions and you can see what a little change can create..
This is a great opportunity. Just push a button 4 times per day and make $1,000's per month within one year.
The computers put out by companies nowadays are just getting more and more sophisticated. I just can't keep up with it all the time. Whose got the money to afford buying a computer every single year when there is other things to spend money on like Free web hosting. Maybe this one computer I have now will last as least 2-3 years, maybe more. The thing is, will this technology every stop continuing? I guess not. Oh well.
Free web hosting
How your habits control your small business sucess.
Link to this site: small business franchise opportunity
http://small-businesses.info/
business resource Retail Store - Guide To Starting Your Store in Retail Business.
Do you have insecurity in a 9-to-5 job in today's economy? Are you ready to make your own fortune with retail business? It takes someone with an entrepreneurial spirit.
If you're searching for the freedom to be your own boss. If you're tired of being held in limbo by a fragile economy. If you've always dreamed of owning your own store, where you get to select the merchandise. You can take control and enter the market with your own retail business. Retail Store business resource
Although I don't think you can use fasting as a diet or weight loss program, I do feel that it can be a great start to a proper weight loss diet and exercise program. I think it is definitely something that everyone should do at least once a year.
Link to this site. weight loss by hypnosis
Hello ##NAME##, with all the information on work from home I became very overwhelmed. Anyway, I was online doing a specific search for the most current information on work from home and somehow I ended up on your site. ##NAME## to be frank, ##TITLE## wasn't not the exact match to what I was looking for, but boy am I glad I'm here. You've certainly managed to grab me attention and peak my interest. I must say this is a great blog and I'm most certainly happy that I stopped by eventhough it wasn't the work from home related information I was looking for. Thanks. Keep up the good work.
Hello ##NAME##, with all the information on work at home I became very overwhelmed. Anyway, I was online doing a specific search for the most current information on work at home and somehow I ended up on your site. ##NAME## to be frank, ##TITLE## wasn't not the exact match to what I was looking for, but boy am I glad I'm here. You've certainly managed to grab me attention and peak my interest. I must say this is a great blog and I'm most certainly happy that I stopped by eventhough it wasn't the work at home related information I was looking for. Thanks. Keep up the good work.
Hello ##NAME##, with all the information on work from home I became very overwhelmed. Anyway, I was online doing a specific search for the most current information on work from home and somehow I ended up on your site. ##NAME## to be frank, ##TITLE## wasn't not the exact match to what I was looking for, but boy am I glad I'm here. You've certainly managed to grab me attention and peak my interest. I must say this is a great blog and I'm most certainly happy that I stopped by eventhough it wasn't the work from home related information I was looking for. Thanks. Keep up the good work.
Hello ##NAME##, with all the information on work from home I became very overwhelmed. Anyway, I was online doing a specific search for the most current information on work from home and somehow I ended up on your site. ##NAME## to be frank, ##TITLE## wasn't not the exact match to what I was looking for, but boy am I glad I'm here. You've certainly managed to grab me attention and peak my interest. I must say this is a great blog and I'm most certainly happy that I stopped by eventhough it wasn't the work from home related information I was looking for. Thanks. Keep up the good work.
Just blogging for a while, found your site that also happens to be around affordable web design and hosting services, so just saying what's up.
Charles
Great , this was cool. Like to see more posts. I have bookmarked this blog
Thanks
custom website desginers
Hi there, you have a really useful blog. Can you believe it? When blog surfing for detailed info on as seen on tv infomercials I ended up on your page. Obviously your site is not exactly what I was searching for, but your site caught my interest. Just wanted to drop a quick note to comment your blog...now to move on and continue my search for as seen on tv infomercials. Thanks for the post.
Hey I agree 100% agree with the last few comments. This blog has great opinions and this is why I continue to visit, thanks! ##link#
Hi there, you have a nice blog. Today I was out blog surfing looking for detailed info on as seen on tv store when I found your page. Your site is not an exact match but it did catch my interest. I am going to add you to my favorite list of blogs for future reading and reference. Should you ever need information on as seen on tv store then drop by the site above and check it out.
Hey I agree 100% agree with the last few comments. This blog has great opinions and this is why I continue to visit, thanks! ##link#
Hey I agree 100% agree with the last few comments. This blog has great opinions and this is why I continue to visit, thanks! ##link#
Hello,
I am so pleased I visited your site today. This is something that means a lot to me and I want to thank you for providing such concise information on this topic.
Thanks,
make extra money
Nice Blog. Keep posting more ..
Thanks
Hi , I was out blog surfing looking for some info on as seen on tv tool when I ended up on your page. Should you ever need it, you can get specific information about as seen on tv tool at the site above.
Hi o)
I (webmaster) am interested in learning more about [the way you
put your web site together] and would appreciate it if you could send me
some details please...
money make fast online
Hello,
I am writing to inform you that your site is very informative. I will continue to visit this site regularly
Regards,
money fast make online
Hello ##NAME##, with all the information on work from home I became very overwhelmed. Anyway, I was online doing a specific search for the most current information on work from home and somehow I ended up on your site. ##NAME## to be frank, ##TITLE## wasn't not the exact match to what I was looking for, but boy am I glad I'm here. You've certainly managed to grab me attention and peak my interest. I must say this is a great blog and I'm most certainly happy that I stopped by eventhough it wasn't the work from home related information I was looking for. Thanks. Keep up the good work.
Hi,
We thank you and congrats you to provide us with such a well compiled and informative blog...
Regards,
make fast money online
a great opportunity, no selling, no phoning, no recruiting PERIOD!
Hey!, Just browsing around for ideas for my new. (While we're at the same topic), I'm just getting started if you want to visit:
online web site hosts email tick
Charles
It looks like you spent some time on this blog. Keep up the good work! When you get the chance, visit my site and join for free! Go to free affiliate programs.
It looks like you spent some time on this blog. Keep up the good work! When you get the chance, visit my site and join for free! Go to free money.
Looking for more information on principle of corporate finance ..If so here is a fantastic resource for everything related to principle of corporate finance with information, products, articles and more..Check it out here...corpanalytics.com
Great blog you have here. Come and visit my web site sometime if you like seo web design
Are you a analysis consulting financial enthusiast? If so here is a fantastic resource for everything related to things about analysis consulting financial with information, products, articles and more..Check it out here...corpanalytics.com
I was searching blogspots on Google and found yours. Good blogsite with some intersting comments!
Message is from http://www.surveyearn.biz/PaidSurveys/Work_at_home.html which is refers to work at home opportunity
Well such an interesting and informative site.
If you require some home Business Opportunity info come visit mine at http://www.surveyearn.biz/PaidSurveys/Work_at_home.html
Found your blog again and had an interesting read. If you like come and visit mine sometime work at home opportunities
I was searching blogsites on Google and came across yours. Very cool keep up the good work.
From http://www.surveyearn.biz/PaidSurveys/Work_at_home.html my web site is about work at home online jobs
First Class!
- http://www.surveyearn.biz/PaidSurveys/Work_at_home.html - work at home moms
I was doing the Google search found your blogsite. Some content here is very thought provoking. Not sure i agree with all but hey this is a democratic society - on the whole!!
All the best again, from David at http://www.surveyearn.biz/PaidSurveys/Work_at_home.html which is about work at home computer jobs
business to business 1000+++ Business Online Tips
3 Clever Ways To Promote Your Online Business
3 Ways To Generate Profitable Business Ideas Anytime
3 Popular Types Online Business Surveys
4 Alternative Ways To Gain Lifetime Customers
5 Breakthrough Marketing Ideas
5 Innovative Ways To Advertise Your Web Site
5 Lesser-Known Online Business Ideas
5 New And Lesser-Known Online Business Ideas
5 Places Where You Can Find New Products To Sell
5 Proven Ways To Promote Your Web Site
5 Sure-Fire Ways To Attract New Customers Now
5 Unique Ways To Get FREE Advertising
5 Ways Your Business Can Benefit From Online Auctions
5 Quick Ways To Increase Your E-zine's Subscriber Base
6 Little Used Online Marketing Strategies
6 Payment Offers That Sell Like Crazy
6 Ways To Create Income With Your Web Site
6 Ways To Keep Your Online Customers Away From Your Competition
8 Benefits Of Helping An Online Business Newbie
8 Ways To Get People To Visit Your Web Site Again And Again
8 Ways To Increase The Perceived Value Of Your Freebies
9 Sure-Fire Ways To Increase Your E-zine's Readership Build A Successful
10 Amazing Product Selling Formulas
10 Amazing Ways To Jump Start Your Sales
10 Amplifying Ways To Turn Up Your Sales Volume
10 Awesome Ways To Attract More Orders
10 Benefits Of Submitting Articles To E-zines
10 Blazing Ways To Sky-Rocket Your Profits
10 Blockbuster Ways To Ignite Your Sales
10 Bonuses That Will Sell Your Products Faster
10 Boundless Ways To Anchor Down More Sales
10 Breakthrough Marketing Ideas
10 Concerns To Have Before Creating A Members Only Web Site
10 Cool Ways To Attract People To Your Web Site
10 Effective Ways To Reduce Your Business Costs
10 Electrifying Ways To Explode Your Orders
10 Explosive Ways To Turbo-Boost Your Sales
10 Extreme Ways To Rocket Launch Your Profits
10 Eye Popping, Jaw Dropping Ad Copy Secrets
10 Free Bonuses That Can Ignite Your Profits
10 Fool Proof Ways To Intensify Your Profits
10 Flaming Hot Ways To Catapult Your Sales
10 Heavy Duty Online Sales Grabbers
10 High Impact Viral Marketing Strategies
10 High Octane Ways To Unleash Your Profits
10 High Powered Ways To Increase Your Traffic
10 Hot Ways To Sell Your Products Like Crazy
10 Hypnotic-Like Sentences That Sell Like Crazy Use Online Diaries Instead Of Testimonials
10 Important Things To Tell Your Prospects
10 Incredible Ways To Keep Your Sales Soaring
10 Incredible Ways To Sell Your Products Now
10 Innovative Ways To Use Your Autoresponder
10 Intriguing Ways To Propel Your Online Sales
10 Killer Profit Boosters
10 Killer Ways To Defeat Your Competition
10 Killer Ways To Jump Start Your Profits
10 Killer Ways To Keep Your Profits Rolling
10 Killer Ways To Make People Click
10 Killer Ways To Make Your Ad Sell
10 Killer Ways To Make Your Online Testimonials More Believable
10 Killer Ways To Multiply Your Sales
10 Killer Ways To Sell Your Back-End Products
10 Lightening Fast Ways To Escalate Your Sales
10 Magic-Like Ways To Multiply Your Orders
10 Magic Ways To Boost Your E-zine Subscribers
10 Mesmerizing Ways To Reinforce Your Profits
10 Mind Altering Words That Make People Buy
10 Mind Blowing Ways To Increase Your Sales
10 Mind Busting Ways To Gain More Orders
10 Motivational Triggers That Make People Buy
10 Nitty-Gritty Ways To Increase Your Orders
10 Nifty Ways To Prolong Your Visitor's Stay
10 Online Joint Venture Ideas
10 Order Pulling Ways To End Your Ad Copy
10 Persuasive Triggers To Plug Into Your Ad
10 Phenomenal Ways To Plug In Extra Profits
10 Power Packed Ways To Boost Your Profits
10 Power-Packed Ways To Spark Your Sales
10 Profitable Reasons To Add A Discussion Board Or Chat Room To Your Web Site
10 Profitable Ways To Recycle Your Content
10 Proven Ways To Accelerate Your Profits
10 Psychological Desires To Insert Into Your Ad
10 Rarely Used Bonuses That Can Triple Sales
10 Rarely Used Ways To Upgrade Your Ad
10 Reasons To Form A Strategic Business Alliance
10 Reasons To Survey Your Visitors, Subscribers And Customers
10 Reasons Why People Don't Buy From You
10 Reasons Why People Don't Visit Your Web Site
10 Reasons Why People Won't Buy A Second Product From You
10 Resourceful Things You Can Do With A Product That Doesn't Sell
10 Riveting Ways To Nail Down Instant Sales
10 Seldom Used Freebies That Can Increase Your Traffic And Sales
10 Scorching Ways To Heat Up Your Sales
10 Shocking Ways To Energize Your Sales
10 Shocking Ways To Super-Charge Your Sales
10 Sizzling Offers That Sell Like Crazy
10 Sizzling Ways To Ignite Your Profits
10 Sizzling Ways To Improve Your Ad Copy
10 Spellbinding Ways To Light Up Your Sales
10 Strategic Ways To Maximize Your Profits
10 Super Charged Ways To Spark Your Sales
10 Sure-Fire Phrases That Will Increase Your Traffic
10 Sure-Fire Ways To Intensify Your Sales
10 Things You Should Know Before You Bid On A Business Product From An Online Auction
10 Things You Should Try To Barter For Before Buying
10 Tips For Running A Profitable Web Site
10 Tips For Writing A Highly Persuasive Ad
10 Tips For Writing A Profit Producing Ad
10 Uncommon And Unusual Free Product Bonuses
10 Upsell Strategies That Will Increase Your Profits
10 Ways Focus Groups Can Propel Your Profits
10 Ways Outsourcing Can Help Grow Your Business
10 Ways To Amplify Your Orders
10 Ways To Catapult Your Sales
10 Ways To Create A Popular Online Community
10 Ways To Erupt Your Sales Like A Volcano
10 Ways To Gain An Avalanche Of Sales
10 Ways To Gain Your Prospects Attention Using Your Picture Alone
10 Ways To Get New Product Ideas
10 Ways To Get Your Ads Or Messages Noticed
10 Ways To Improve Your Customer Service
10 Ways To Generate Highly Read Article Ideas
10 Ways To Increase Sales By Promoting Yourself
10 Ways To Increase The Perceived Value Of Your Product
10 Ways To Increase Your Affiliate Commissions
10 Ways To Increase Your Free eBook Downloads
10 Ways To Increase Your Traffic And Sales By Giving Away Software
10 Ways To Indirectly Get To The Top Of Search Engines
10 Ways To Keep Visitors At Your Site Longer
10 Ways To Make Your Ad Command Attention
10 Ways To Maintain Profits In A Slow Economy
10 Ways To Profit In An Uncertain Economy
10 Ways To Promote Your Web Site While Doing Non Business Tasks
10 Ways To Propel Visitors To Your Order Page
10 Ways To Sell Your Ad Space Like Crazy
10 Ways To Shift Your Sales Into Overdrive
10 Reasons To Sell A Fee Based Subscription Ezine
10 Ways To Sell Your Products Faster
10 Ways To Suck Up Orders Quicker Than A Super Vacuum
10 Ways Web Site Text Can Impact Your Reader's Buying Decision
10 Ways Writing Articles Can Improve Your Business
10 Web Site Add-Ons That Can Catapult Traffic
10 Web Site Design And Writing No-No's
12 High Readership Content Ideas
12 Ways To Create An Order-Pulling Niche
12 Ways To Outsell Your Competition
14 Ways To Persuade Your Web Site Visitors To Give You Their Email Address
15 Creative Ways To Make Money With eBooks
16 Things To Check Before Joining Someone Else's "Pay Per Sale" Affiliate Program
18 Reasons To Write An E-book And Then Give It Away For FREE!
20 Possible Reasons Why Your Business Is Failing
20 Sure-Fire Ways To Get People To Link To Your Web Site
20 Super Hot Ways To Make More Money From Your Customers
20 Questions To Ask Before Creating An eBook!
20 Ways To Convert Visitors Into Subscribers
20 Ways To Increase Your Traffic And Sales With eBooks
20 Ways To Increase Your Traffic And Sales Using Free Follow-Up Autoresponder Courses
24 Killer Press Release Secrets
42 Deadly Ad Copy Sins That I've Made
50 Benefits Of Joint Venture Marketing
Benefit By Helping Others
Business By Staying Connected
Cross Promote Online For Maximum Profits
Don't Forget About Offline Advertising
Endorsement Marketing Secrets
Give People A Reason To Link
Follow-Up With Freebies
How To Create Urgency So People Buy Now
How To Draw Visitors To Your Web Site By Holding An Online Contest Or Sweepstakes
How To Eliminate Your Competition Without Bloodshed
How To Get An Extra 108,160 Hits A Year
How To Get Free Advertising By Giving Away Online Content
How To Get Free Advertising By Participating In E-mail Discussion Lists
How To Get The Most From Your Free eBook Marketing Campaign
How To Get Valuable Feedback From Your Customers
How To Increase Traffic By Offering A Free Course
How To Increase Your Online Sales Anytime
How To Turn Any Product You Sell Into Residual Income
How To Turn Freebies Into Sales
How To Successfully Joint Venture Your Online Business With Offline Businesses
How To Use Bartering To Gain An Advantage Over Your Competition
How To Use Database Marketing To Skyrocket Your Online Profits
How To Use Online Auctions As Traffic Generators
How To Use Outsourcing To Beat Your Competition
Increase Your Credibility With Web Site Awards
Increase Your Orders By Answering Questions
Increase Your Target Markets
Multiply Your Links
Network Your Business Online
Online Business Press Release Writing Tips And Ideas
Online Discussion Board Advertising
Online Joint Venture Ideas
Redecorate Your Web Site To Increase Sales
Reward Your Customers
Remind Your Customers
Six Little Used Online Marketing Strategies
Survey Says
Three Clever Ways To Promote Your Online Business
Quarterback Your Business To A Touchdown
Unleash The Power Of Perpetual Marketing
Use Bundling To Increase Your Profits And Sales
When You Give, You Shall Receive
business to business 1000+++ Business Online Tips
Appreciated your thoughts.
Steve @
business opportunity
find a business Business Plan - Unique Approaches That Accelerate Your Business Plan
Chronicle Of One Man's Meteoric Rise To Internet Fame and Fortune ... and How You Can Do The Same For Your Business!
If you wanted to learn how to become successful in the online information industry, who would you rather hear from? A "copycat" or the guy who pioneered the system? It's a "no-brainer," isn't it?
Discover the humble beginnings of this info product genius and learn how he overcame the same struggles you are faced with every single day in your online business. In fact, once you read Leap Ahead, you'll marvel at how simple it can be for you!
Take your own "leap of faith". Business Plan find a business
You have a very intersting blog.
xxx
Salutations, interesting information you have presented here. I enjoyed passing time by reading your blog.
bye for now,
make money online and work from home
Hello, just out blogging and came across yours.. looking good, just looking for ideas for my own.
Thank,
Pat
hoodia 57
Very informative blog. I found everything I needed here. Great content! austin school of massage therapy
Student Debt Consolidation Debt Consolidation Help can help you reduce your interest burden by charging an interest rate lower than the rate on your existing loans. Debt consolidation loan can also allow you to make small monthly payments by extending the loan period
Student Debt Consolidation Debt Consolidation Help can help you reduce your interest burden by charging an interest rate lower than the rate on your existing loans. Debt consolidation loan can also allow you to make small monthly payments by extending the loan period
Hello Kurt, I’m just searching the web for the next big thing on 97biz.com and noticed your great site. Although Imports and Tunnels in XSLT2 wasn’t actually what I was looking for it DID get my attention and interest. I see now why I found your great
website when I was searching for 97biz.com related information and I’m thankful I found your blogsite even though its not an exact match. Excellent Post, thanks for the read (It’s a keeper).
Debt Help
Debt Consolidation can help you reduce your interest burden by charging an interest rate lower than the rate on your existing loans. Debt consolidation loan can also allow you to make small monthly payments by extending the loan period
Debt Help
Debt Consolidation can help you reduce your interest burden by charging an interest rate lower than the rate on your existing loans. Debt consolidation loan can also allow you to make small monthly payments by extending the loan period
Debt Help
Debt Consolidation can help you reduce your interest burden by charging an interest rate lower than the rate on your existing loans. Debt consolidation loan can also allow you to make small monthly payments by extending the loan period
Debt Help
Debt Consolidation can help you reduce your interest burden by charging an interest rate lower than the rate on your existing loans. Debt consolidation loan can also allow you to make small monthly payments by extending the loan period
Your an excellent blogger with informative post, you kept my interest for a while!
Keep up the good work,
data entry from home online work
Hi there. My name is Paul. I know this is not exactly related to your theme; however I just wanted to let you know about some amazing FREE web site designer software that Ive been using. I have built 5 great sites in the last couple of days and plan on building plenty more. The software is so easy to use yet its so powerful. It even gets all the content for you. Not the typical crap that you see. This actually searches for high quality articles and rss feeds on the web, (based on the keywords you enter) then creates a professional web site for you. It even has your Google Adsense, Clickbank and any other affiliate program you wish to promote built in to the page and links. It is so good, that I feel a duty to tell others about it. Many have helped me over the last few years and Im sure this will make life much easier for both the seasoned professional and the newbie alike, especially those that are not technically minded. Anyway, enough from me. I hope you and your readers enjoy it as much as I do. Check it out here web site designer software Happy blogging. Paul
Thanks for the info. Thanks,Steve @home income
Interesting. I learn something all the time.
Thanks,
Steve @
LifeIncome
Hi, just wondering if anyone knows any other great affiliate programs. I'm currently using Dating-Solutions.com (http://www.dating-solutions.com) as i find there product second to none! But im looking at spreading my wings and finding other top affiliate program, so if you know of any top affiliate program. Please respond to my message. I recomend anyone who's in the adult/dating industry to check out http://www.dating-solutions.com as there just great! - Let me know how you get on!!! Rachel x
Non-Surgical Breast Enhancement and Lift!
Re hit traffic web site promotion and this blog this is the latest big think in website traffic and money making generation.
"Generate thousands of links back to your website with Lin Referral. Link Referral is completely free and if you want you can upgrade to sell the links on to others. Link Referral takes website SEO to a new level and before long you could be on page 1 of google and earning considerable sums of money. Some people are earning thousands from Link Referral"
**adult webcams**adult web cam links
www.zopez.com is a free adult webcam community check it out and have fun,you have nothing to lose it's free.
Great blog on linkreferral.com. I've stumbled on a superb money making website. Linkreferral is free to join and drives traffic to your website in an inivitive way (the more sites you visit, the more links you get back to your website.)
I've only been a member of Linkreferral for aproximately 2 weeks but I have already seen the volume of people coming to my site double - if not treble.
Linkreferral is not only driving visitors to my website but as a result my affiliate sales income has doubled also.
I really cannot push this website enough. It is free and it is fantastic!! www.linkreferral.com is a must for money making opportunities online.
Really great blog I've bookmarked it - now some really important bits of financial advice - as it is along the same lines I thought I would share this info with you.
We were paying far too much for items like kids clothes, games consoles, car insurance/home insurance/pet insurance, broadband, mobile phones and utilities/loans, home improvement colorado etc. Then a friend of mine recommended a site called www.bargainplace.co.uk. We were able to get cheaper electricity, gas, mobile phone, broadband and loan deals at bargainplace. Thanks to my friend (and the site) I am saving something like £100 a month and can afford an extra holiday a year. Booked of course on www.bargainplace.co.uk. Thanks bargainplace ;-) !!
PS - I set up a website a couple of months ago and until recently I was getting no traffic at all. Then, I signed up to Linkreferral.com. Not only did I start getting visitors by the truck load, I also joined Affiliatewindow and am now making lots of money by partnering with companies like Argos, Next, John Lewis, Pixmania, Marks and Spencer, LX Direct, Littlewoods, Vodafone, phones4u, phones2u, Sky, NTL, Virgin Media, Talktalk, Woolworths, Empire Direct, ebay plus online gambling sites - you can make pot loads of cash.
Linkreferral.com is absolutelely free and has really helped my business take off.
PLUS!! there are opportunities to make money from Linkreferral as well - sign up for free and check out the website and email received for details
Follow these free tips and you won't go far wrong - that brand new BMW or Mercedes might just be around the corner!!
event management
Good blog - very interesting!! Thought you might like some excellent advice on driving extra traffic to your website/blog - I'm into free web hosting and to drive traffic to my website I was searching around the internet for absolutely ages looking for SEO tools to fire my site up the Google search engine, then I signed up free for this superb traffic gereating tool - I now have loads of hits to my websites/blogs and my site is shooting up the Google rankings quicker than ever before.
Consequently this can see your affiliate commissions shoot through the roof - meaning lots of extra money coming in for you and your family. Sign up now - it's free.. Sorry if this information is of no use to you but seeing as you have the anonymous feature enabled I thought I should share this free bit of essential promotional advice with you and would hope you would do the same for me.
I hope the tool will serve you equally as well as it has me!!
Best of luck, cheers for now, dave.
personal coach
camera from phone photo sharing
skype for symbian
Hi, just wondering if anyone has ever tried SKYPE for telephone calls over the internet?? A pal of mine says it's brilliant and works out much cheaper than conventional calls, just wondered if anyone else has signed up for it?
atom convergence in science single spirituality universe
Hey, you have a great blog here! I'm definitely going to bookmark you!
I have a top home based business opportunity site/blog. It pretty much covers ##KEYWORD## related stuff.
Come and check it out if you get time :-)
2000% INTERNET PROFITS
This is probably the best business opportunity I have ever seen! It's called GAP. Anyone have any input on this one? I have also seen some good reviews and resources at make money home based business
Hey, you have a great blog here! I'm definitely going to bookmark you!
I have a electronics camera site/blog. It pretty much covers ##KEYWORD## related stuff.
Come and check it out if you get time :-)
.
Hi matey
I'm sure it was this blog I was reading a while back where someone was looking for an SEO tool for driving more traffic and get more hits for their website.
Anyway, I was speaking to a techi guy at work who gets to know all the latest stuff and he uses the free Link Referral Program at http://marketingexperts.wordpress.com.
His website on internet marketing guide amongst other stuff has seen traffic explode since he started using the Link Referral Program - consequently his affiliate sales commissions and business sales went through the roof PLUS his website increased in google ranking which was an added bonus!!
If anyone else has any good ideas for driving more traffic to blogs/websites then please share with your online business blog buddies. Ta ;-)
home based business
home based business opportunity
internet home based business
home based web business
best home based business
home based business idea
home internet based business opportunity
start home based business
best home based business opportunity
online home based business
income opportunity home based business
legitimate home based business
home based business lead
mlm home based business
starting a home based business
top home based business
christian home based business
home based small business
home based internet marketing business
free home based business
work at home based business opportunity
computer home based business
home based mlm business opportunity
make money home based business
home based business work
home based travel business
easy home based business
serious home based business opportunity
small home based business opportunity
online home based business opportunity
home based business for woman
business opportunity home based work from
work from home based business
new home based business opportunity
start a home based business on the internet
based business business home opportunity
legitimate home based business opportunity
home based sales business
home based jewelry business
best rated home based business
home based franchise opportunity business
successful home based business
home based business opportunity idea
profitable home based business
internet home based business idea
home based business work at home
best home based business idea
home based business opportunity work at home
free home based internet business
home based business tax deduction
top home based business opportunity
home based computer business opportunity
unique home based business opportunity
home based affiliate business
home based business opportunity uk
income opportunity home based business idea
based business home incredible opportunity
based best business home small
starting home based internet business
christian home based business opportunity
home based business merchant account
best home based internet business
based business home network opportunity
home based business marketing
based business home idea latest
home based business review
home based business directory
based business career home opportunity
work at home based internet business
based business home job opportunity
home based business trade secret
best home based business
home based business magazine
home based computer business idea
home based business startup idea
home based business for sale
home based business cash opportunity
home based business web site
most successful home based business
.
Post a Comment