[Home] [By Thread] [By Date] [Recent Entries]

  • From: "K.Kawaguchi" <k-kawa@b...>
  • To: Paul Tchistopolskii <paul@q...>
  • Date: Thu, 01 Feb 2001 15:00:02 -0800

> 3. I want to write 2 sometimes using the entities which I've defined at the step 1.
> 
> How can I do that ?

As many other pointed out, combination of Schematron + RELAX (or TREX or
whatever grammar-based language) is possible.

James showed a Schematron-driven combination, so I'll show RELAX-driven
combination.

You can add arbitary <assert> and <report>  tag inside <elementRule>.

<elementRule label="foo">
  <s:assert test="count(xxx)=1">
    label 'XXX' always has 'xxx' as its tag name,
   and it can only be appeared once.
  </s:assert>
  
  <sequence>
    <choice occurs="*">
      <ref label="XXX" />
      <ref label="YYY" />
    </choice>
    <ref label="ZZZ" />
  </sequence>
</elementRule>

And these assertions are checked with every element that has label "foo".


Probably, you want to use RELAX's labels and roles within XPath
expression. I think that's what you wanted to do.

But IMO, such RELAX-customized (or TREX-customized or whatever) XPath is
a kind of overkill.

regards,
----------------------
K.Kawaguchi
E-Mail: k-kawa@b...


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member