Page 1 of 1

XSD or DTD?

Posted: Thu Jun 24, 2010 9:41 pm
by rpcameron
In a thread over in the general discussion forum, Eyal wrote:
… Mellel saves its documents in an xml file whose format is documented and available to everybody.
However, in looking through Mellel's site, there was no link to the XSD used by Mellel's XML file format. However, that is not terribly surprising, since Mellel's XML file is lacking a namespace attribute in the root element. As such, Mellel's XML format does not quite qualify as well-formed XML. (Several users have requested this information in the past on the forums as well, as the requests fell upon deaf ears.)

Two things really need to change for this situation:
  1. Release the XSD or DTD that Mellel uses for its XML so that users can ensure that their data remains usable; and,
  2. Mellel needs to be modified so that its generated XML includes a namespace in the root element so our documents are well-formed.

Re: XSD or DTD?

Posted: Thu Jul 01, 2010 1:28 am
by rpcameron
Any word from the Redlers about Mellel's XML format?

Re: XSD or DTD?

Posted: Tue Jul 13, 2010 6:16 am
by rpcameron
I find it interesting that since I posted the original comment in this thread that the Redlers have replied to other posts, but no attention has been paid to this one. If Mellel's DTD/XSD is available to anyone, why can't anyone direct me to where it might be documented, let alone why it isn't referenced in the root element's namespace attribute of a Mellel file?

I have long been a great advocate for Mellel, but I feel that I am beginning to see the writing on the wall. Mellel might have a secondary script option, but tertiary and nth-script options ought to be trivial to implement (assuming a well-sctructured back-end). Likewise with adding a meta-stream between character and paragraph styles to allow for script/language information for true multilingual documents. Table support is barely mediocre, and true features that I could really use (such as glossing/(multiple-)ruby and styles that allow for more than two scripts) are either nowhere to be found, or require haphazard workarounds.

Too long has gone on between any significant improvement that I feel that I might need to look elsewhere for my writing needs. However, while Mellel claims to have an open format, I am still waiting for that format's documentation, years after it was promised!

Re: XSD or DTD?

Posted: Tue Jul 13, 2010 6:48 am
by macula
Like you, rpcameron, and like several other users on this forum, I am exasperated by the developers' apparent lack of interest in their own product. I wonder how long it will be until the online "press" (blogs, review sites, etc.) begin to notice.

Re: XSD or DTD?

Posted: Wed Jul 14, 2010 4:12 am
by Eyal Redler
Hi Everybody,

Regarding Mellel's xml documentation. Here's a link. http://www.redlers.com/melleldevelopers.html, it's actually been there for a few years.
I'm afraid we don't have more formal description for Mellel's xml. How would a DTD help you? Same for a namespace: How would that make for a better format?

Regarding the other issues: as I said before, we understand the frustration and we share it but the development takes time.

Re: XSD or DTD?

Posted: Wed Jul 14, 2010 6:04 pm
by rpcameron
Eyal Redler wrote:Regarding Mellel's xml documentation. Here's a link. http://www.redlers.com/melleldevelopers.html, it's actually been there for a few years.
I'm afraid we don't have more formal description for Mellel's xml. How would a DTD help you? Same for a namespace: How would that make for a better format?
Thank you for the response Eyal. I had not seen the XML documentation, since it is only referenced in a "Developer" link in the sidebar of the Mellel info page; it is not referenced from either the Support or Download pages as one would expect.

However, there are a few problems with that document. Firstly, it dates from August 2007, which coincides with Mellel 2.2.7. There have been a number of features added to Mellel since its creation, such as:
  • Bookmarks
  • Cross–references
  • Floating images
  • TOC options to allow some Auto–Titles to be listed separately
  • Ability to "insert before" added to Auto–Titles
  • Image features, such as transparency and page backgrounds
These are a few of the new features that Mellel currently supports, but which are not referenced in that document.

Secondly, while the document may assist in decoding Mellel's XML format, it does not document it. Terms such as "attribute" are used incorrectly to refer to elements, and there is no information given as to the document's structure, such as which elements may be parents to others, which are required, which only appear as children of certain elements, &c. This document may assist one in trying to recreate a Mellel document from a corrupted file, it does not give direction as how one might construct a Mellel document by hand.

With regard to a DTD: although well–formed XML does not require a document type declaration (DTD), valid XML does. A DTD follows an XML document's prolog, and may either be declared inline or include a URI to where the DTD is located. The DTD specifies the "markup vocabulary" that is used in a particular document. A DTD can also be used by XML processing software to validate markup. This latter feature would be necessary to ensure that any hand–crafted (or otherwise produced Mellel document) is compliant.

As to namespacing: neither valid nor well–formed XML requires namespacing, the practice safeguards against collisions of elements. This may happen if portions of a Mellel document are used in an XHTML document, such as through use of an XSLT; if both markup vocabularies share an element name, namespacing allows the processing engine (web browser, &c.) to make sure that each element retains its restrictions as indicated in the DTD.

