XSLT and mid-range mail servers
Job of the week
Featured threads
- How relevant do links need to be? 14 replies
- Tracking Online Response to Marketing/Communications Activities 8 replies
- Behavioural targeting software 4 replies
- Penalty avoidance on English-speaking foreign sites 5 replies
- 3 way linking - good or bad? 21 replies
Most viewed threads in last month
Most active threads in last month
- Best Practice SEO Guide Jan 2012 2 replies
- Acceretle 0 replies
- ZNAP 0 replies
- internet marketing consulting service 0 replies
- How to build your audience in social networks? 0 replies

CEO at Econsultancy
22 January 2002 13:41pm
2 questions for which I’d appreciate any advice or pointers…
1. XSLT
As I understand XSLT is a sort of CSS meets templating for XML? Anyone used this and can summarise pros and cons, what it’s good for and what not etc?
2. Mid-range mail servers
Can anyone recommend mail server software (for purchase and install rather than ASP) that is fairly feature-rich but not, say, the level or expense of Exchange Server?
Many thanks
Ashley
Managing Director at Box UK
23 January 2002 12:08pm
Hi Ashley
Here's a brief reply with regards to your 1st question from Dan, a colleague of mine. Hope this helps:
XSLT is a transformation language for use with XML - it converts XML into other (XML) documents. This doesn't immediately sound very useful, but in fact can introduce an entirely new dimension to your applications.
For example, our Content Mangement Systems store data in a raw XML format. This XML contains document content and metadata, but is not very readable in raw format. Each time a request is made to our CMS, the system can detect the capabilities of the user's system/device (e.g. browser variant/versions, device version (WebTV, PDA, Wap)). The system then transforms the raw XML with the correct XSL style sheet, in order to provide information to the user that both suits their device and their personal preferences/user profile. So, we would have one XSL file for WAP/WML transformations, one for WebTV transformations, one for IE (X)HTML transformations, etc.
So an XML/XSL based system does mean that your application architecture needs this additional 'transformation' layer, which can add to server load and request times (if it is transformed real time). BUT, it does allow you to easily create additional channels for your system, whether to a Kiosk or a PDF file.
Benno
On 13:41:01 22 January 2002 Ashley wrote:
>2 questions for which I’d appreciate any advice or
>pointers…
>
>1. XSLT
>As I understand XSLT is a sort of CSS meets templating for
>XML? Anyone used this and can summarise pros and cons,
>what it’s good for and what not etc?
>
>2. Mid-range mail servers
>Can anyone recommend mail server software (for purchase
>and install rather than ASP) that is fairly feature-rich
>but not, say, the level or expense of Exchange Server?
>
>Many thanks
>
>Ashley
CEO at Econsultancy
03 February 2002 17:52pm
Thanks for that Benno/Dan
It seems then that XSLT is a way to add formatting to XML, which in itself defines structure of information not formatting (like HTML)? 2 further questions have occurred to me in my forays into XML which you may be able to help me with…
1. Adding formatting to XML
As you say, XML isn’t a presentation language so it needs to be translated into one in order to be viewed. So what’s the best way to do this? As far as I am aware there are 3 common ways to do this:
- put the formatting into the raw XML file itself. This seems rather to defeat the point of using XML though doesn’t it? Fine if you want to end up with HTML only and insert (X)HTML formatting tags, but not much good if you want to format for mobile phones, TVs, print etc.
- write a custom program to transform the XML. This seems to be pretty common at the moment. Of course, you need the programming skills and you also need a programmer to change the code every time you want to change formatting, which isn’t ideal.
- use XSLTs as you describe. This is pretty new at the moment but I guess if its taken up as a standard it could have advantages over writing your own transformation code?
Are there any other ways? What are the other pros and cons that I’ve missed out? What’s most used at the moment and where are we heading with this? Any views most appreciated.
2. Content as XML vs. stored in Object/Relational databases
I’m pretty clear in my mind about what XML is and what the advantages are but I’m less clear about the exact pros and cons of storing content as XML versus storing it in an object or relational database. Is XML any easier to transfer or share between applications than data out of a well organised and standard relationship database (e.g. SQL Server)? Is it any quicker to load, parse and retrieve content than getting it from a database? Is it any easier to query or interpret? Is it that it is an ACSII format rather than any proprietary database format? And these days can you switch between the two pretty easily e.g. save out data from a database as XML and import it directly in with the element headings becoming rows and columns etc.?
I guess I’m thinking, so if content is submitted via a web form (for example) with all its metadata and so on, you could create an XML file out of it or you could write it to a database. Why is XML any more preferable? Or under what circumstances is one better than the other?
OK, so that’s quite a few questions, but any enlightenment appreciated.
Ashley
Founder / Director / Co-founder at easyBacklog / Aqueduct / Econsultancy
12 February 2002 14:30pm
Hi Ashley
In response to your first question regarding formatting XML:
I agree, dtoring the layout and formatting within an XML file entirely defeats the purpose. I doubt there are very many people who are currently doing this. There are exceptions, but generally an XML file should contain a description of the content and the actual content.
XSLT is a great transformation language, allowing XML data to be manipulated, rearranged and processed very quickly. Also, XSLT 1.0 is a standard as defined by W3C (http://w3c.org), and can be used safely knowing that XSLT 1.0 will remain valid. Unlike CSS style sheets, which many people see as the equivalent technology for HTML files as XSLT is for XML, XSLT does not apply style to XML, but actually extracts XML data based on a set of rules, and places this on the Result Tree. This Result Tree can then be published to your web browser or whichever device you are using, and may not resemble the layout of the XML file at all. Having a different XSLT file to process XML content based content for each platform i.e. web browser, palm device, WAP device is straightforward, manageable and an effective use of the technology.
The disadvantages to using XSLT are a lack of familiarity and widespread use at present, the inability to do complex processing on the XML data i.e. XSLT allows some manipulation of the data, but is generally used to arrange the layout and formatting of the content according to rules and simple control structures. To compare data from one XML file to another, process the result and send a aggregated response to a browser would not be possible in XSLT. XSLT is also restrictive in the output formats it is capable of i.e. XSLT cannot currrently transform an XML file into a Word document. These kind of more complex transformations can be achieved more easily using code.
Also, quite importantly, XSLT is not a simple markup / transformation language. Although it is not as complicated as most programming languages, your average HTML coder will not be able to create or manipulate XSLT. You will still have to have someone trained in XSLT to make changes, much like you would need a trained programmer if you didn't use XSLT. People should not imagine an XML & XSLT combination will allow everyone to work on both content and layout. This is unreliastic and will still require specialists.
The advantages to using code to process XML files include the ability for coders to currently port existing applications which read from database recordsets to iterate through XML data, without much change to the code. Also, there is the added power of being able to integrate data from multiple sources, and process data extensively before relaying to a device. Generally however, it would probably be more efficient for programs which present content using code to extract the data from flat recordsets which tend to be more efficient than XML files.
In response to your second question, and the advantages and disadvantages of storing XML data as files, I do not see any great advantage in storing data as XML. XML does have the added advantage of being hierarchical, but looses out in so many other aspects. Object based database allow hierarchical structures to be stored, but are not used very often. XML is not as effecient as a database such as SQL, in both reading and writing of data. SQL databases tend to have indexes which speed up finding data, they store data in the most economical formats, and are optimised to allow multiple updates to the database concurrently. XML files generally will not allow to sources to update the file concurrently, and should only really be used in a Multi-user environment for read only activity. Also, XML files do not have any simple methods for querying, joining and compiling data like SQL databases do using the SQL language. There are some developments in this area, but they are currently in their infancy (XQuery).
SQL databases are optimised to store data, XML files are optimised for data transfer and sharing. I would not recommend using XML files as data sources unless the activity is read only, and the XML files contain only small amounts of data i.e. in the case of placing the content for one HTML page in a single XML file, which has a simple XSLT style sheet to transform the XML file into HTML. To parse a large XML file is time consuming, and each time an XML file is processed, the entire XML file is parsed regardless.
Many SQL databases now allow transformation of their data from flat recordsets into XML, and vice versa. MS SQL Server 2000 is one such database. If you wish to interact with the data as XML, but have the performance and other enterprise database benefits, this is your best option.
Hope this helps to give you a better understanding.
Matt
Group Manager at Infosys
13 February 2002 11:49am
Hi Ashley
Here are some of the known pros and cons with XSLT.
Pros:
1. No plumbing required for client side transformation of XML – browser can take care of everything (IE 5.x and above)
2. HTML Forms can update the actual XML
3. An XSL document defines identify structural patterns within
an XML source document making it more effective than simple parsing.
Cons:
1. Not all client browsers support XSL (including more and more browsers for small, wireless devices).
2. Choosing stylesheets based on browser device characteristics, and then executing them on the server is difficult.
3. A key problem with scalability in regard to XSLT comes from the fact that the XSL interpreter needs to build the templates every time are called.
4. If your Web site is hit repeatedly while the parser is churning through a complex transformation, you will notice a significant degradation in performance.
New XML based web services from Sun and Microsoft like .NET are making the transformation of XML easier. ASP.NET the replacement for ASP 2.0 / 3.0 has similar syntax characteristics to XSL, and is using XML at the heart of its configuration.
On 13:41:01 22 January 2002 Ashley wrote:
>2 questions for which I’d appreciate any advice or
>pointers…
>
>1. XSLT
>As I understand XSLT is a sort of CSS meets templating for
>XML? Anyone used this and can summarise pros and cons,
>what it’s good for and what not etc?
>
>2. Mid-range mail servers
>Can anyone recommend mail server software (for purchase
>and install rather than ASP) that is fairly feature-rich
>but not, say, the level or expense of Exchange Server?
>
>Many thanks
>
>Ashley
Director at WebDBsolution
17 March 2002 01:44am
for the second question:
There is three options I already used before as mail servers:
www.
Infusion Mail Server at
http://www.coolfusion.com/category.cfm?Category=7&CFID=23566&CFTOKEN=97558219
Imail Server at
http://www.ipswitch.com/products/IMail_Server/index.html
Sendmail at
http://www.sendmail.org (open source)
or http://www.sendmail.com/ (expensive as exchange)
account director at Wheel
17 March 2002 13:31pm
Hi Emanuel
Have a look at Postfix (http://www.postfix.org) which is a very rebust (and open source/cost free) alternative to sendmail. We are using this to run our mail gateway and a mail management program called Mailman from GNU (http://www.gnu.org/software/mailman/mailman.html) to run our mailing lists.
Both are excellent (Postfix is a very resiliable alternative to sendmail) and relatively easy to configure. The other great thing is your total expenditure to acquire this sofware is $0.00!
Regards
Alex
On 01:44:51 17 March 2002 emanweb wrote:
>for the second question:
>
>There is three options I already used before as mail
>servers:
>www.
>Infusion Mail Server at
>http://www.coolfusion.com/category.cfm?Category=7&CFID-
>=23566&CFTOKEN=97558219
>Imail Server at
>http://www.ipswitch.com/products/IMail_Server/index.html
>Sendmail at
>http://www.sendmail.org (open source)
>or http://www.sendmail.com/ (expensive as exchange)