Search

xpathr -- paste service for XSLT code

Have you heard of JS Bin? Now, imagine the same service for XSLT code. Welcome to xpathr.

Introduction

You can paste some XML & XSLT code and get it transformed online. Snippets are created as gists, thus many functionalities are available only if you authenticate with your GitHub account. Everytime you make a change, a new revision is created -- exactly the same as when a gist is edited. New files can be added (only from github, currently). <xsl:import /> and document() are available and work as you expect.

How can I use this?

How many times have you faced a problem with XSLT or XPath?
The forum is a great place to gather help, but it's hard to explain the problem clearly and it's even harder to provide help because there's no way to quickly test some code, make it work and post the solution.

I feel like many would be able to answer questions on the forum, but only a few can take the time to setup the environment needed to code something that works.

With xpathr, you simply create a gist containing the XML you get from Symphony ?debug and the relevant XSLT code. Someone can easily fork your gist, make changes, and update his/her fork with working code. Job done.

There are other ideas to involve the community in clever activities that have only been discussed so far, but will surely be proposed in the coming weeks.

Acknowledgements

Thanks to @bauhouse for giving xpathr a nice UI. My messy GitHub repo hasn't stopped him from setting up and creating an ensemble for the project.

Thanks to @czheng and @nickdunn for the early feedback/suggestions and coming up with a cool name for the app.

Thanks to Domain7 for the hosting and the Symphony team for the domain.

Merry Christmas!

Very cool.

Thanks also to @nickdunn for his interface ideas, which led me to adapting the JS Bin user interface for use with xpathr.

And sorry for spamming GitHub while I was testing. :P

Is it not possible to get the output without creating a gist?

A little like JSFiddle?

I wish I'd seen JSFiddle before. Nicely designed UI. That's totally taken the wind out of my sails. :-(

Is it not possible to get the output without creating a gist?

At the moment, the application always hooks into the GitHub API. But, theoretically, it would be possible to take Gists out of the equation.

xpathr is using GitHub OAuth for authentication, so it has been designed for Gist integration.

Neato, good work and cheers!

That's totally taken the wind out of my sails.

Don't be silly. It's great, simple, and straight to the point. It's all it needs.

It's really cool as it is, I only ask about the Gist thing because I don't always want to publish/save my transformations publicly, sensitive data and all that. It is great to have a tool to test the XSL though, I've got rusty of late...

Excuse my misunderstanding, but where is the execute / process button? :)

Update:

Oh, a Gist must be created first ...

What about Process first and create Gist optional ? I would create a Gist only if I'm interested in keeping the result etc. Perhaps I only want to fast process of XML + XSLT without the need to store any info.

Thanks for the feedback guys. I'm afraid this is a little out of scope for now as the app is strongly coupled with github, but we will look into how to implement what you're asking for. Maybe creating private gists could be a solution?

Amazing job @alpacaaa and @bauhouse!

Concerning the UI (which I like), perhaps you guys might want to take inspiration from Lea Verou's latest achievement: Dabblet. I especially like the view mode feature that lets you choose how to split the screen (e.g. horizontally, vertically).

Don't be silly. It's great, simple, and straight to the point. It's all it needs.

Thanks, @designermonkey. :)

perhaps you guys might want to take inspiration from Lea Verou's latest achievement: Dabblet.

Thanks for the examples. They are very inspiring.

This is our first kick at getting a working application out in the wild. I'm definitely open to suggestions. I'm even more open to pull requests. I hope that there will be a lot more polish that we can bring to the project.

Great idea! I'd imagine you could just send the form to symphony to get it to transform the XSLT, even if you just have to use straight PHP

xpathr should be noted under the forum comment box to encourage use.

Remember to be polite, proactive, and clear. Please use xpathr.com when possible.

Something like that.

Again, @alpacaaa and @bauhouse, absolutely wonderful work! Thank you for providing us with such a wonderful web app. SO AMAZING!

I find that I am not using this service too often because of the requirement to create a Gist before seeing the result. I'd like to create a Gist from time to time but always only if the code has been tested and is working.

Yep, same here. I am not a fan of saving every "nonsense test code" on the web (even if it's for free.)

+1

The dependence on Gists can also flood your Github timeline with a lot of updates if someone is using xPathr.

The dependence on Gists can also flood your Github timeline with a lot of updates if someone is using xPathr

Yeah, I've already unfollowed a few people because of this.

It would be great to still keep the github login, and Gist links, but only apply the gist after the code is working, not before.

I don't use it because of this factor. I stick to xsltproc for ease.

Create an account or sign in to comment.

Symphony • Open Source XSLT CMS

Server Requirements

  • PHP 5.3-5.6 or 7.0-7.3
  • PHP's LibXML module, with the XSLT extension enabled (--with-xsl)
  • MySQL 5.5 or above
  • An Apache or Litespeed webserver
  • Apache's mod_rewrite module or equivalent

Compatible Hosts

Sign in

Login details