RegEx Buddy upped my regex foo
ok, i was able to download my purchased copy of RegEx Buddy and it is *cool.* within an hour or so, i was able to improve the quality and power of my regex within the exyus framework. i actually *removed* lines of procedural code -and- increased the flexibility of that same code. very cool!
so... i completed my update of the XmlFileHandler to allow for (theoretically) infinite nesting of resource objects. like this:
-
users
-
comments
- updates
-
comments
for a while, i was stumped, but know i have a decent (if not admirable) regex pattern that works. below is a sample resource declaration that takes advantage of the new changes to the framework.
// secondary uri object
[UrlPattern(@"/users/(?<uid>[^/]*)/comments/?(?<cid>[^/]*)(?<tail>\.xcs)[\?]?(?<args>.*)")]
public class userCommentFile : XmlFileHandler
{
public userCommentFile()
{
this.LocationUri = "/users/{uid}/comments/";
this.UrlPattern =
@"/users/(?<uid>[^/]*)/comments/?(?<cid>[^/]*)(?<tail>\.xcs)[\?]?(?<args>.*)";
this.DocumentsFolder = "~/documents/users/comments/";
this.StorageFolder = "~/storage/users/{uid}/comments/";
this.XHtmlNodes = new string[] { "//notes" };
this.LocalMaxAge = 600;
this.ImmediateCacheUri = new string[]
{
"/users/{uid}/comments/",
"/users/{uid}/comments/{cid}"
};
}
}
i still need to exercise this a bit to make sure it's all cool. i also need to update my SqlXmlHandler to also support nested resource definitions, but that should be a bit easier now that i have the physical file version working.
all good stuff!