2007 May 17, 5:16Previously I created some
resource tools and then I used them to
overwrite msxml3's
XML source view. In this update I've added support for the XPointer Framework.
This time around I've started to add support for the
XPointer Framework to my
XML source view and
I've added
installation instructions. The framework consists of a series of pointer segments each of which has a scheme name followed
by data in parenthesis. For example 'scheme1(data1)scheme2(data2)scheme3(data3)'. A pointer segment resolves to a portion of the XML document based on the data and the scheme name. The whole pointer
resolves to the first segment that successfully resolves. That is, from the example, if scheme1 resolves to nothing and scheme2 resolves to something then that's used and scheme3 is ignored. In
addition to the framework I've added support for the
xmlns scheme which binds namespace prefixes to a namespace URI and the
element scheme which is a simple way to resolve to particular elements in an XML. I also have limited support for the
xpointer scheme the content of which is resolved as an
XPath with some extra functions (which I don't support --
hence the limited). I've also thrown in schemes for the two
SelectionLanguage values supported by msxml3.
Next time I might try to support the xpointer functions that aren't in xpath using
msxml script. But I think I'm losing steam on
this project... we'll see.
resource technical xml xpointer res xpath xslt 2007 May 11, 3:48Type in some latin script and you'll get back a string of Unicode characters that looks like its rotated 180 degrees. More info on exciting Unicode codepoints.
unicode javascript tool tools web language 2007 May 11, 8:55Last time, I had written some resource tools to allow me to view and modify Windows module resources in my ultimate and noble quest to
implement the XML content-type fragment in IE7. Using the resource tools I found that MSXML3.DLL isn't signed and that I can replace the XSLT embedded resource with my own, which is great news and
means I could continue in my endevour. In the following I discuss how I came up with this
replacement for IE7's XML source view.
At first I thought I could just modify the existing XSLT but it turns out that it isn't exactly an
XSLT, rather its an
IE5 XSL. I tried using the
XSL to XSLT converter linked to on MSDN, however the resulting document still
requires manual modification. But I didn't want to muck about in their weird language and I figured I could write my own XSLT faster than I could figure out how theirs worked.
I began work on the new XSLT and found it relatively easy to produce. First I got indenting working with all the XML nodes represented appropriately and different CSS classes attached to them to make
it easy to do syntax highlighting. Next I added in some javascript to allow for closing and opening of elements. At this point my XSLT had the same features as the original XSL.
Next was the XML mimetype fragment which uses
XPointer, a framework around various different schemes for naming parts of an XML document. I focused on the
XPointer scheme which is an extended version of
XPath. So I named my first task as getting XPaths working.
Thankfully javascript running in the HTML document produced by running my XSLT on an XML document has access to the original XML document object via the
document.XMLDocument property. From this this I can execute XPaths, however there's no builtin way to map from the XML nodes selected by
the XPath to the HTML elements that I produced to represent them. So I created a recursive javascript function and XSLT named-template that both produce the same unique strings based on an XML node's
position in the document. For instance 'a3-e2-e' is the name produced for the 3rd attribute of the second element of the root element of the XML document. When producing the HTML for an XML node, I
add an 'id' attribute to the HTML with the unique string of the XML node. Then in javascript when I execute an XPath I can discover the unique string of each node in the selected set and map each of
them to their corresponding positions in the HTML.
With the hard part out of the way I changed the onload to get the fragment of the URI of the current document, interpret it as an XPath and highlight and navigate to the selected nodes. I also added
an interactive floating bar from which you can enter your own XPaths and do the same. On a related note, I found that when accessing XML files via the file URI scheme the fragment is stripped off and
not available to the javascript.
The next steps are of course to actually implement XPointer framework parsing as well as the limited number of schemes that the XPointer framework specifies.
xml xpointer msxml res xpath xslt resource ie7 technical browser ie xsl 2007 May 9, 11:45Tool for monitoring file accesses on Windows processes.
file windows tool free download microsoft mark-russinovich 2007 May 9, 4:15I read about
text/xml URI fragment resolution a few months ago. I was interested to find another kind of fragment reference other than the text/html URI
fragment but of course I didn't find an implementation in IE, Firefox, or Opera. I decided to see how much work would be required to implement this in IE.
In IE and Firefox when you open an XML file that doesn't have an XML stylesheet the XML source is rendered with syntax highlighting. In IE I also noticed that the gold bar appears when you open an
XML file off of your local machine. To me this suggested that the XML source was being rendered as HTML which I assumed was produced by running an XSLT on the source XML file. If so, I figured I
could modify the XSLT to implement text/xml URI fragments. I ran
FileMon to see if iexplore.exe loaded an
XSLT file when opening an XML file. Only the XML file and MSXML3.DLL were opened and no XSLTs were loaded as files. My next hope for modifying the XSLT was if it existed as a resource in MSXML3.DLL.
I did a findstr on the DLL for SCRIPT and found an XSLT so I decided to check for resources in MSXML3.DLL. Unfortunately my previous resource viewer didn't work correctly so I decided to write my
own.
I created
resource tools to view and modify resources in Windows modules. The viewer outputs HTML with links to the
individual resources of a module using the
res URI scheme that's built into IE. The modifier is a simple command line tool that
replaces or adds one resource at a time to a module.
Using these tools I found that the XSLT was stored as a resource in MSXML3.DLL. I'll talk more about the existing XSLT and the one I replaced it with next time.
resource technical xml msxml res xslt xsl 2007 May 3, 12:52A free tool to convert old style XSL documents into XSLT documents.
msdn microsoft tool free download xsl xslt xml 2007 May 1, 4:33In the past I've come up with ideas for software and find that the very idea is implemented soon after. So this time rather than getting down about it I'm going to make it work for me. I'll state
what I want to use and hope that its magically implemented. In order to uniformly support comments on my website I want a web service with the following features:
- Allow users to view and add comments for any particular URI.
- Use OpenID and optionally Card Space to
identify users.
- Use a captcha system that's optionally cute or humorous.
- Has atom or rss feeds of the comments available.
- Doesn't require users to register.
- Doesn't require any extra steps for commenting on a URI that no one has commented on.
I'm going implement this now so no one go off and do it before me so that I can use it without having to do anything...
technical homepage 2007 Apr 19, 3:41"WordNet is a large lexical database of English... Nouns, verbs, adjectives and adverbs are grouped into sets of cognitive synonyms (synsets), each expressing a distinct concept...The resulting
network of meaningfully related words and concepts can be nav
algorithm collections etymology dictionary visualization xml language ontology tool free 2007 Apr 11, 10:34Network visualization tool shows network traffic as a sort of 3d video game like thing.
network visualization 3d tool 2007 Apr 8, 10:22Microsoft's page to add search providers to IE7. It also includes a simple tool to add search providers from any page.
ie ie7 search opensearch microsoft tool eric-lawrence 2007 Apr 8, 9:27This is a search shortcut for Vizicious my delicious heirarchy visualization tool.
shortcut: delicious tool personal tag tagging ontology folksonomy 2007 Apr 8, 9:07A tool to produce FOAF files based on your delicious account. Appears to be down now but the tool's blog has other ineteresting links.
delicious foaf rdf tool phil-wilson blog 2007 Apr 8, 9:02Bookmark things on delicious very privately. This is an actual tool this time that uses encryption to ensure that even delicious doesn't know what you bookmarked.
bookmark cryptography encryption privacy delicious tag tagging tool 2007 Apr 8, 8:56My delicious account has been queued for analysis so I haven't tried it yet. But it sure sounds like my vizicious tool.
delicious tool folksonomy ontology tagging 2007 Apr 8, 3:46This weekend was fun. Sarah and I went out for Jane's Birthday. We ate at a little Italian restaurant where our group was almost too large for the place and afterwards went to the
Viceroy lounge. The website apparently isn't very representative because although I looked at it before going out and I'd been to the place previously, I didn't
realize it was the same location until we got there.
I got several games for my Wii through Sarah's connections including
Wii Play and
The Legend of Zelda: Twilight Princess. We played both of them and I thought
Find Mii was especially fun.
Sarah's bunny is getting pretty big. Its been biting through wires now includig part way through the power cord to the cable box. You'd think after getting to the copper that it would learn to stop.
At any rate, it didn't hide any eggs. I don't have any new photos but you can see
the old bunny photos via my Vizicious
tool.
personal nontechnical seatle wii 2007 Apr 8, 3:05Shortcut Tag?
I just saw this on
another user's delicious links:
a link to ESV search that's
tagged with, among other things, "shortcut:esv". When viewed on del.icio.us there's a text box that lets you search using that link. I hadn't seen this before, but it seems pretty cool and I'm
surprised I hadn't seen it previously. A delicious post with such a tag ends up looking like the following:
I tried searching for information on this and I've found
other delicious users doing the same thing,
but nothing about the tag itself. If you know any information especially official information from del.icio.us itself please post links in reply to this post. So without further preface here's what
I've learned about the del.icio.us shortcut tag.
How-to
To get a search box in your del.icio.us links make a post that satisfies the following requirements:
- One of the tags must begin with the text 'shortcut:'. You can have more text following that in the tag if you like but it must at least start with 'shortcut:'.
- The 'url' you post must be a shortcut url rather than an actual URL. It must contain a '%s' with a lowercase 's'. When you enter text into the textbox on the del.icio.us page the text will
replace the '%s' after being percent-encoded. For example 'http://www.google.com/search?hl=en&q=%s' is the shortcut url for Google and if you type 'foo bar' into the textbox the URI you will
navigate to would be 'http://www.google.com/search?hl=en&q=foo%20bar'.
Complaints
This is neat but I do have a few complaints:
- The text from the textbox is percent-encoded before replacing the '%s'. Most sites use application/x-www-form-urlencoded
which encodes spaces as '+' rather than '%20'.
- The shortcut url format seems to be taken from Mozilla's Firefox Custom Keywords. Its a shame it wasn't based on something more
adaptable like the OpenSearch URL template syntax.
- A '%s' in the url means technically what you're submitting to del.icio.us isn't a URI as defined by the standard.
- Allowing text after 'shortcut:' means you can't look at all of a user's shortcut using this tag.
The next step is to create a tool to sync my
IE7 search providers with my shortcuts saved to delicious...
technical howto tagging tool tag delicious 2007 Mar 30, 3:26Information on reducing phone, email, and physical spam (junk mail & telemarketers). Also has lots of info on other privacy related matters. The sites ugly but I find its easy to navigate and
find the info I want.
privacy security tools junk mail spam 2007 Mar 26, 10:20A website where you can search through Penny Arcade comics using terms set by the community.
tag tagging social penny-arcade folksonomy tools search 2007 Mar 22, 12:01MapCruncher lets you put different geographical data together onto the MS Live Maps tool.
microsoft map mashup gis geo virtual-earth research