OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xdi message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [xdi] Groups - draft-xdi-metaschema-v2.xsd uploaded


Just FYI-
	I find using XML Schema to be real pain since it basically requires you to use a tool (e.g. XMLSpy) to get a good grasp on what the document the XML Schema is defining. 
	I'm finding myself using RelaxNG schema Compact Syntax to be MUCH more expressive, easier to create (no tool needed) and a TON easier to discuss. RelaxNG is more pattern based, rather than object-based and seems to be more natural to use when discussing document structure, as we are doing here. RelaxNG has a XML syntax (just as W3C XML Schema has an XML syntax), but RelaxNG also has a really straightforward, human-read/writeable compact syntax that I use frequently. The XML and compact syntaxes are isomorphic and there are a number of tools to convert. 

http://relaxng.org

http://relaxng.org/compact-tutorial-20030326.html

	One thing I had to get in my head, though, is that RelaxNG defines the correct structure of a document, like a DTD, rather than the elements in a namespace, like XML Schema. That means, for example, that RelaxNG schema define a "root" element for XML documents. XML Schema just define a bunch of elements, any of which could be the root of a document. When you validate a document against RelaxNG, you are taking the outer XML element and matching it with the RelaxNG's "start" production. When you validate a document against XML Schema, you are taking the outer element and trying to find it in the namespace defined by the XML Schema documents you happen to have. A different mentality. Also, RelaxNG is part of the DSDL framework which allows for a broader 

	You can almost always mechanically convert a RelaxNG schema into a WXS schema (but not the other way around). A bunch of other nice things too with RelaxNG. 

	Here's Drummond's latest XSD in relaxng. Note how much simpler it is ;-)

=====

default namespace="http://xdi.oasis-open.org";
start=Resource

anyelement = (element * { (attribute * {text} | text | anyelement) * })

RefContent= element note {xsd:string} *,
	element xri {xsd:string} +,
	element data { anyelement *} ?, 
	Resource *,
	Link *, 
	anyelement *

Resource = element resource {RefContent}
Link = element link {RefContent}

======

	*AND* (the final kicker), RelaxNG was originally developed in OASIS ;-)

 
__________________________________________________ 
gwachob@visa.com
Chief Systems Architect
Technology Strategies and Standards
Visa International 
Phone: +1.650.432.3696   Fax: +1.650.554.6817


> -----Original Message-----
> From: drummond.reed@cordance.net [mailto:drummond.reed@cordance.net]
> Sent: Tuesday, June 15, 2004 2:13 PM
> To: xdi@lists.oasis-open.org
> Subject: [xdi] Groups - draft-xdi-metaschema-v2.xsd uploaded
> 
> 
> The document draft-xdi-metaschema-v2.xsd has been submitted 
> by Drummond Reed (drummond.reed@cordance.net) to the OASIS 
> XRI Data Interchange (XDI) TC document repository.
> 
> Document Description:
> v2 of the proposed XDI metaschema (the only change being a 
> Notes element for adding annotations to an XDI document)
> 
> Download Document:  
> http://www.oasis-open.org/apps/org/workgroup/xdi/download.php/
> 7277/draft-xdi-metaschema-v2.xsd
> 
> View Document Details:
> http://www.oasis-open.org/apps/org/workgroup/xdi/document.php?
> document_id=7277
> 
> 
> PLEASE NOTE:  If the above links do not work for you, your 
> email application
> may be breaking the link into two pieces.  You may be able to 
> copy and paste
> the entire link address into the address field of your web browser.
> 
> 


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]