XSLT gotchas: generate-id() collisions

Mixing ID generation schemes is always something you have to be careful about, but XSLT has a particular gotcha that you might run into if you’re got both externally-accessible cross-references that you need to propagate, and internally-generated cross-references that you use to make things like indexes and TOCs work.

More likely than not, you’re using the [...]

A lighter note…

…but not a lighter solution:

FizzBuzz Enterprise Edition

The package structure alone is enough to give anybody who’s worked with over-architected “enterprise grade solutions” a giggle, or at least a grim chuckle.

Anticipation is the enemy of appropriate solutions. I think that it’s often more harmful to do premature abstraction and optimization than it is to do them [...]

Using Xerces, Java, and JDK internal classes for catalog validation

If you’re validating your XML, and if you work a lot with XML you probably are or should be, catalog files can be indispensable. Among other things, they allow you to locally redirect URI and public/system URN resolution to somewhere other than a path that’s specified in the document. When you need to locally cache [...]

WSDL and the little things

While helping somebody work out some XML/XSD/WSDL problems, I ran across this:

http://source.otrs.org/viewvc.cgi/otrs/development/webservices/GenericTicketConnector.wsdl?view=markup

Among other problems, there’s 30+ occurrences of an attribute named ninOccurs in that WSDL file, and those date back over a year across multiple bug fixes.  And that’s why you should validate your XML and use a tool that helps you find these kinds [...]

Tips for dealing with Lync

One of my clients requires me to use Lync for communicating within the company, but won’t provide me with a copy of it unless I install their entire operating image. This is a problem for various reasons which I don’t want to get into, but the result is that everything works fine except for not [...]

Eternal questions: spaces vs. tabs

Here’s some thoughts on an aspect of coding that can be frustrating and annoying all out of proportion to its importance: tabs vs. spaces.

It’s one of those issues that coders often don’t think about much any more until you’re trying to work with code from a project that either didn’t share your philosophy or has [...]

XML parsing vulnerability

This is a little bit late to the game, but remotely exploitable vulnerabilities aren’t the kind of security I’ve had to worry about much in the past six months. That said, back in August an advisory for a lot of common XML parsers was published by CERT:

CERT-FI Advisory on XML libraries
CVE database entry

Freenet has [...]

Line Breaking

[originally posted 4/14/2009]

Some useful links from yesterday about line breaking:

XSL-FO is good for a lot of things, but there’s a lot that’s outside the scope of pure FO. Line breaks, for example. Deliberate line breaks are easy enough, using the element, but what about line breaks that occur in the natural course of flowing [...]

More notes on XSL Formatter

[originally posted 4/11/2009]

More notes on XSL Formatter:

A common way of producing PostScript output via XSL Formatter is to output via the “Adobe PDF” printer (if you have Acrobat installed, of course), which in most contexts also means the Windows PostScript printer driver. So if you know a little bit but not a lot about how [...]

XSL Formatter - more on graphics

[originally posted 4/8/2009]

Nope, EPS cannot be inlined – or at least, it cannot be inlined with any degree of consistency.

SVG, on the other hand, is handled quite well, as long as fonts are converted to outlines rather than trying to embed them. That’s fine for our purposes; now the problem is finding an EPS to [...]