Hi Dave,
You have a typo in the NVDL script:
<namespace ns="htp://B">
-------------------^^^
shoule be
<namespace ns="http://B">
Thus the http://B namespace was not matched by the namespace rule and
the default reject action was applied.
If you correct the spelling error you should get the expected behavior.
Best Regards,
George
-- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com Dave Pawson wrote: > Hi George. > > 2008/5/23 George Cristian Bina <george@oxygenxml.com>: >> Hi Dave, >> >> The script below should do that: >> >> <?xml version="1.0" encoding="UTF-8"?> >> <rules xmlns="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" >> xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" >> startMode="start"> >> <mode name="start"> >> <namespace ns="http://a"> >> <validate schema="a.xsd" useMode="B"/> >> </namespace> >> </mode> >> <mode name="B"> >> <namespace ns="http://b"> >> <validate schema="b.xsd"/> >> </namespace> >> </mode> >> </rules> >> >> This will basically allow a document to start with the first namespace to >> contain content in the second namespace. > > ab.xml > > <a xmlns="http://A"> > <b xmlns="http://B">text</b> > </a> > > ab.nvdl > <rules xmlns="http://purl.oclc.org/dsdl/nvdl/ns/structure/1.0" > xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" > startMode="start"> > <mode name="start"> > <namespace ns="http://A"> > <validate schema="a.rng" useMode="B"/> > </namespace> > </mode> > <mode name="B"> > <namespace ns="htp://B"> > <validate schema="b.rng"/> > </namespace> > </mode> > </rules> > > > a.rng > <grammar xmlns="http://relaxng.org/ns/structure/1.0" > ns="http://A"> > <start> > <ref name="a"/> > </start> > <define name="a"> > <element name="a"> > <text/> <!--Also fails if I make this empty--> > </element> > </define> > </grammar> > > b.rng > <grammar xmlns="http://relaxng.org/ns/structure/1.0" > ns="http://B"> > <start> > <ref name="b"/> > </start> > <define name="b" > > <element name="b"> > <text/> > </element> > </define> > </grammar> > > > Error. > ab.xml:3:23: error: elements from namespace "http://B" are not allowed > > I think this shows the point I referred to? The entire instance must be valid > to the 'A' schema? I can't specify a schema for the outer element > which 'ignores' the inner one? > I'm unsure now if this is a Relax issue or NVDL. > > regards > > -- DSDL comments To unsubscribe, please send a message with the command "unsubscribe" to dsdl-comment-request@dsdl.org (mailto:dsdl-comment-request@dsdl.org?Subject=unsubscribe)Received on Fri May 23 09:58:57 2008
This archive was generated by hypermail 2.1.8 : Fri May 23 2008 - 08:13:06 UTC