Showing posts with label XML. Show all posts
Showing posts with label XML. Show all posts

Thursday, September 19, 2013

Survey on Eclipse XSLT Tools

As the current maintainer of the XSL Tools at Eclipse, I'd like to hear from the potential user base - how do you like it, and which kind of features are you looking for?

To do that, I've made a survey around the use of XSLT and the Eclipse XSLT tools. It's completely anonymous and not very long.

Please consider taking the survey even if you do not use the Eclipse XSLT tools already -- the survey is on your general XSLT use, and interest in 2.0 and 3.0 features as well.

I will summarise the result and post them back here, when available.

The survey is at: http://srvy.it/14jOlzb

Please also feel free to forward the survey link and plea above to other XSLT users that you may know of, or advertise on XSLT-related blogs.

Thank you in advance!

Sunday, May 30, 2010

Autonomy, Mastery, and bug 313989

Dear diary: About a week ago, I took out a full 10 minutes from my day job to watch an interesting video on YouTube about what motivates people, as recommended by David Carver.

The video explains what might motivate people (who typically hold a challenging and rewarding day job) to contribute their efforts, for free, to open source projects, and it really got me thinking (spoiler alert -- go watch it first): The video concentrates on three significant drivers for motivation: Autonomy, Mastery, and a Sense of Purpose. I considered this is terms of my WTP interests:
  • "Autonomy" is right on target: Nobody told me to get involved with web tooling in Eclipse, this is purely an itch. For a free-time contributor, I believed I scratched my itch really good.
  • "Mastery" is on target too, since nothing teaches you a spec(*) as well as trying to implement it, or filing a bug against said implementation. It's nerdy, but rewarding!
  • "A Sense of Purpose" is a bit more difficult... What is the purpose of contributing to an open source project, anyway? Is it ... mastery for the sake of professional/career development? ... just "scratching an itch"? ... to improve the quality of a common resource? ... to earn the respect of my peers? ... to make the lives of users (other developers) easier? I'm not sure I have a clear answer on this one, but it got me thinking.
I wouldn't have taken as much notice if my watching this video didn't coincide with the WTP 3.2 RC2 build, which I took for a spin, and found three really annoying defects (bug 313989 being the most trivial of those). These bugs weren't really enough to warrant PMC reviews and all that process, but to me, they felt just like when you notice the first scratch on the paint of your brand new car: Sure, you realise it's probably going to get worse -- but you would have preferred not to know about it.

The point is this: I should have found those bugs earlier! If I hadn't been so busy investigating all kinds of other unrelated, non-WTP stuff (issues in Xalan and Hibernate, besides investigating how face recognition works, just because...) I could have done much better! Boom, there goes my sense of purpose, no matter how I look at it: Lost in unfocused dabbling.

So my conclusion was this: The "sense of purpose" motivating me to work with WTP is to develop the best IDE for working with XML schemas and documents, and to make our XPath2 implementation consumable for the likely adopters.
My open source effort will be concentrated on that (WTP+XML) for the next two years: Make it to the New and Noteworthy. So while I might take other tools for a spin (Xtext rocks!), those other projects shouldn't wait up for patches from me -- for the next two years.

P.S. And dear diary: I promise to write more often.

*: XML, XML Schema 1.0, SOAP 1.1, XML Catalog, XPath 2.0, XSLT 1 & 2, XML Schema 1.1, the list goes on.

Wednesday, July 25, 2007

Bug day is tomorrow...

... but I must honor all schema locations today

I was bitten by this bug so I fixed it, although it may not make it into the next WTP maintenance release since it contains more or less "gratuitous" UI changes/additions.

The underlying problem is that of XML schemas that directly or indirectly import several schema files from different locations, like this:

A.xsd defines element nsA:A in nsA and imports B1.xsd and B2.xsd
B1.xsd defines element nsB:B1
B2.xsd defines element nsB:B2
A-instance.xml contains an nsA:A which contains a nsB:B1 and a nsB:B2.

(confused? This is a simplification of an example derived from a simplification of the real-world problem)

Now, the XML Schema spec says this is undefined and that a processor is free to ignore the schemaLocation attribute of the subsequent imports. Nevertheless, the Danish government office for IT standardisation and such has decided in ~2003 to mandate such use in their guidelines (OIOXML), and if you want to design XML interfaces to work in the public sector in Denmark, you'd better play along. Sigh. Many implementations, such as Microsoft's, did the sensible thing and ignored the extra schemaLocation, some even with a warning.

Now, WTP's XSD editor supports this in general (due to elaborate 'best effort' lookups in the EMF model for XML Schema), but the validation framework uses the Xerces schema functionality, not the EMF model, for validation. This validation drives the annotations you see in the Problems view and the as-you-type squiggly lines in the editor.

Fortunately, the problem was mostly solved in WTP a while back, possibly in 1.0.1, by introducing the "Honour all schema locations" checkbox in the XML Schema preferences.
However, this only works for the validation of the schema files themselves, not for XML files which use such schemas.

Now at least there's a solution, if the patch is accepted.



Next question is: Which bug to pick for bugday?