summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/stex/schema/rnc/omdoc/omdocdc.rnc
blob: 7d91738da37683c5ebc8af59b52fa54375400138 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# A RelaxNG schema for Open Mathematical documents (OMDoc 1.3) Module DC  
# $Id: omdocdc.rnc 8968 2011-09-07 05:37:09Z kohlhase $
# $HeadURL: https://svn.omdoc.org/repos/omdoc/branches/omdoc-1.3/schema/rnc/omdocdc.rnc $
# See the documentation and examples at http://www.omdoc.org
# Copyright (c) 2004-2010 Michael Kohlhase, released under the GNU Public License (GPL) 

# we include the dublin core and MARC elements, filling them with our content types
dc.common = id.attribs & nonlocal.attribs
dc.comlang =dc.common & xml.lang.attrib
	                    
dublincore = grammar {include "MARCRelators.rnc" 
      include "dublincore.rnc"      
	   {dc.date = parent dc.common & 
	                    attribute action {xsd:NMTOKEN}? &
                            attribute who {xsd:anyURI}? &
			    (xsd:date|xsd:dateTime)
	    dc.identifier = parent tref|(parent dc.common & 
	                                       	      attribute scheme  {xsd:NMTOKEN} & 
					       	      text)
	    dc.type = parent tref|(parent dc.common & ("Dataset" | "Text" | "Collection"))
	    dc.inline = parent tref|(parent dc.comlang & parent inline.model)
	    dc.text = parent tref|(parent dc.comlang & parent plike.class)
	    dc.person = parent tref|(parent dc.common & 
						   attribute role {MARCRelators}? & 
						   parent inline.model)
            dc.rights = parent tref|(parent dc.comlang & parent plike.class)
	    dc.source = parent plike.class}}

metadata.model &= dublincore