OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.


Help: OASIS Mailing Lists Help | MarkMail Help



   Re: [xml-dev] Partial validation in RelaxNG?

[ Lists Home | Date Index | Thread Index ]

Hi Gustaf,

> A short question about RelaxNG: is it possible to have partial
> validation? I mean something like:
> <element name="whatever">
>   <any/>  <!-- any well-formed XML markup -->
> </element>
> I've searched through the spec and tutorial, but can't find anything
> about this. Is there any particular reason why RelaxNG should *not*
> have this feature?

RELAX NG does support this feature, but you have to construct it
yourself, using name patterns. John used the non-XML syntax for this
in the XLink schema that he just posted:

anyElem = element * {anyAttr*, (anyElem | text)*}
anyAttr = attribute *  {text}
In XML syntax, the * is an anyName element, appearing immediately
within the element or attribute element, so the XML-syntax equivalent
of John's definitions is as follows:

<define name="anyElem">
    <anyName />
      <ref name="anyAttr" />
        <ref name="anyElem" />
        <text />

<define name="anyAttr">
    <anyName />
    <text />

You could then do:

  <element name="whatever">
    <ref name="anyElem" />

There are other name classes you can use as well, for example to
constrain the names by namespace or explicitly give a list of possible
names. See Section 11 (Name Classes) of the tutorial for details.




Jeni Tennison


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS