Re: Can schema stand alone?
> I'm pretty new to XML and have only been reading this list a few days, so > please forgive me if this seems like a really stupid question... Not stupid at all... > From what I've seen so far DTD would work perfectly, but I get the feeling > after reading this list and other sources that DTD is "on the skids" and > likely to become obsolete and that Schema is generally considered the future > -- if that is not correct, please let me know as I can quite happily > implement this in DTD! Obsolete is a very strong word-- though "XML Schema is the future" that is strong hype. XML Schema will most likely be the more common format in the near future, but DTDs aren't going away anytime soon. That said, if you can happily implement your application using a DTD then by all means use a DTD-- why keep from being happy? : ) > I've been reading up on schemas and every example I've seen so far starts by > referencing the schema namespace at w3c.org (i.e. <xs:schema > xmlns:xs="http://www.w3.org/2001/XMLSchema">). Is this required for > schemas to operate? Yes and no. This is required for the namespaces within the document to function properly. Technically a <schema> element from the namespace http://www.w3.org/2001/XMLSchema and a <schema> element from some other namespace are two completely different things even though they look like the same name ("schema"). The namespace declaration is _only a name_. (no flames please!) Unless you are using something like RDDL to resolve the namespace to some document (which can be useful). That said, I don't know of any Schema processor that tries to do this. > If so, it seems to conflict with my requirement that the data > be complete and usable even without access to the internet. (It also seems > that a lot of developers must be really sticking their necks out on > something that they have absolutely no control over, i.e. that W3C won't > change or move the namespace definition. I used to do risk analysis for DOD > software development and this scenario would have had us passing out by the > numbers.) Think of it more as a name and it makes sense. You _can_ resolve the namespace but you must code it to do so. In order to refer to the actual schema (according to the XML Schema rec) you need to include the attribute xsi:schemaLocation or xsi:noNamespaceSchemaLocation. This allows you to look up the file (which is very often stored locally). > Does the schema syntax stand alone in the absence of the xs namespace > reference? I.e. would it be possible (and reasonable) to define my own > namespace (something like <myschema:schema > xmlns:myschema="my_local_file_reference">) and to NOT reference the xs > namespace at all? No. > Can you describe, in a nutshell, the perceived advantage that Schema has > over DTD? You are able to assign types to the character data within the element. You are also able to model more complex structures, use inheritence and define it all in an XML syntax (versus DTD). There are several other advantages... > Finally, if you could own only one reference on XML, suitable for > experienced software developers who are new to XML, what would it be? I am obliged to recommend Beginning XML 2E from (Wrox) : ) But if I was told I had to throw out all of my XML related books but one-- I would keep Michael Kay's XSLT (Wrox). That won't really help you for this project... but Wow... it is great. Hope this helps, Jeff Rafter Defined Systems http://www.defined.net XML Development and Developer Web Hosting
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