|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Help creating DTD
Schematron is another schema language. It lets you take your
natural language statements and wrap them with XPath-based
tests.
Here is the description:
<ORDER> can contain any number of child elements
<UID> must be included
<DEALER> must be included
<ORDERS> must be included
<ORDERS> can contain multiple ITEM(s) but restricted to just ITEM nodes
<ITEM> must have unique id property and the value of item must be numeric > 0
Here is a Schematron schema for those:
<schema xmlns="http://www.ascc.net/xml/schematron">
<title>Example Schema</title>
<pattern name="Contents">
<rule context="ORDER">
<assert test="true()" >ORDER can contain any number of child elements</assert>
<assert test="UID" >UID must be included</assert>
<assert test="DEALER" >DEALER must be included</assert>
<assert test="ORDERS" >ORDERS must be included</assert>
</rule>
<rule context="ORDERS">
<assert test="count(*) = count(ITEM)"
>ORDERS can contain multiple ITEM(s) but restricted to just ITEM nodes
</assert>
</rule>
<rule context="ITEM">
<assert test="count(//ITEM[@id=current()/@id]) = 1" >
ITEM must have unique id property</assert>
<assert test="./number() > 0 ">
The value of ITEM must be numeric > 0</assert>
</rule>
</pattern>
</schema>
Cheers
Rick Jelliffe
|
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








