- From: Kurt Cagle <kurt.cagle@g...>
- To: Michael Kay <mike@s...>
- Date: Fri, 17 Dec 2010 15:17:47 -0500
alternatives would be indicated via the pipe character: "|"
ISBNSet ? ^ISBN + ^priceUS |^priceUK
I'm trying to write this while debugging some XSD code for use in JAXB, so I apologize for the sporadic corrections. I should concentrate on my XSDs (bleeurgh).
Kurt Cagle XML Architect Lockheed / US National Archives ERA Project
On Fri, Dec 17, 2010 at 2:38 PM, Kurt Cagle <kurt.cagle@g...> wrote:
Let's try that again:
&descript: string ISBN: /\d{13}/ priceUS: /\$\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@g...> 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@s...> 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@l...
subscribe: xml-dev-subscribe@l...
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]
|