Talk:XSLT

message: Other programming language articles in Wikipedia in general (had a quick look for e.g. at C++, Python) don't seem to have much more sample code than the traditional "hello world". Articles that do have more code than "hello world" tend to be rather long articles. I believe the XSLT article has too much sample code, especially given the length of the article. It's an encyclopedia article, not a user manual or tutorial. In any case without annotation or elaboration, the samples are not very instructive. An anonymous user at 173.180.56.37 just added the below example which I don't think benefits the article and I've removed it to here. 
Example 2 (transforming XML to MS Access)
Combine the above and used it as a Transform to import to Microsoft Access.
XML as follows 
  <?xml version="1.0" encoding="utf-8"?>
   
    <event start="190809" title="General Motors Company founded by Billy Durant using Buick"></event>
    <event start="1904" title="Billy Durant at Buick Motor Company"></event>
    <event start="1909" title="Olds Motor Works buyout by Billy Durant into GM"></event>
    <event start="1909" title="Cadillac bought through 4.75m deal"></event>
    <event start="1910" title="Durant removed from GM"></event>
  
Example 2a (transforming XML to MS Access)XSL as follows
  <?xml version="1.0" encoding="UTF-8"?>
  <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:template match="/data">
   
     <xsl:apply-templates select="event"/>
   
  </xsl:template>
   <xsl:template match="data/event">
     <event>
        <xsl:if test="@*">
        <xsl:for-each select="@*">
        <xsl:element name="{name()}">
        <xsl:value-of select="." />
        </xsl:element>
        </xsl:for-each>
        </xsl:if>
     </event>
   </xsl:template>
 </xsl:stylesheet>
--Cornellier (talk) 13:07, 23 October 2012 (UTC)
thread_title: How much example code is needed?

message: I reverted the use of <?xml-stylesheet type="text/xsl" …> in the example code for a couple of reasons. The association of a stylesheet document with an XML source document is something that is normally accomplished when an application feeds both documents to an XSLT processor. Making the association within the source document via an xml-stylesheet processing instruction (PI) usually only happens when the source document author anticipates that the document is going to be loaded into a web browser that will have no other way of locating a stylesheet. The xml-stylesheet PI is therefore not good to include if you want this to be a minimal example of a typical (server-side) application of XSLT. A more important reason not to use the PI in examples, though, is that "text/xsl" is Microsoft's made-up media type for XSLT, and Mozilla only honors it for compatibility. We should encourage people to use the media type specified in RFC 3023 — application/xslt+xml — which, unfortunately, is not recognized by Microsoft products. — mjb 16:41, 13 Jun 2005 (UTC)
thread_title:  Using xml-stylesheet PI in examples 

message: I haven't been watching this article closely, but as I originally contributed the transform example, I just want to comment on some recent edits (09:54, 2 Jun 2005 Ruidlopes (Other minor edits on pre tags) and 09:50, 2 Jun 2005 Ruidlopes (Fixed some overflows on pre tags' content)).
In its original form, the example also demonstarted some of the idiosyncracies of XSLT's default handling of whitespace in its production of a document.  Since Ruidlopes' modifications, this is no longer the case.  But then it's easier to read now and people like things neat, so I'm not about to try to put it all back as it was. --Nigelj 18:52, 24 Jun 2005 (UTC)
thread_title:  Whitespace handling 

message: The article claims that Opera 9 supports XSLT. But on the opera web site relase 8.5 may be downloaded only. 62.202.122.180 15:17, 22 December 2005 (UTC)
thread_title:  Browser support 

message: * DONE ;; system elements (simple breakdown)
* element glyphs
dr.ef.tymac 03:05, 23 November 2006 (UTC)
thread_title:  todo edit items ;;  

message: Sugestion to REVERT (back) examples -- Krauss 27 November 2006
:I agree with the reasoning given in the edit summary ("Wikipedia is not a how-to guide"), and I know this same battle against excessive code samples has been fought (and won) in articles about other languages. However, a lot of work did go into the examples we had here, and there really should be some illustration of actual code, like a "hello world", at least. —mjb 18:53, 27 November 2006 (UTC)
replies: text: I don't think there was much value in the new 'Example 3' - it didn't illustrate any of the main uses of XSLT (see lengthy and slightly testy discussion above).  But the other two were, to my mind, essential illustrations to what XSLT was like and what it does.  They were in no way a 'how-to' guide, but were essential illustrations of the whole point of the language.  XSLT is nothing like most other scripting technologies, and from what we have left I can't see how the interested, enquiring reader is going to get much idea what it looks like or how it may be useful.  A small amount of nit-picking cruft had accumulated below 'Example 2', and that could have gone too.  As it is, I'm wondering if this deletion was not just a piece of slightly educated-looking, but ill-informed vandalism.  By discussing it, rather than simply reverting it on sight, we are going a long way towards assuming good faith, but it'll need a lot better justification than 'Wikipedia is not an how-to' (sic) before I believe it was for the betterment of this article. --Nigelj 20:34, 27 November 2006 (UTC)
replies: text: Just a note, the "Example 3" really was intended more as a short "hello-world-type" example, with the "no-xml-needed" as a slight (and somewhat pedantic) twist. It definitely won't hurt the article to remove it, anyone, feel free to do so. As an alternative, how about this? dr.ef.tymac 21:37, 27 November 2006 (UTC)

