Ed. Comment: In my
writings and seminars I made my position on XML clear. Recently I came across
an exchange on the subject that expresses wonderfully one of XML’s major flaws,
one that should be obvious to anybody with a brain, but which apparently either
escapes the industry (draw your own conclusion about the brains in it), or is
due to what I call “denial-inducing hype”. I am publishing the message with permission of the author.
<salutation> Hi
</salutation>
I’ve changed my
name. Please note: I am henceforth to be known and addressed as:
JasonWarrenXML.
I have glimpsed the
future, and it’s XML.
You see, Shirley is
neck-deep into composing a 3-movement piece for orchestra and chorus. Finale is
the weapon of choice. Shirley’s been using various versions for several years.
Finale is a monster. It is the Photoshop of its domain and has grown (swollen,
actually) over the years as it tries to encompass every single aspect of
creating music – notation, engraving, MIDI sequencing etc.
We just bought the
upgrade to the latest version because of previous trouble with populating
scores with lyrics. The buzz about version 2004 was the improvements/fixes in
this very area. Shirley’s experience to date does not seem to bear this out,
however. So, I’m trying to help. I’m the Programmer who talks to Tech Support
and tries to translate back & forth between Shirley’s Finale use and the
software failures… At one point last week, all the lyrics in a large score
simply vanished. Shirley’s never too sure just what she was doing when things
fail, because often they’re not coupled. She only noticed that the lyrics were
AWOL after she’d been doing serious note editing – nothing to do with lyrics at
all.
It seems that Level
1 support is somewhere Offshore in a place where English is not the first
language. Those folks simply waste our time. With sufficient persistence, we
occasionally break through to Level 2, which is in the Good Old USofA. Trouble
is, those guys seem to be too few in number or are chasing too many bugs to
give us much time, so concise info is of paramount importance. (Having worked
on various WYSIWYG editors for text and graphical material, I have some
appreciation of how enormously complex such apps can be and some insight about
how they can go wrong. This helps when I talk to Support.) It is obvious to all
by now that corrupted data structures are The Problem. (And we’ve helped
them find a real bug already – a buffer overflow - shades of Necrosoft!) This
is where my XML epiphany comes in.
There are 3rd-party
plug-ins that ship with Finale to import/export scores. They consume/produce
XML files. Cool. Thinking that exporting the buggy score might produce
something useful, I tried it. Finale apparently went into an infinite loop. I
had to kill it with Task Manager. I then tried the same thing on the same file
from the week before and it worked perfectly. Well, perfectly in one sense: it
ran from start to finish. I took a gander at the .txt file it produced. Here’s
a sample:
<note>
<pitch>
<step>B</step>
<octave>4</octave>
</pitch>
<duration>3</duration>
<tie type="start"/>
<voice>1</voice>
<type>eighth</type>
<stem>down</stem>
<notations><tied
type="start"/></notations>
<lyric number="1">
<syllabic>begin</syllabic>
<text>Do</text>
<extend/>
</lyric>
</note>
I think that this is
simply a wonder to behold. The score in question contains 2,900 notes so far. [Ed. Note: The above is the XML representation
of one note!).
The Finale native
file is around 120kB; the XML representation is more than an order of magnitude
larger. It doesn’t get any better than this if you’re in the disk/RAM/bandwidth
business! I hadn’t appreciated just what a breakthrough XML represented until
now. I’m smitten.
<signoff>
<amateur_radio>
<numeric_abbreviations>
<digit>
<decimal>7</decimal>
</digit>
<digit>
<decimal>3</decimal>
</digit>
</numeric_abbreviations>
</amateur_radio>
</signoff>
Posted
10/17/03
[ABOUT]
[QUOTES]
[LINKS]