Ray,
If you have a lot of interdependencies and contextual rules - you may
want to look at augmenting your simple schema with a real rules
validation engine that uses XPath expressions.
See http://www.jcam.org.uk
DW
===============================
Ray Cauchi wrote:
Hi folks
I have defined a W3C XML Schema that allows markup of Policy documents.
(BTW - I am new at schema design!)
A valid xml structure follows:
<?xml
version="1.0" encoding="UTF-8"?>
<policy
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="myschema.xsd">
<section>
<title>Section
1
Title</title>
<clause>string
text</clause>
</section>
<section>
<title>Section
2
Title</title>
<clause>string
text</clause>
<clause>more
text</clause>
</section>
<section>
<title>Section
3
Title</title>
<clause>text
-
<link
href="http://www.website.com/">a
link</link></clause>
</section>
</policy>
So you can see that each main section of a document is marked
up
as a <section></section>, and each section must have a
<title></title>
No problem, the schema works fine as far as I have so far
tested.
What I wish to do though, is enforce two specific <section>'s :
in
other words, the first <section> in each document will always
have
a specific <title>. That being, for arguments sake,
<title>Section 1: Policy Purpose</title>.
Similarly, the second section will also have a specific title - that
being <title>Section 2: Document Glossary</title>
All other <title>'s used in a document will be required (where
they
exist), but their content will not be fixed.
I have made <title></title> a global element. How can i now
instantiate it twice, with specific content, once for each section?? I
am
using the XML Spy schema GUI tool, and each time I try to provide a
fixed
value, that value becomes global...and thus applies to all
<title>
tags in the document. I am using the <title> element in the
following elements - hence its global definition :
<section>
<part>
<hmajor> (major heading)
<hminor> (minor heading)
Do I need to create a <s1title> and <s2title> separate to
my
original <title> element, or is there a more clever way of
approaching this issue? I am thinking there is but I am a tad stumped!
Any assistance would be hugely appreciated.
Best Regards
Ray Cauchi
Manager/Lead Developer
( T W E E K ! )
PO Box 468 Katoomba NSW
Australia 2780
p: +61 2 4757 1600
f: +61 2 4757 3808
m: 0414 270 400
e: ray@tweek.com.au
w:
www.tweek.com.au
|