|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: X-Schema
Paul Prescod wrote: > At the end of a day of training (brainwashing) my students > usually say: "Why would I spend twenty lines of XML syntax > saying what a DTD can say in one line?" > > I am genuinely interested in improving XML usability, > however, so I would like to hear counter-arguments. I think ultimately it is because it is XML. You now have a document that can be parsed and processed with the same tools that you use for all your other documents. This makes a number of things a lot easier. For example, it is surely theoretically possible to create an XSLT document from two schema, that converts a document of type A to one of type B. This could be done with a series of XSLT files. Also, as other XML techniques become standardised, XML-based schema automatically 'inherit' them. For example, when we have got a working approach to transclusion with XLinks, I could include your schema inside my schema. With XPointer I might even just include a small part of your schema. Of course some of these things could be carried out with DTDs - the transformation and including other DTDs - but they are done with techniques that only exist for DTDs, and no other realm of XML. For me, though, the main problem with DTDs is not their syntax, but the difficulty in validating a document that is based on two or more DTDs. With the mechanism as it stands you need to create a third schema which is the amalgam of both schemas, but this is impractical for most real world uses. Imagine that I include a link in a document to my profile, which is an XLink and is to be transcluded. This means that the parser needs to know the type of my profile after including it, so that it can validate it. But what if I change my profile from a boring load of text to a video, but the XLink remains the same? The DTD containing the link to the profile would need to have the video and text DTDs already there, which is impractical if new schemas for profiles are continually added. With the current XML-Data approach, I can define the schema to be used on a per-node basis, so including a node also includes the information needed to validate it. Anyway, if I may give my humble pointer to the future, manual generation of this stuff is not going to be around for long. As I have mentioned in previous discussions, I have devised a simple system whereby a hierarchical database functions as a massive XML document, and nodes and their children can be extracted as needed. I'm sure many others have done this, so this is not a great claim, however, this has now been extended so that the schemas that define this document and all its sub-documents can also be extracted at any level. This means that you only actually extract the amount of schema you need for the document being exported, and it makes schema very easy to maintain (you just have to maintain the database). So, to illustrate the point, I have 'objects' of type article which can contain objects of type paragraph. When I export an article I place on the article node a pointer to the article schema. All the latter does is pull out schema information for the article and all its children. However, if asked to export just a paragraph of text from an article, I attach to that node a pointer to the paragraph schema. Why pass any more? The validater doesn't need it. Regards, Mark Birbeck Mark.Birbeck@i... http://www.iedigital.net/ xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ and on CD-ROM/ISBN 981-02-3594-1 To (un)subscribe, mailto:majordomo@i... the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|
|||||||||

Cart








