# /=====================================================================\ # | LaTeXML-meta.rnc | # | RelaxNG model for LaTeXML generated documents | # |=====================================================================| # | Part of LaTeXML: | # | Public domain software, produced as part of work done by the | # | United States Government & not subject to copyright in the US. | # |=====================================================================| # | Bruce Miller #_# | # | http://dlmf.nist.gov/LaTeXML/ (o o) | # \=========================================================ooo==U==ooo=/ default namespace = "http://dlmf.nist.gov/LaTeXML" ## Meta elements are generally hidden; ## they can appear in both inline and block contexts. Meta.class |= note | indexmark | glossaryphrase | rdf | ERROR | resource | navigation #====================================================================== note = ## Metadata that covers several `out of band' annotations. ## It's content allows both inline and block-level content. element note { note_attributes, note_model } ## Attributes for \elementref{note}. note_attributes = Common.attributes, Labelled.attributes, ## indicates the desired visible marker to be linked to the note. attribute mark { text }?, ## indicates the kind of note attribute role { "footnote" | text }? ## Content model for \elementref{note}. note_model = Flow.model # should mark be more like label/refnum ? #====================================================================== indexmark = ## Metadata to record an indexing position. The content is ## a sequence of \elementref{indexphrase}, each representing a level in ## a multilevel indexing entry. element indexmark { indexmark_attributes, indexmark_model } ## Attributes for \elementref{indexmark}. indexmark_attributes = Common.attributes, ## a flattened form (like \attr{key}) of another \elementref{indexmark}, ## used to crossreference. attribute see_also { text }?, ## NOTE: describe this. attribute style { text }? ## Content model for \elementref{indexmark}. indexmark_model = indexphrase*, indexsee* #---------------------------------------------------------------------- indexphrase = ## A phrase within an \elementref{indexmark} element indexphrase { indexphrase_attributes, indexphrase_model } ## Attributes for \elementref{indexphrase}. indexphrase_attributes = Common.attributes, ## a flattened form of the phrase for generating an \attr{ID}. attribute key { text }? ## Content model for \elementref{indexphrase}. indexphrase_model = Inline.model #---------------------------------------------------------------------- indexsee = ## A see-also phrase within an \elementref{indexmark} element indexsee { indexsee_attributes, indexsee_model } ## Attributes for \elementref{indexsee}. indexsee_attributes = Common.attributes, ## a flattened form of the phrase for generating an \attr{ID}. attribute key { text }?, ## a name for the see phrase, such as "see also". attribute name { text }? ## Content model for \elementref{indexsee}. indexsee_model = Inline.model #---------------------------------------------------------------------- glossaryphrase = ## A phrase being clarified within an \elementref{glossaryentry} element glossaryphrase { glossaryphrase_attributes, glossaryphrase_model } ## Attributes for \elementref{glossaryphrase}. glossaryphrase_attributes = Common.attributes, IDREF.attributes, ## The kind of \elementref{glossary} this mark belongs to. attribute role { text }?, ## a flattened form of the phrase for generating an \attr{ID}. attribute key { text }?, ## a keyword naming the format of this phrase (to match \attr{show} in \elementref{glossaryref}). attribute show { text }? ## Content model for \elementref{glossaryphrase}. glossaryphrase_model = Inline.model #---------------------------------------------------------------------- glossarydefinition = ## A definition within an \elementref{glossaryentry} element glossarydefinition { glossarydefinition_attributes, glossarydefinition_model } ## Attributes for \elementref{glossarydefinition}. glossarydefinition_attributes = Common.attributes, ## a flattened form of the definition for generating an \attr{ID}. attribute key { text }? ## Content model for \elementref{glossarydefinition}. glossarydefinition_model = Inline.model #====================================================================== rdf = ## A container for RDF annotations. ## (See document structure for rdf-prefixes attribute) element rdf { rdf_attributes, rdf_model } ## Attributes for \elementref{rdf} rdf_attributes = Common.attributes ## Content model for \elementref{rdf} rdf_model = Flow.model #====================================================================== ERROR = ## error object for undefined control sequences, or whatever element ERROR { ERROR_attributes, ERROR_model } ## Attributes for \elementref{ERROR}. ERROR_attributes = Common.attributes, ID.attributes ## Content model for \elementref{ERROR}. ERROR_model = text* #====================================================================== # Document-level (or sub-document level) Meta objects resource = ## a resource for use in further processing such as javascript or CSS element resource { resource_attributes, resource_model } ## Attributes for \elementref{resource}. resource_attributes = Common.attributes, ## the source url to the resource attribute src { text }?, ## the mime type of the resource attribute type { text }?, ## the media for which this resource is applicable ## (in the sense of CSS). attribute media { text }? #anyElement = element * { (attribute * { text } | text | anyElement) * } #resource_model = (text | anyElement)* resource_model = text* #---------------------------------------------------------------------- navigation = ## Records navigation cross-referencing information, ## or serves as a container for page navigational blocks. element navigation { navigation_attributes, navigation_model } ## Attributes for \elementref{navigation}. navigation_attributes = Common.attributes ## Content model for \elementref{navigation}. ## A \elementref{inline-para} child should have attribute \attr{class} ## being one of \texttt{ltx_page_navbar}, \texttt{ltx_page_header} ## or \texttt{ltx_page_footer} and its contents will be used to create those components of webpages. ## Lacking those, a \elementref{TOC} requests a table of contents ## in the navigation bar. Page headers and footers will be synthesized from ## Links from the current page or document to related ones; ## these are represented by \elementref{ref} elements with \attr{rel} ## being up, down, previous, next, and so forth. ## top-level elements, presumably block-level, navigation_model = ( ref | TOC | inline-para )* #======================================================================