Especially given the previous lack of communication from the developers—especially concerning the nature of keeping Mellel documents accessible should updates to Mellel cease—the need for a proper mechanism to read and manipulate Mellel's XML documents is obvious. An incomplete documentation nearly 3 years old, left to languish, is not a solution to a very real problem. Also, this has been the first time that the developers have specifically pointed the community to this XML documentation that I recall, even though the information has been requested numerous times in the past.

Hopefully this will help to illustrate why Mellel ought to adopt valid XML for its document format, as well as publish a proper DTD of its markup vocabulary.

Re: XSD or DTD?

Posted: Wed Jul 14, 2010 11:49 pm
by Eyal Redler
The documentation is indeed a bit out of date. We received very little response to the xml format that we simply felt that it was a waste of time updating it. We'd rather invest the time in adding functionality to the program then laboring over something nobody seems to care about. I hope to address these sometime after 2.8 is out.

I think that all this bears very little on helping migrating Mellel documents in the unlikely case Mellel's development stops. It is true that having no formal description can hinder producing Mellel documents by hand but it doesn't really effect converting from Mellel's document format. I think that it is important to understand that Mellel's format is really just the way Mellel's stores it's data, it is not intended to be an "industry standard" or a generic way to describe word processing documents so we excused ourselves from parts of the XML alphabet soup that didn't seem to add anything real to our product.

Re: XSD or DTD?

Posted: Fri Jul 16, 2010 4:32 am
by rpcameron
Eyal Redler wrote:I think that all this bears very little on helping migrating Mellel documents in the unlikely case Mellel's development stops. It is true that having no formal description can hinder producing Mellel documents by hand but it doesn't really effect converting from Mellel's document format. I think that it is important to understand that Mellel's format is really just the way Mellel's stores it's data, it is not intended to be an "industry standard" or a generic way to describe word processing documents so we excused ourselves from parts of the XML alphabet soup that didn't seem to add anything real to our product.
Eyal,

This is not about trying to make Mellel an "industry standard". Also, this has (only a) little to do with migrating Mellel documents in the case that Mellel's development ceases. And, contrary to your statement that lack of documentation does not affect in converting from Mellel into another format, it very much does.

Without a proper DTD or other complete documentation, it is quite awkward and difficult to manipulate Mellel's documents. If that information were provided, it would be possible to convert from Mellel into OOXML or ODF. (ODF support would be quite welcome since several governmental bodies have adopted that as a standard.) Also, with proper documentation it would be possible to convert from Mellel into (La)TeX, as well as XHTML (and therefore into ePub). Also, with the information in a DTD, one could create a XSLT for XSL-FO, which would allow for creation of PDFs with automatically generated TOCs.

I do not understand why the developers are treating this concern/request as an inconvenience. When Mellel made the transition to an XML format, it was named a feature. However, the users have yet to gain much from this "feature" because it is incomplete. With all of this foot–dragging, I guess the only question left to ask is "Why?" Why are the developers so unwilling to document their format properly and give the users valid XML? Why did Mellel transition to XML in the first place? Since the users are receiving almost no benefit from it yet, I can only imagine it was for the developers' sakes.

Is there any chance that the users will ever receive a complete documentation of Mellel's format or a DTD? Or should this be put down as a lost cause?

Re: XSD or DTD?

Posted: Tue Jul 20, 2010 6:29 am
by fbrzvnrnd
I only add my 2 cents. I used Mellel for the first books of my digital Publishing House. I used it 'cause I love Mellel by age, but for my next books I have to leave Mellel and use something else. I can not add external link in PDF, and the xhtml export tool is good, but the xhtml needs a lot of work to be cleaned.
If a better documentation of xml could help someone to build a better XHTML conversion, well, it is a good idea.

Re: XSD or DTD?

Posted: Tue Jul 20, 2010 10:16 am
by Eyal Redler
As I've mentioned before, we plan to address the documentation/DTD issue after 2.8 is out. With that in mind, I'm not really sure the time we'll invest in this will be well spent. We would love to have 3 parties produce programs that process Mellel documents but so far we saw very little in that regard I have a feeling this will remain a theoretical option that will not be used.

Regarding the reason we transitioned to XML. We were using a binary format that was based on Apple's archiving mechanism. This mechanism had three problems:
1. There was no way to read it without having Mellel's source code
2. It was binary and therefore more sensitive to file corruption, one bad byte and the whole would be completely useless.
3. No forward compatibility - older versions of Mellel couldn't read documents produced by the newer version

With the transition to XML we managed to solve all three problems and I think this had a very positive affect on our users. The XML is human readable, and it is possible, even without documentation to understand the document structure and extract the text.

Re: XSD or DTD?

Posted: Tue Jul 20, 2010 1:38 pm
by fbrzvnrnd
We would love to have 3 parties produce programs that process Mellel documents but so far we saw very little in that regard I have a feeling this will remain a theoretical option that will not be used.
Well, the Stephen Still converter is a good example.

(and forgive me if I keep talkink about the same thing, going a little OT. I used mellel for a ebook with more than 1000 pages, hundreds internal hyperlink and mellel was a rock. It is a sorrow I can not use it anymore 'cause it lacks external hyperlink and a more customizable xhtml exporter. Mellel could be a killer application for ebooks, think about it now, before other application get the place).


f