RELAX + Schematron
> 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...
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