5 ms·
I use XSLT because I want my website to work for users with JavaScript disabled and I want to present my Atom feed link as an HTML document on a statically host
by James_K 11mo ago
I use XSLT because I want my website to work for users with JavaScript disabled and I want to present my Atom feed link as an HTML document on a statically hosted site without breaking standards compliance. Hope this helps.
- matthews3 11mo agoCould you run XSLT as part of your build process, and serve the generated HTML?
- James_K 11mo agoNo because then it would not be an Atom feed. Atom is a syndication format, the successor to RSS. I must provide users with a link to a valid Atom XML document, and I want them to see a web page when this link is clicked. This is why so many people find this objectionable. If you want to have a basic blog, you need some HTML docments and and RSS/Atom feed. The technologies required to do this are HTML for the documents and XSLT to format the feed. Google is now removing one of those technologies, which makes it essentially impossible to serve a truly static website.
- ErroneousBosh 11mo ago> Google is now removing one of those technologies, which makes it essentially impossible to serve a truly static website. How so? You're just generating static pages. Generate ones that work.
- James_K 11mo agoYou cannot generate a valid RRS/Atom document which also renders as HTML.
- shadowgovt 11mo agoSo put them on separate pages because they are separate protocols (HTML for the browser and XML for a feed reader), with a link on the HTML page to be copied and pasted into a feed reader. It really feels like the developer has over-constrained the problem to work with browsers as they are right now in this context.
- kuschku 11mo ago> So put them on separate pages because they are separate protocols Would you also suggest I use separate URLs for HTTP/2 and HTTP/1.1? Maybe for a gzipped response vs a raw response? It's the same content, just supplied in a different format. It should be the same URL.
- zzo38computer 11mo agoThere are separate URLs for "https:" vs "http:" although they are usually the same content when both are available (although I have seen some where it isn't the same), although the compression (and some other stuff) is decided by headers. However, it might make sense to include some of these things optionally within the URL (within the authority section and/or scheme section somehow), for compression, version of the internet, version of the protocol, certificate pinning, etc, in a way that these things are easily delimited so that a program that understands this convention can ignore them. However, that might make a mess. I had also defined a "hashed:" scheme for specifying the hash of the file that is referenced by the URL, and this is a scheme that includes another URL. (The "jar:" scheme is another one that also includes other URL, and is used for referencing files within a ZIP archive.)
- ErroneousBosh 11mo ago> Would you also suggest I use separate URLs for HTTP/2 and HTTP/1.1? Maybe for a gzipped response vs a raw response? The difference between HTTP/2 and HTTP/1.1 is exactly like the difference between plugging your PC in with a green cable or a red cable. The client neither knows nor cares. > It's the same content, just supplied in a different format. It should be the same URL. So what do I put as the URL of an MP3 and an Ogg of the same song? It's the same content, just supplied in a different format.
- gldrk 11mo ago>I must provide users with a link to a valid Atom XML document, and I want them to see a web page when this link is clicked. Do RSS readers and browsers send the same Accept header?
- bilog 11mo agoXML source + XSLT can be considerably more compact than the resulting transformation, saving on hosting and bandwidth.
- kuschku 11mo agoI have arduinos with sensors providing their measurements as XML, with an external XSLT stylesheet to make them user-friendly. The arduinos have 2KB RAM and 16 MIPS. Which build process are you talking about? Which XSLT library would you recommend for running on microcontrollers?
- matthews3 11mo ago> Which build process are you talking about? The one in the comment I replied to.
- kuschku 11mo agoFair, but that shows the issue at hand, doesn't it? XSLT is a general solution, while most alternatives are relatively specific solutions. (Though I've written repeatedly about my preferred alternative to XSLT)
- righthand 11mo ago> (Though I've written repeatedly about my preferred alternative to XSLT) Link to example?
- kuschku 11mo agoI've previously suggested the XML stylesheet tag should allow <?xml-stylesheet type="application/javascript" href="https://example.org/script.js"?> which would then allow the script to use the service-worker APIs to intercept and transform the request.
- righthand 11mo agoOh yes sorry I thought you meant you had a blog post or something on it.
- Fileformat 11mo agoThat is not the point: I already have the blog's HTML pages. I want the RSS feed to be an RSS feed, not another version of the HTML. The XSLT view of the RSS feed so people (especially newcomers) aren't met with a wall of XML text. It should still be a valid XML feed. Plus it needs to work with static site generators.
- cpill 11mo agoYeah, but WHY? If they are on the website, why would they want to look at the feed for the website, on the website, in the browser instead of just looking at the website? If the feed is so amazing, why have the website in the first place? Oh yeah, you need something to make the feed off :D
- Fileformat 11mo agoI don't want the feed to look amazing. I just don't want to present a wall of XML text to non-technical users who don't know what an RSS feed is!