Generative XML

python libxml2 dita

python libxml2 dita For correct transformation of DITA files (XML-standard for modular documentation), it is necessary to pull information from DTD (document...
January 21, 2016

illegal XML characters

Sometimes I dump binary data into XML. Being aware of illegal bytes (0-8,B-C,F-1F), I encode everything in base64. But there is a nice alernative way, just r...
November 01, 2012

Generative XPath for GWT

Google Web Toolkit (GWT) allows developers to use the Java programming language to build no-compromise AJAX applications. After announcing my project in its ...
July 31, 2007

Generative XPath announces

I've announced Generative XPath in few places. This entry is to assist tracking responses. xml-dev | comp.lang.xml | Google Web Toolkit | google-ajax-discuss...
July 30, 2007

submission for gttse’2007 is rejected

Unfortunately, I'm not going to speak at gttse'2007 participants workshop. My extended abstract (Recursion-free XPath 1.0 implementation) was rejected, the c...
June 23, 2007

post-xmlprague notes

I like Prague, it's a very beautiful city. My contribution to XML Prague 2007: * paper "Generative XPath" * presentation slides * poster XML to beautiful doc...
June 19, 2007

Generative XPath is released

Generative XPath (0.9.1) is an XPath 1.0 processor that can be adapted to different hierarchical memory structures and different programming languages. Custo...
June 10, 2007

proposal for XML Prague 2007

I've just sent an extended abstract for the XML Prague 2007 conference. I hope it will be accepted. Title: Generative XPath Name: Oleg Parashchenko Affilia...
February 28, 2007

codegeneration is cool

The expression "1+2+3" is converted to: (list-ec (:list e1 (gx:. gx:unit gx-ffi:number gx:fido (gx:unit 1))) (:list e2 (gx:. gx:unit gx-ffi:num...
February 07, 2007

s-expressions vs xml

I've dumped some my thoughts to text. Result is a draft of a possible paper: "Towards s-expression based XPath/XSLT implementation".
July 26, 2006

XPath Filename Expansion in a Unix Shell

Recently I found the paper "XPath Filename Expansion in a Unix Shell" (HTML, PDF) by Kaspar Giger and Erik Wilde. I'm pleased the authors have referenced my ...
July 22, 2006

the fall of XPath over filesystem

Many XPath tutorials use file paths as an analogy of XPath. While it is ok from a high-level point of view, the analogy is misleading and actual technical im...
July 13, 2006

GTTSE 2005 photos

Finally, my GTTSE 2005 photos are online. The start page is approximately 2Mb, and larger photos are of 300Kb-1Mb size. Unfortunately, I can't describe how g...
August 20, 2005

x:apply-templates: “with-param” works

Finally, "with-param" in the Scheme function "x:apply-templates" works. It took some time because I forget an experience with making "mode" working. Again, p...
June 20, 2005

askemos

From the mail discussions: www.askemos.org. “This is actually a Scheme VM in byzantine synchronisation over a P2P network with some administration fre...
June 14, 2005

generative XML paper

I've published the article "Reusing XML Processing Code in non-XML Applications" ([PDF]) version 1.0 and posted announces to different forums. Places: xml-...
June 07, 2005

feedback on the GPCE’05 article

Some time ago I submitted an article to the Generative Programming and Component Engineering (GPCE'05) conference. Article is rejected, but to my great surpr...
June 05, 2005

Troubles make code stronger

A small test case revealed weak points in my code. Fixing each point was making the code worse and worse. Fortunately, I got insight. Why not to use a fake n...
May 27, 2005

3 days of hunting for a bug

I've spent 3 days on getting simple code to work. In exchange I've got more experience with xsltproc internals. But I'm not sure it's a fair trade. The task...
May 25, 2005

x:apply-templates starts to live

The Scheme function "x:apply-templates" should work like the XSLT function "apply-templates". The very basic test case is passed today. The default XSLT sty...
May 17, 2005

libxml evening

Today I've submitted a bug to libxml, written to the libxml mailing list about wish items on the documentation, and asked about xpath and the document order ...
May 06, 2005

why to bother with namespaces

I found a non-obvious issue in the Namespace Recommendation and fixed my converter. Then I decided to look at other popular de-facto stanadrd tools. They are...
May 03, 2005

namespaces strike back

XML namespaces are an invention from the evil. Two harmlessly looking messages in one of the scripts evolved to two hard debug sessions. Fortunately, I manag...
May 02, 2005

one step forward, two back

Conversion of the attribute nodes seems working, although with some glitches. And I traditionally mention namespaces. I decided to have holes in ns processin...
April 26, 2005

attributes are not so simple

SXML to XML conversion of attribute nodes is becaming a trouble. I've fixed several initially unnoticed issues and found more items to check. The first prob...
April 22, 2005

Generative XML in FrameMaker

One of the use cases for XPath over legacy data is structured FrameMaker (FrameMaker+SGML). The structure is in fact XML, that's good. But the only interface...
April 20, 2005

let a bug be a feature

Adding variables to XPath was a simple task. But when I was testing it, I had to switch to testing the Scheme function "x:current" (former name "x:current-no...
April 19, 2005

a paper for GPCE 2005 is submitted

The last days were very hard. Usual activity was abandoned in favour of writing a paper for the GPCE 2005 conference. The deadline was April 15, 23:59, Apia...
April 15, 2005

abstract for GPCE 2005 is submitted

I'm slowly and painfully writing a paper for the Generative Programming and Component Engineering (GPCE'05) conference. I hate my writing which should be thr...
April 10, 2005

article section: SXML, the Lisp approach

Article isn't writing. Although, in general, I have ideas what to write, the actual writing is painfully slow. Today I've only finish a section, and I feel I...
April 04, 2005

draft text on XML, XPath, S-expressions

I'm writing a paper (not for GTTSE2005 as the previous entry may suggest). Here is a bit of the text written today. XML Extensible Markup Language (XML, re...
April 03, 2005

I’m participating in GTTSE2005

Just have received a very nice notification: "The registration form you submitted has been evaluated, and we are happy to inform you that you have been ACCEP...
April 03, 2005

directory trees

I've just stumbled upon a new article at xml.com: Directory Trees to Document Trees. I've posted a comment to the article and dropped a note to the author. ...
April 02, 2005

“x:value-of” is not so simple

Implementation of the "x:value-of" function evolved to a quest. There are many questions, and in order to find answers, I have to dig in the source code of l...
April 01, 2005

namespaces reloaded

All this time I've subconsciously been ignoring a big namespace-related problem. I'm afraid the correct solution slows down the conversion between XML and SX...
March 31, 2005

drafting “x:value-of”

Thinking about testing XML to SXML conversion to pass the second milestone, I found out that I need functionality that was planned for the future. So I tempo...
March 31, 2005

XML to SXML is probably works

(This post was written yesterday, but due to internet outage I'm posting it only now.) Exactly as I expected, implementation of conversion of attributes and ...
March 31, 2005

bugfixing 2, coredump

Other two bugs (see "bug list" and "bugfixing 1") are interrelated. Use of the map is powerful, but dangerous. To remind: 1) ... but I want to check that I ...
March 29, 2005

bugfixing 1, NULLs

In the previous entry I mentioned three bugs to be fixed. In this post I describe the second issue. To remind: The second issue is definitely not a bug, but...
March 29, 2005

XML to SXML coredumped

Surprisingly, conversion from libxml2 tree to SXML seems a trivial task now. Only attributes and namespaces are left. The core of the conversion engine is a...
March 28, 2005

more “bad style” programming

Using a global variable is a bad programming style, isn't it? But I've just used it, and I'm sure it's a right thing. I have a set of recursive functions wh...
March 28, 2005

XML to SXML conversion is taking off

Several days ago I passed the first milestone in the generative XML work (conversion from XML to SXML). Reverse conversion looks simplier, but I just was not...
March 27, 2005

going to participate in GTTSE2005

I've submitted an application for participation in the Summer School on Generative and Transformational Techniques in Software Engineering. I'd like also to...
March 25, 2005

namespaces are finished

Namespace support in the SXML to libxml2 conversion is completed. I though I could finish namespace conversion much earlier. But programming was not very ea...
March 23, 2005

make test

Before starting fixing the default namespace problem, I've created a test framework and added several tests. The results are as usual. 1) I found an error i...
March 22, 2005

default namespaces force new changes

I decided to make sure that default namespaces are not a problem for the converter, and I found that actually it is the problem. Consider the following XML:...
March 20, 2005

redefinition of namespaces works

In one of the previous entries I wrote that conversion of namespaces is mostly working, but in some cases doesn't. I've traced the reason, and it neither a b...
March 20, 2005

the namespaces problems are solved

In the previous entry I wrote about the two faults in the conversion code. Now they are fixed. And the code have became a bit better. Attributes are now also...
March 17, 2005

first attempt on namespaces conversion

The code splits an element's full name on two parts, looks up in the tree for ns prefix or ns URI and creates a ns definition if not found. There is also a d...
March 17, 2005

Algorithm for SXML to libxml2 namespaces

The previous entry "preparation for namespaces" was about presentation of namespaces in libxml2 and SXML. Now I'm going to describe the algorithm of translat...
March 15, 2005

preparation for namespaces

Namespaces are one of the dark corners of the XML technologies. For SXML to XML conversion, I've investigated technical details on the namespace presentation...
March 14, 2005

entities appear

The SXML specification allows only one sort of entities, namely, unexpanded entities. I can't find how to map them to the libxml2 tree, so converter just thr...
March 11, 2005

entities in SXML

My letter to the ssax-sxml mailing list: Hello, the SXML specification allows only one sort of entities, namely, unexpanded entities. The only use for them i...
March 11, 2005

PIs and comments

My code now converts the special nodes *TOP*, *PI* and *COMMENT* to XML. The *TOP* is just a mark for the tree root. The code just skips it and descends to c...
March 11, 2005

libxml2 tree: NULL vs empty string

In libxml2, C calls xmlNewPI("name", NULL); xmlNewPI("name", ""); produce the following processing instructions <?name?> <?name ?> (notice th...
March 11, 2005

following bad practises

Some days ago I used "goto"s in my C code. Now that C function have got a new bad feature: a set of local variables named "scm", "scm2", "scm3", "scm4". Anyw...
March 11, 2005

Skeleton is forming

Unexpectedly, I've got too little time for programming this evening. Anyway, the new code now can convert elements and attributes. XSLT: <x:stylesheet ...
March 10, 2005

links, trees, forest, infinity

On mapping from Scheme values to libxml nodes. It is reasonable to map the same physical values to the same physical nodes. But it causes unexpected results....
March 08, 2005

from Scheme values to XML nodes

Conversion of some basic Scheme types (string, boolean, char, number) to XML nodes now works. The stylesheet <x:stylesheet xmlns:x = "http://www.w3.org...
March 08, 2005

goto considered

It's well-known that goto is considered harmful. But... I've just written a small C function of approximately 70 lines with 5 gotos and two goto targets. And...
March 08, 2005

xfind is not the standard find

The title "Find with XPath over file system" is a bit misleading. It is not the first time when I've got a question like: When you say "The standard UNIX uti...
March 07, 2005

XSLT element “scheme:init” works

I'm working on embedding Guile (Scheme interpreter) to xsltproc. I've introduced the element "init" to contain Scheme initialization code and added (I suppos...
March 07, 2005