text: I will take out example three since consensus feedback seems to indicate removing it will not hurt the article. dr.ef.tymac 23:46, 29 November 2006 (UTC)
replies: text: Thanks all.  Good work, I think, guys.  --Nigelj 19:23, 30 November 2006 (UTC)

text: I think the KISS examples are maybe too basic in that they don't show anything but the simplest case.  But maybe I'm too close to this, having created the original Example 2, which shows a wide range of XSLT techniques.  But maybe this was the basis of the 'How-To' jibe? (We don't know because that deletor has never been back to contribute anything).  Others need to decide on that, but either way I do suggest that the examples both need the expected result or output to be provided too.  --Nigelj 15:00, 2 December 2006 (UTC)

text: Doed, but if the problem is the "old notes", please delete the notes, not the changes. -- Krauss 17 December 2006
=== Ex.2/Notes ===
Old notes: NEED REVIEW/REDO
 
Note: In this particular example empty elements, such as the meta element in the head, include a space before the final />, as was specified in the XSLT stylesheet.  This behavior is not required by the W3C specification for XSLT 1.0 processors, and so these spaces in Literal Result Elementshttp://www.w3.org/TR/xslt#literal-result-element in XSLT may or may not be reproduced in the output depending on different XSLT processor implementations.  The presence of this space in empty elements was specified in the HTML Compatibility Guidelines of the XHTML 1.0 specificationhttp://www.w3.org/TR/2002/REC-xhtml1-20020801/#guidelines for serving XHTML 1.0 to non-XHTML-capable browsers with a 'text/html' Internet media type.  It is not applicable to later versions of XHTML or XHTML served as 'application/xhtml+xml'http://www.w3.org/TR/xhtml-media-types/#media-types. It is not relevant to the most recent browsers (IE 7, Mozilla Firefox etc).  XSLT 2.0 plans to address the problem by providing an 'xhtml' output method.http://www.w3.org/TR/xslt-xquery-serialization/#xhtml-output.
Sugestion wikthout english review:
Note: for space on output notation and control of HTML undesirable tags, see behavior required by the W3C specification for XSLT 1.0 processorshttp://www.w3.org/TR/xslt#literal-result-element, Compatibility Guidelineshttp://www.w3.org/TR/2002/REC-xhtml1-20020801/#guidelines, Content-type 'application/xhtml+xml'http://www.w3.org/TR/xhtml-media-types/#media-types, and the XSLT 2.0 plans to address the problem (by providing an 'xhtml' output method) http://www.w3.org/TR/xslt-xquery-serialization/#xhtml-output.
Example 2 doesn't look correct
The title in its XHTML output doesn't seem to match the XSLT, and the screenshot uses a different username. Am I missing something here? Davedx 14:56, 12 May 2007 (UTC)

text: Nope, you're absolutely right. I recall someone changing the name with the reasoning, "less weirdness in examples" or something to that effect. They obviously forgot to update the screenshot example. I've corrected the inconsistencies. Jerazol 16:12, 12 May 2007 (UTC)
thread_title:  We need examples, are illustrative ! 

message: Old notes: NEED REVIEW/REDO
 
Note: In this particular example empty elements, such as the meta element in the head, include a space before the final />, as was specified in the XSLT stylesheet.  This behavior is not required by the W3C specification for XSLT 1.0 processors, and so these spaces in Literal Result Elementshttp://www.w3.org/TR/xslt#literal-result-element in XSLT may or may not be reproduced in the output depending on different XSLT processor implementations.  The presence of this space in empty elements was specified in the HTML Compatibility Guidelines of the XHTML 1.0 specificationhttp://www.w3.org/TR/2002/REC-xhtml1-20020801/#guidelines for serving XHTML 1.0 to non-XHTML-capable browsers with a 'text/html' Internet media type.  It is not applicable to later versions of XHTML or XHTML served as 'application/xhtml+xml'http://www.w3.org/TR/xhtml-media-types/#media-types. It is not relevant to the most recent browsers (IE 7, Mozilla Firefox etc).  XSLT 2.0 plans to address the problem by providing an 'xhtml' output method.http://www.w3.org/TR/xslt-xquery-serialization/#xhtml-output.
Sugestion wikthout english review:
Note: for space on output notation and control of HTML undesirable tags, see behavior required by the W3C specification for XSLT 1.0 processorshttp://www.w3.org/TR/xslt#literal-result-element, Compatibility Guidelineshttp://www.w3.org/TR/2002/REC-xhtml1-20020801/#guidelines, Content-type 'application/xhtml+xml'http://www.w3.org/TR/xhtml-media-types/#media-types, and the XSLT 2.0 plans to address the problem (by providing an 'xhtml' output method) http://www.w3.org/TR/xslt-xquery-serialization/#xhtml-output.
Example 2 doesn't look correct
The title in its XHTML output doesn't seem to match the XSLT, and the screenshot uses a different username. Am I missing something here? Davedx 14:56, 12 May 2007 (UTC)
replies: text: Nope, you're absolutely right. I recall someone changing the name with the reasoning, "less weirdness in examples" or something to that effect. They obviously forgot to update the screenshot example. I've corrected the inconsistencies. Jerazol 16:12, 12 May 2007 (UTC)
thread_title:  Ex.2/Notes 

message: To qualify as an encylopedia entry, it should discuss where, and how often, this is actually used.  Mathiastck 12:08, 19 July 2007 (UTC)
replies: text: Produce a reference to a reliable source that indicates this, and feel free to add the information to the article at any time. dr.ef.tymac 13:15, 19 July 2007 (UTC)
thread_title:  This is a tech document, not an encyclopedia entry 

message: I thought it might be good to have a subsection listing any 'gripes' that may make people think twice about using XSLT. Then again, they are probably largely combined with criticisms of XML in general.
To start a list though:
* Possible confusion between XSL stylesheets and the more widely known CSS stylesheets, which have a completely different syntax and approach. In particular, CSS rules are mainly used to control presentational aspects of [X]HTML documents, whereas XSL involves entire transformations of a document's elements, and output into any textual format.
* Verbosity and computational overhead – whilst gzip compression is widely available to dramatically shrink text files, by their very nature, text files allow for concise-yet-still-humanly-readable data representations and instructional markup. This is a general XML criticism that some people have though, with regards to the proliferation of closing tags that are perceived to be redundant, and the presence of both element attributes and children when one or the other would suffice.
* XML is traditionally understood to be a simple markup language, so why attempt to twist it into a Turing complete data manipulation language via XSLT? There are other ways of parsing data, and many tools for doing so that are not as computationally intensive. It is said that tools such as AWK introduce complexities, but what about XSLT's unique syntax and template declarations? There is an argument that the perception of greater readability is always better, but for data-intensitive applications I've read that decreasing verbosity in data description languages is important whilst still maintaining enough readability.
:You're adopting the wrong approach. If you want to create a section on criticisms of XSLT, you shouldn't be thinking about your own criticisms of the language, you should be researching the published literature for critiques published by respectable authors, preferably in peer-reviewed articles. (Also, edits to talk pages should be signed!) Mhkay (talk) 20:53, 22 June 2009 (UTC)
replies: text: But again, anecdotal evidence and personal observation has no place here. I'm only aware of one properly conducted usability study, and that was largely concerned with ease of learning rather than productivity; it also studied only very simple tasks rather than large-scale applications (and the tasks chosen were much more suited to the intended field of application of XQuery rather than XSLT). If you're aware of other research, please do summarise it for the article, with citations. Mhkay (talk) 22:19, 11 July 2010 (UTC)
thread_title:  XSLT Criticisms 

message: Propose the following changes to the article
* have one infobox, not two. I'm pretty sure one is enough. 
* instead of using the infobox templates file format and W3C Standard, use the infobox template . Obviously there's a certain amount of overlap. Yes, it is a W3C standard. But the article starts with 'XSLT is a language...'. I think the language infobox is more appropriate.
* remove the screenshot from the infobox. This really doesn't bring anything to the table, and takes up pixel space, adds bandwidth, etc. There are already code samples in the article. Wikipedia guidelines do state that binary images of text should not be used when plain text can be used. What would be appropriate is an XSLT logo, if one existed.
--Cornellier (talk) 16:13, 28 September 2012 (UTC)
replies: text: Done, 05 Oct 2012 --Cornellier (talk) 14:14, 24 October 2012 (UTC)
thread_title: Infobox

message: Current structure is (skipping intro, refs, my comments in italics)
* History
* Concept This is a rarely-used section title in computing articles, what does it mean? 
* Processor implementations 
* XSLT and streaming
* XSLT and XPath
* XSLT and XQuery compared
* XSLT media types why is this so prominent in the article?
* XSLT examples
I propose the article be structured like this:
* History and versions
* Supporting technologies XPath, DTDs, XQuery, XSL....
* How it works processing workflow, inputs and outputs
* Language features paradigm, typing, syntax, variables, branching and control; could discuss limitations and criticism mentioned above
* XSLT deployments referenced info on real world usage e.g. Symphony CMS used by some big brands, e.g. Blizzard for WoW
* Code samples
--Cornellier (talk) 16:28, 7 November 2012 (UTC)
thread_title: Structure of this article

message: Could please someone, that has time, to check & to write more about development of XSLT through years: first documentation. Thanks! --TudorTulok (talk) 11:37, 11 March 2014 (UTC)
replies: text:  version, years, months and the description box includes no years. --TudorTulok (talk) 11:38, 11 March 2014 (UTC)
thread_title:  History of XSLT 

message: I’d like someone who understands this better than I do to rephrase this sentence:
This makes a given XSLT program more resilient to change to the input it is likely to receive, useful in a language used for information processing applications.
It might make logical sense, but the language is unclear. 
Actually, that whole paragraph is bad. The run on sentence at the end of that paragraph is really hard to follow. 
Thanks! —giso6150 (talk) 00:39, 6 April 2014 (UTC)
thread_title:  Confusing sentence 

message: According to the first sentence in this article, XSLT-FO can be converted to PDF, Postscript and PNG. The fist two I agree with. But is PNG really correct?
XSLT (Extensible Stylesheet Language Transformations) is a language for transforming XML documents into other XML documents,[1] or other formats such as HTML for web pages, plain text or XSL Formatting Objects, which may subsequently be converted to other formats, such as PDF, PostScript and PNG.[2]
: XSLT-FO has no "output" as such, you would need to use a processor program such as Apache FOP to convert it into something else to make it viewable. As it is, FO is a static document in human-readable, but not particularly intelligible, XML elements. FOP does PNGs just as easily as PDFs.
: It is commonly intended to generate PDFs, but PostScript is pretty popular if it's going direct to print and PNG is used quite widely as a rapid online preview just to see if your FO production process is working.  Other important uses for PNGs from FO are as either web images (because you want to make a simple web image dynamically and FO is just a simple way of doing it) or where a complex infographic needs to be produced and the production of it benefits from a sophisticated process like FO. These are all cases where direct conversion FO->PNG is a significant function, even though it remains less well known than the "FO is how you make PDFs" viewpoint.
: As a trivial other example, if FO can be rendered to PostScript or PDF, these can then be rendered as PNGs by other tools. Although I wouldn't see this as an encyclopedic role for "FO->PDF", as claimed here.
: Equally, FO could make JPGs or GIFs (it's all just bitmaps), but I've always found PNGs adequate and a slightly better format for this. Andy Dingley (talk) 10:26, 22 August 2016 (UTC)
thread_title:  Can XSLT-FO Ouptut Produce PNG? 

message: An anonymous user has been deleting some implementations as "not notable". This is always going to be difficult territory: how do we decide which implementations to include and which to exclude?
There are two products that remain listed (QuiXSLT and XMLStarlet) that I would happily leave out: the first is an incomplete research project, not truly an implementation; and the second is not an XSLT implementation but a user interface layer above an XSLT engine). Meanwhile I can't think of any reason to exclude Altova RaptorXML (I have no great affection for the product because it competes with my own, but it has a significant user base and is a very complete and up-to-date implementation). Another product that has been removed is Exselt; that deletion is more defensible because the product is new and has yet to prove itself; but it has some claim to notability because of its innovative approach even without having yet achieved any market share.
Another notable omission (perhaps because it lacks a convenient name) is the native Microsoft processor in .NET, System.Xml.Xsl.
One danger I think is to treat things as more "notable" because they are more visible in the open source world. It's understandable that Datapower and the Websphere processor are not included, for example, because they are expensive proprietary IBM products with a relatively small user base and little visibility in public discussion. But they are commercially significant for IBM and its customers. I suspect the reason Altova was removed was that the deleter doesn't see it mentioned very often; but that says more about how Altova choose to promote it than it says about the significance of the product.
Another thing I have difficulty with is whether we are trying to write primarily about the situation today or whether the past deserves equal coverage. There have been a number of significant XSLT processors that are now history: xt, Sablotron, 4xslt, LotusXSL, jd.xslt come to mind. I would certainly include xt for its historical significance.
Arbitrary deletions and additions without discussion and reaching consensus doesn't seem a good way of moving forward on this.
Mhkay (talk) 20:44, 4 September 2018 (UTC)
thread_title:  Implementations