namespace rng = "http://relaxng.org/ns/structure/1.0"

# Schema generated 2006-01-30T20:23:54Z
# Copyright 2005 TEI Consortium.
# This is free software; you can redistribute it and/or
#	    modify it under the terms of the GNU General Public
#	    License as published by the Free Software Foundation;
#	    either version 2 of the License, or (at your option) any
#	    later version.
# This material is distributed in the hope that it will be
#	    useful, but WITHOUT ANY WARRANTY; without even the implied
#	    warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
#	    PURPOSE. See the GNU General Public License for more
#	    details.
# You should have received a copy of the GNU General Public
#	    License along with this file; if not, write to the Free
#	    Software Foundation, Inc., 59 Temple Place, Suite 330,
#	    Boston, MA 02111-1307, USA.
# To contact the TEI Consortium use the following addresses.
#	    For general (non-technical) enquiries: 
#		  target="mailto:info@tei-c.org"/>info@tei-c.orgFor membership enquiries: membership@tei-c.orgFor technical enquiries, particularly about the
#		Guidelines, DTDs, schemas, or software available from
#		the TEI-C: editors@tei-c.orgFor up to date information, consult the TEI web site at http://www.tei-c.org/P5

# Definitions from module analysis

# Set predeclared macros

# 0. predeclared macros

# 1. classes
att.global.analytic.attributes = att.global.analytic.attribute.ana
att.global.analytic.attribute.ana =
  ## indicates one or more elements containing interpretations of the
  ## element on which the ana attribute appears.
  attribute ana { data.pointers }?
# 2. elements

c =
  ## (character) represents a character.
  element c { c.content, c.attributes }
c.content = text
c.attributes = att.global.attributes, att.segLike.attributes, empty
model.segLike |= c

cl =
  ## (clause) represents a grammatical clause.
  element cl { cl.content, cl.attributes }
cl.content = macro.phraseSeq
cl.attributes = att.global.attributes, att.segLike.attributes, empty
model.segLike |= cl

interp =
  ## (interpretation) summarizes a specific interpretative annotation which can be
  ## linked to a span of text.
  element interp { interp.content, interp.attributes }
interp.content = macro.phraseSeq
interp.attributes =
  att.global.attributes, att.interpLike.attributes, empty
model.global.meta |= interp

interpGrp =
  ## (interpretation group) collects together a set of related interpretations which share
  ## responsibility or type.
  element interpGrp { interpGrp.content, interpGrp.attributes }
interpGrp.content = interp+
interpGrp.attributes =
  att.global.attributes, att.interpLike.attributes, empty
model.global.meta |= interpGrp

m =
  ## (morpheme) represents a grammatical morpheme.
  element m { m.content, m.attributes }
m.content = (text | model.gLike | model.blockLike | c | model.global)*
m.attributes =
  att.global.attributes,
  att.segLike.attributes,
  ## identifies the morpheme's base form.
  attribute baseForm { data.word }?,
  empty
model.segLike |= m

phr =
  ## (phrase) represents a grammatical phrase.
  element phr { phr.content, phr.attributes }
phr.content = macro.phraseSeq
phr.attributes = att.global.attributes, att.segLike.attributes, empty
model.segLike |= phr

s =
  ## (s-unit) contains a sentence-like division of a text.
  element s { s.content, s.attributes }
s.content = macro.phraseSeq
s.attributes = att.global.attributes, att.segLike.attributes, empty
model.segLike |= s

span =
  ## (span) associates an interpretative annotation directly with a span
  ##   of text.
  element span { span.content, span.attributes }
span.content = macro.phraseSeq
span.attributes =
  att.global.attributes,
  att.interpLike.attributes,
  ## specifies the beginning of the passage being annotated; if
  ##       not accompanied by a to attribute, then specifies the
  ##       entire passage.
  attribute from { data.pointer },
  ## specifies the end of the passage being annotated.
  attribute to { data.pointer }?,
  empty
model.global.meta |= span

spanGrp =
  ## (span group) collects together span tags.
  element spanGrp { spanGrp.content, spanGrp.attributes }
spanGrp.content = span*
spanGrp.attributes =
  att.global.attributes, att.interpLike.attributes, empty
model.global.meta |= spanGrp

w =
  ## (word) represents a grammatical (not necessarily orthographic) word.
  element w { w.content, w.attributes }
w.content =
  (text | model.gLike | model.blockLike | w | m | c | model.global)*
w.attributes =
  att.global.attributes,
  att.segLike.attributes,
  ## identifies the word's lemma (dictionary entry form).
  attribute lemma { data.word }?,
  empty
model.segLike |= w
# 3. macros
