When working without the safety net of a RDBMS in a multi-user environment, file concurrency may become an issue. In a project I’ve been working on recently, XML files are being used as the custom data store. This is all fine and dandy for now—with a user base of 1 (myself)—but when the app is released “into the wild”, concurrency may become a serious problem.
To remedy this problem (in a simple, no-nonsense fashion), I have been relying on a mutex file to exclude concurrent writes to the XML data store; it has been holding up just fine in my simulated scenarios. The mutex allows for one web request to read in the XML, modify it, and write back to it without being usurped by concurrent requests. There is a fail-safe mechanism which will wait for up to 3 seconds (30 attempts to lock the file) before failing outright. Read More →
Now that you’re able to load XML and transform it using an XSL stylesheet, wouldn’t it be handy to also be able to perform XPath selects/functions on that XML outside of the stylesheet’s formatting? Why, yes. Yes, it would: Read More →