Print

Print


Hi Thomas,

This is even better than my example because you allow any attributes as
well.

Personally I think the namespace attributes should be ##any. I can
imagine situations where metadata schema designers (rightly or wrongly)
would want to nest DC terms. Although this may raise problems
associated with interoperability and ambiguous semantic interpretation,
I think its better to allow maximum flexibility but to state
recommended best practise.

jane

> Hi Jane,
>
> We have been doing some work with the DC XML Schema developed for the OAI
> protocol (http://www.openarchives.org/OAI/1.1/dc.xsd).  We have made some
> modifications to this schema to allow for more flexibility, similar to what
> you have described below.  Our schema is essentially:
>
> <element name="title"  type="dc:propertyEltType"/>
>
> <complexType name="propertyEltType" mixed="true">
>   <sequence minOccurs="0" maxOccurs="unbounded">
>     <any namespace="##other" processContents="lax"/>
>   </sequence>
>   <anyAttribute namespace="##other" processContents="lax"/>
> </complexType>
>
> The complete schema can be found at:
>
> http://dli.grainger.uiuc.edu/publications/oai_schema/oai_dc_new.xsd
>
> One thing we haven't entirely settled on is whether the namespace attribute
> of the <any> and <anyAttribute> tags should be ##any or ##other.
> Essentially, should we allow DC tags to be nested inside of other DC tags?
>
> The usual caveats about works in progress apply.
>
> Tom
>
> --
> Thomas G. Habing
> Research Programmer, Digital Library Projects
> University of Illinois at Urbana-Champaign
> 155 Grainger Engineering Library Information Center, MC-274
> [log in to unmask], (217) 244-4425
> http://dli.grainger.uiuc.edu
>
> Jane Hunter wrote:
> >
> > I'm in the process of developing a metadata schema (aka application
> > profile) for an organisation which wants to use, but further restrict,
> > some of the DC elements.
> >
> > The XML Schema in the document 'An XML Encoding of Simple Dublin Core
> > Metadata" (http://www.dublincore.org/documents/2001/09/20/dcmes-xml/)
> > declares the DC elements using anonymous types:
> >
> > For example:
> >
> >  <element name='dc:title'>
> >     <complexType mixed='true'>
> >       <attribute name='xml:lang' type='string' use='optional'/>
> >     </complexType>
> >   </element>
> >
> > This approach allows implementors to reference DC elements but not to
> > redefine or restrict them. Within XML Schema, it is only possible to
> > refine or restrict 'types' not elements. So there is no way to create
> > new application-specific elements based on DC elements without the
> > explicit definition of DCMES 'types'. What is required is something
> > like the following:
> >
> >  <complexType name="dc:title" mixed="true">
> >     <sequence>
> >        <any processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
> >     </sequence>
> >     <attribute ref='xml:lang'/>
> >  </complexType>
> >
> >  <element name="dc:title" type="dc:title"/>
> >
> > Then implementors can do things like redefining "title" in their own
> > namespace:
> >
> > <complexType name="title">
> >      <complexContent>
> >         <restriction base="dc:title">
> >            <sequence>
> >                <element name="mainTitle" type="string"/>
> >                <element name="secondaryTitle" type="string"/>
> >            </sequence>
> >            <attribute ref='xml:lang'/>
> >          <restriction>
> >      <complexContent>
> > <complexType>
> >
> > Would it be possible to modify the XML Schema at:
> >  http://dublincore.org/documents/2001/09/20/dcmes-xml/dcmes-xml-xsd.xsd
> >
> > so that named types corresponding to the DCMES are explicitly defined?
> >
> > regards,
> > jane
> > +-----------------------------+-------------------------------------+
> > | Jane Hunter                 | Senior Research Scientist           |
> > | DSTC Pty Ltd                | Distributed Systems Technology CRC  |
> > | Level 7, GP South           | Tel   : +61 7 3365 4310             |
> > | University of Queensland    | Fax   : +61 7 3365 4311             |
> > | Queensland 4072, Australia  | Email : [log in to unmask]            |
> > +-----------------------------+-------------------------------------+