XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Re: [xml-dev] Micro XSD for Micro XML?

Let's try that again:

&descript: string
ISBN: /\d{13}/
priceUS: /\$\d+\.d{2}/
priceUK: /£\d+\.d{2}/

book
    @category:enumeration ?
    title:string
    author:string
    description:descript ?
    ISBNSet ?
          ^ISBN +
    ^priceUS 

books
    ^book *

where
/../ indicates a regular expression
? indicates an optional element
+ indicates 1 or more items
* indicates 0 or more items
^ is a reference to a previously defined element.
& is a complex type
a:b indicates that element a is of type b

Similar notation could handle groups

Kurt Cagle
XML Architect
Lockheed / US National Archives ERA Project



On Fri, Dec 17, 2010 at 2:01 PM, Kurt Cagle <kurt.cagle@gmail.com> wrote:
You can also use a shorthand notation:

<book category="enumeration('children','adult','unknown') [0..1]">
<title> string() </title>
<description> string() [0..1] </description>
<author> string() </author>
<ISBNSet> [0..1]
     <ISBN> numeric(8,15) [1..*] </IBSN>
</IBSN>
<price> decimal(4,2) </price>
</book>

<bookSet> [0..1]
      <book> ref [1..*] </book>
</bookSet>

or even use a compact notation:

description:string
ISBN: /\d{13}/

book
    @category:enumeration ?
    title:string
    author:string
    description:description ?
    ISBNSet ?
          ^ISBN
    price:decimal(4,2) 

(Getting close to RNC, admittedly)

Kurt Cagle
XML Architect
Lockheed / US National Archives ERA Project




On Fri, Dec 17, 2010 at 12:23 PM, Michael Kay <mike@saxonica.com> wrote:
On 17/12/2010 14:33, Pete Cordell wrote:
I recently put together a schema language for newbies that aims to be simple.  The idea was that an example of your XML data could be your schema. Chances are that alone wouldn't be rich enough, so you can then add annotations to it to better describe what you want.  For that reason I've called it "Annotated XML Example" or AXE.


Vaclav Trojan has a similar schema-by-annotated-example specification in the form of XDefinition:

see http://www.syntea.cz/xdweb/userdoc/XMLPrague2009_en.pdf

<book category="optional enumeration('children','adult','unknown')">
<title> required string() </title>
<author> required string() </author>
<IBSN> optional numeric(8,15) </IBSN>
<price> required decimal(4,2) </price>
</book>

Michael Kay
Saxonica


_______________________________________________________________________

XML-DEV is a publicly archived, unmoderated list hosted by OASIS
to support XML implementation and development. To minimize
spam in the archives, you must subscribe before posting.

[Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
subscribe: xml-dev-subscribe@lists.xml.org
List archive: http://lists.xml.org/archives/xml-dev/
List Guidelines: http://www.oasis-open.org/maillists/guidelines.php





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


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS