diff options
Diffstat (limited to 'Master/texmf-dist/source/bibtex/biber/data/schemata/bcf.rng')
-rw-r--r-- | Master/texmf-dist/source/bibtex/biber/data/schemata/bcf.rng | 1267 |
1 files changed, 1267 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/bibtex/biber/data/schemata/bcf.rng b/Master/texmf-dist/source/bibtex/biber/data/schemata/bcf.rng new file mode 100644 index 00000000000..cca6302496e --- /dev/null +++ b/Master/texmf-dist/source/bibtex/biber/data/schemata/bcf.rng @@ -0,0 +1,1267 @@ +<?xml version="1.0" encoding="UTF-8"?> +<grammar xmlns:a="http://relaxng.org/ns/compatibility/annotations/1.0" xmlns:bcf="https://sourceforge.net/projects/biblatex" xmlns="http://relaxng.org/ns/structure/1.0" datatypeLibrary="http://www.w3.org/2001/XMLSchema-datatypes"> + <start> + <element name="bcf:controlfile"> + <!-- + This is usually the same as the biblatex version string but not necessarily. + Sometimes the BCF format version doesn't change between biblatex releases + --> + <attribute name="version"> + <data type="string"> + <param name="minLength">1</param> + </data> + </attribute> + <!-- + "Global" Biber options. It's not clear what a non-global biber option + would be but just in case, we have the option ... + --> + <element name="bcf:options"> + <attribute name="component"> + <value>biber</value> + </attribute> + <attribute name="type"> + <value>global</value> + </attribute> + <ref name="bblencoding"/> + <ref name="bibencoding"/> + <ref name="debug"/> + <ref name="mincrossrefs"/> + <ref name="sortcase"/> + <optional> + <ref name="sortlocale"/> + </optional> + <ref name="sortupper"/> + </element> + <!-- + Global BibLaTeX options. That is, options that apply to all + entrytypes (unless a more specifically scoped option is specified) + --> + <element name="bcf:options"> + <attribute name="component"> + <value>biblatex</value> + </attribute> + <attribute name="type"> + <value>global</value> + </attribute> + <ref name="alphaothers"/> + <ref name="labelalpha"/> + <ref name="labelnamespec"/> + <ref name="labelyear"/> + <ref name="labelyearspec"/> + <ref name="maxitems"/> + <ref name="maxnames"/> + <ref name="minitems"/> + <ref name="minnames"/> + <ref name="singletitle"/> + <optional> + <ref name="sortalphaothers"/> + </optional> + <ref name="sortlos"/> + <ref name="terseinits"/> + <ref name="uniquename"/> + <ref name="useauthor"/> + <ref name="useeditor"/> + <ref name="useprefix"/> + <ref name="usetranslator"/> + </element> + <zeroOrMore> + <!-- Per-entrytype BibLaTeX options --> + <element name="bcf:options"> + <attribute name="component"> + <value>biblatex</value> + </attribute> + <attribute name="type"> + <data type="NCName"/> + </attribute> + <optional> + <ref name="alphaothers"/> + </optional> + <optional> + <ref name="labelalpha"/> + </optional> + <optional> + <ref name="labelnamespec"/> + </optional> + <optional> + <ref name="labelyear"/> + </optional> + <optional> + <ref name="labelyearspec"/> + </optional> + <optional> + <ref name="singletitle"/> + </optional> + <optional> + <ref name="skipbib"/> + </optional> + <optional> + <ref name="skiplab"/> + </optional> + <optional> + <ref name="skiplos"/> + </optional> + <optional> + <ref name="sortalphaothers"/> + </optional> + <optional> + <ref name="uniquename"/> + </optional> + <optional> + <ref name="useauthor"/> + </optional> + <optional> + <ref name="useeditor"/> + </optional> + <optional> + <ref name="useprefix"/> + </optional> + <optional> + <ref name="usetranslator"/> + </optional> + </element> + </zeroOrMore> + <optional> + <!-- Display modes definition --> + <element name="bcf:displaymodes"> + <oneOrMore> + <element name="bcf:displaymode"> + <element name="bcf:target"> + <choice> + <value>*</value> + <data type="string"> + <param name="minLength">1</param> + </data> + </choice> + </element> + <oneOrMore> + <element name="bcf:mode"> + <choice> + <value>original</value> + <value>uniform</value> + <value>romanised</value> + <value>translated</value> + </choice> + </element> + </oneOrMore> + </element> + </oneOrMore> + </element> + </optional> + <!-- Cross-reference inheritance specifications --> + <element name="bcf:inheritance"> + <!-- Defaults --> + <element name="bcf:defaults"> + <!-- Whether to inherit all fields --> + <attribute name="inherit_all"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + <!-- Should we overwrite the target field if it exists? --> + <attribute name="override_target"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + <zeroOrMore> + <!-- Default inherit_all and override_target settings for entrytype source/target pairs --> + <element name="bcf:type_pair"> + <attribute name="source"> + <choice> + <value>*</value> + <data type="string"> + <param name="minLength">1</param> + </data> + </choice> + </attribute> + <attribute name="target"> + <choice> + <value>*</value> + <data type="string"> + <param name="minLength">1</param> + </data> + </choice> + </attribute> + <optional> + <attribute name="inherit_all"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="override_target"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + <empty/> + </element> + </zeroOrMore> + </element> + <zeroOrMore> + <!-- An inheritance specification --> + <element name="bcf:inherit"> + <oneOrMore> + <!-- applies to these pairs of source/target entrytypes --> + <element name="bcf:type_pair"> + <attribute name="source"> + <choice> + <value>*</value> + <data type="string"> + <param name="minLength">1</param> + </data> + </choice> + </attribute> + <attribute name="target"> + <choice> + <value>*</value> + <data type="string"> + <param name="minLength">1</param> + </data> + </choice> + </attribute> + <empty/> + </element> + </oneOrMore> + <oneOrMore> + <!-- and here are the field specifications --> + <element name="bcf:field"> + <choice> + <!-- + either a "skip this field" specification + so we can say inherit all except certain fields OR ... + --> + <group> + <attribute name="source"> + <data type="string"/> + </attribute> + <attribute name="skip"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </group> + <!-- ... a source and target field with an optional override attribute --> + <group> + <attribute name="source"> + <data type="string"> + <param name="minLength">1</param> + </data> + </attribute> + <attribute name="target"> + <data type="string"> + <param name="minLength">1</param> + </data> + </attribute> + <optional> + <attribute name="override_target"> + <choice> + <value>true</value> + <value>false</value> + </choice> + </attribute> + </optional> + </group> + </choice> + <empty/> + </element> + </oneOrMore> + </element> + </zeroOrMore> + </element> + <!-- Global sorting specification --> + <ref name="sorting"/> + <optional> + <!-- Structure specification --> + <element name="bcf:structure"> + <!-- Valid datetypes --> + <element name="bcf:datetypes"> + <oneOrMore> + <element name="bcf:datetype"> + <data type="NCName"/> + </element> + </oneOrMore> + </element> + <!-- Valid entrytypes --> + <element name="bcf:entrytypes"> + <oneOrMore> + <element name="bcf:entrytype"> + <data type="NCName"/> + </element> + </oneOrMore> + </element> + <optional> + <!-- Entrytype and field alias specifications --> + <element name="bcf:aliases"> + <oneOrMore> + <element name="bcf:alias"> + <choice> + <group> + <!-- entrytype alias specification --> + <attribute name="type"> + <value>entrytype</value> + </attribute> + <!-- alias name --> + <element name="bcf:name"> + <data type="NCName"/> + </element> + <!-- canonical name --> + <element name="bcf:realname"> + <data type="NCName"/> + </element> + <zeroOrMore> + <!-- + Any other fields that need setting when resolving the alias + for example when "phdthesis" -> "thesis", we also need to set + "type" = "phdthesis" + --> + <element name="bcf:field"> + <attribute name="name"> + <data type="NCName"/> + </attribute> + <data type="NCName"/> + </element> + </zeroOrMore> + </group> + <group> + <!-- field alias specification --> + <attribute name="type"> + <value>field</value> + </attribute> + <!-- alias name --> + <element name="bcf:name"> + <data type="NCName"/> + </element> + <!-- canonical name --> + <element name="bcf:realname"> + <data type="NCName"/> + </element> + </group> + </choice> + </element> + </oneOrMore> + </element> + </optional> + <!-- + BibLaTeX field types. Biber uses this to determine how to output various types + to the .bbl + --> + <element name="bcf:fields"> + <oneOrMore> + <element name="bcf:field"> + <!-- fieldtype is "field" or "list" --> + <attribute name="fieldtype"> + <choice> + <value>field</value> + <value>list</value> + </choice> + </attribute> + <!-- datatype of field content --> + <attribute name="datatype"> + <choice> + <value>literal</value> + <value>name</value> + <value>key</value> + <value>date</value> + <value>verbatim</value> + <value>integer</value> + <value>range</value> + <value>special</value> + </choice> + </attribute> + <optional> + <!-- Are we allowed to output a null field value to the .bbl for this field? --> + <attribute name="nullok"> + <value>true</value> + </attribute> + </optional> + <optional> + <!-- Should this field be skipped and not output to the .bbl? --> + <attribute name="skip_output"> + <value>true</value> + </attribute> + </optional> + <data type="NCName"/> + </element> + </oneOrMore> + </element> + <oneOrMore> + <!-- + Allowable fields for entrytypes + Only one specification per entrytype: even though it might be nice to have several + so that one could share information, this would be hard to manage and confusing as it + not be visible in one place which fields were valid for an entrytype. + --> + <element name="bcf:entryfields"> + <oneOrMore> + <element name="bcf:entrytype"> + <data type="NCName"/> + </element> + </oneOrMore> + <choice> + <element name="bcf:field"> + <value>ALL</value> + </element> + <oneOrMore> + <element name="bcf:field"> + <data type="NCName"/> + </element> + </oneOrMore> + </choice> + </element> + </oneOrMore> + <oneOrMore> + <!-- Constraints on field (co-)existence and format --> + <element name="bcf:constraints"> + <!-- + Set of entrytypes that this constraint applies to + An entrytype can be specified in multiple constraints + + Special entrytype "ALL" can be used to cover, well, all entrytypes ... + --> + <choice> + <element name="bcf:entrytype"> + <value>ALL</value> + </element> + <oneOrMore> + <element name="bcf:entrytype"> + <data type="NCName"/> + </element> + </oneOrMore> + </choice> + <zeroOrMore> + <!-- A constraint specification --> + <element name="bcf:constraint"> + <choice> + <!-- + Conditional constraints have an antecedent and consequent + both of which have a quantifier. This allows you to enforce + constraints like: + + if field a,b,c are all present then one of x,y,z must be + if one of field a,b,c are present then none of x,y,z must be + etc. + --> + <group> + <attribute name="type"> + <value>conditional</value> + </attribute> + <element name="bcf:antecedent"> + <attribute name="quant"> + <choice> + <value>all</value> + <value>one</value> + <value>none</value> + </choice> + </attribute> + <oneOrMore> + <element name="bcf:field"> + <data type="NCName"/> + </element> + </oneOrMore> + </element> + <element name="bcf:consequent"> + <attribute name="quant"> + <choice> + <value>all</value> + <value>one</value> + <value>none</value> + </choice> + </attribute> + <oneOrMore> + <element name="bcf:field"> + <data type="NCName"/> + </element> + </oneOrMore> + </element> + </group> + <!-- Datatype and format constraints --> + <group> + <attribute name="type"> + <value>data</value> + </attribute> + <optional> + <!-- + datespec is a BibLaTeX date range specification + range* attributes are for limiting integer type range + --> + <attribute name="datatype"> + <choice> + <value>integer</value> + <value>datespec</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="rangemin"> + <data type="int"/> + </attribute> + </optional> + <optional> + <attribute name="rangemax"> + <data type="int"/> + </attribute> + </optional> + <oneOrMore> + <element name="bcf:field"> + <data type="NCName"/> + </element> + </oneOrMore> + </group> + <!-- Mandatoriness constraints which say which fields must appear --> + <group> + <attribute name="type"> + <value>mandatory</value> + </attribute> + <oneOrMore> + <choice> + <element name="bcf:field"> + <data type="NCName"/> + </element> + <!-- + An XOR set of fields so you can enforce: + + One (but not more) of fields a,b,c must exist + --> + <element name="bcf:fieldxor"> + <oneOrMore> + <element name="bcf:field"> + <optional> + <attribute name="coerce"> + <value>true</value> + </attribute> + </optional> + <data type="NCName"/> + </element> + </oneOrMore> + </element> + <!-- + An OR set of fields so you can enforce: + + One (possibly more of fields a,b,c must exist + --> + <element name="bcf:fieldor"> + <oneOrMore> + <element name="bcf:field"> + <data type="NCName"/> + </element> + </oneOrMore> + </element> + </choice> + </oneOrMore> + </group> + </choice> + </element> + </zeroOrMore> + </element> + </oneOrMore> + </element> + </optional> + <oneOrMore> + <!-- Section specifications --> + <ref name="secspec"/> + </oneOrMore> + </element> + </start> + <define name="sorting"> + <element name="bcf:sorting"> + <oneOrMore> + <!-- presort default strings for different entry types --> + <element name="bcf:presort"> + <optional> + <attribute name="type"> + <data type="NCName"/> + </attribute> + </optional> + <text/> + </element> + </oneOrMore> + <zeroOrMore> + <!-- excludes of certain fields for sorting for specified types --> + <element name="bcf:sortexclusion"> + <attribute name="type"/> + <oneOrMore> + <element name="bcf:exclusion"> + <data type="NCName"/> + </element> + </oneOrMore> + </element> + </zeroOrMore> + <oneOrMore> + <ref name="sort"/> + </oneOrMore> + </element> + </define> + <define name="sort"> + <oneOrMore> + <!-- sort specification --> + <element name="bcf:sort"> + <!-- order of this specification in the set of all sort specifications --> + <attribute name="order"> + <data type="integer"/> + </attribute> + <optional> + <!-- Should we stop generating sorting information after this item? --> + <attribute name="final"> + <data type="integer"/> + </attribute> + </optional> + <optional> + <!-- Sort ascending or descending --> + <attribute name="sort_direction"> + <choice> + <value>ascending</value> + <value>descending</value> + </choice> + </attribute> + </optional> + <optional> + <!-- Sort case sensitive or not? --> + <attribute name="sortcase"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </attribute> + </optional> + <optional> + <!-- Sort upper before lower? --> + <attribute name="sortupper"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </attribute> + </optional> + <oneOrMore> + <!-- A sort item specification - a field or pseudo-field to get sort information from --> + <element name="bcf:sortitem"> + <!-- order of this item in the set of all other item specifications --> + <attribute name="order"> + <data type="integer"/> + </attribute> + <optional> + <!-- Just use a part of the item information for sorting? --> + <attribute name="substring_side"> + <choice> + <value>left</value> + <value>right</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="substring_width"> + <data type="integer"/> + </attribute> + </optional> + <optional> + <!-- Pad the item information when sorting with it? --> + <attribute name="pad_side"> + <choice> + <value>left</value> + <value>right</value> + </choice> + </attribute> + </optional> + <optional> + <attribute name="pad_width"> + <data type="integer"/> + </attribute> + </optional> + <optional> + <attribute name="pad_char"> + <data type="string"> + <param name="minLength">1</param> + <param name="maxLength">1</param> + </data> + </attribute> + </optional> + <text/> + </element> + </oneOrMore> + </element> + </oneOrMore> + </define> + <!-- Section specification --> + <define name="secspec"> + <optional> + <!-- data sources --> + <element name="bcf:bibdata"> + <!-- which sections the datafiles are for --> + <attribute name="section"> + <data type="integer"/> + </attribute> + <zeroOrMore> + <element name="bcf:datasource"> + <attribute name="type"> + <value>file</value> + </attribute> + <optional> + <attribute name="datatype"> + <choice> + <value>bibtex</value> + <value>biblatexml</value> + <value>ris</value> + </choice> + </attribute> + </optional> + <data type="anyURI"/> + </element> + </zeroOrMore> + </element> + </optional> + <!-- citekeys or citekey sets in each section --> + <element name="bcf:section"> + <attribute name="number"> + <data type="integer"/> + </attribute> + <zeroOrMore> + <element name="bcf:citekey"> + <choice> + <group> + <attribute name="type"> + <value>set</value> + </attribute> + <attribute name="members"> + <data type="string"> + <param name="minLength">1</param> + </data> + </attribute> + <data type="string"> + <param name="minLength">1</param> + </data> + </group> + <data type="string"> + <param name="minLength">1</param> + </data> + </choice> + </element> + </zeroOrMore> + <zeroOrMore> + <element name="bcf:sectionlist"> + <attribute name="label"> + <data type="string"> + <param name="minLength">1</param> + </data> + </attribute> + <attribute name="type"> + <choice> + <value>entry</value> + <value>key</value> + <value>shorthand</value> + </choice> + </attribute> + <zeroOrMore> + <choice> + <ref name="filter"/> + <ref name="orfilter"/> + </choice> + </zeroOrMore> + <optional> + <element name="bcf:sorting"> + <oneOrMore> + <ref name="sort"/> + </oneOrMore> + </element> + </optional> + </element> + </zeroOrMore> + </element> + </define> + <define name="orfilter"> + <element name="bcf:orfilter"> + <oneOrMore> + <ref name="filter"/> + </oneOrMore> + </element> + </define> + <define name="filter"> + <element name="bcf:filter"> + <attribute name="type"> + <choice> + <value>type</value> + <value>nottype</value> + <value>subtype</value> + <value>notsubtype</value> + <value>keyword</value> + <value>notkeyword</value> + <value>field</value> + <value>notfield</value> + </choice> + </attribute> + <data type="string"> + <param name="minLength">1</param> + </data> + </element> + </define> + <!-- option definitions --> + <define name="terseinits"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>terseinits</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="useprefix"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>useprefix</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="useauthor"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>useauthor</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="useeditor"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>useeditor</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="usetranslator"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>usetranslator</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="labelalpha"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>labelalpha</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="labelyear"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>labelyear</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="labelyearspec"> + <element name="bcf:option"> + <attribute name="type"> + <value>multivalued</value> + </attribute> + <element name="bcf:key"> + <value>labelyearspec</value> + </element> + <oneOrMore> + <element name="bcf:value"> + <attribute name="order"> + <data type="integer"/> + </attribute> + <data type="NCName"/> + </element> + </oneOrMore> + </element> + </define> + <define name="singletitle"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>singletitle</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="skipbib"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>skipbib</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="skiplab"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>skiplab</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="skiplos"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>skiplos</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="uniquename"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>uniquename</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + <value>2</value> + </choice> + </element> + </element> + </define> + <define name="maxitems"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>maxitems</value> + </element> + <element name="bcf:value"> + <data type="integer"/> + </element> + </element> + </define> + <define name="maxnames"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>maxnames</value> + </element> + <element name="bcf:value"> + <data type="integer"/> + </element> + </element> + </define> + <define name="minitems"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>minitems</value> + </element> + <element name="bcf:value"> + <data type="integer"/> + </element> + </element> + </define> + <define name="minnames"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>minnames</value> + </element> + <element name="bcf:value"> + <data type="integer"/> + </element> + </element> + </define> + <define name="sortlos"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>sortlos</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="labelnamespec"> + <element name="bcf:option"> + <attribute name="type"> + <value>multivalued</value> + </attribute> + <element name="bcf:key"> + <value>labelnamespec</value> + </element> + <oneOrMore> + <element name="bcf:value"> + <attribute name="order"> + <data type="integer"/> + </attribute> + <data type="NCName"/> + </element> + </oneOrMore> + </element> + </define> + <define name="mincrossrefs"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>mincrossrefs</value> + </element> + <element name="bcf:value"> + <data type="integer"/> + </element> + </element> + </define> + <define name="debug"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>debug</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="wrapline"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>wrapline</value> + </element> + <element name="bcf:value"> + <data type="integer"/> + </element> + </element> + </define> + <define name="bblencoding"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>bblencoding</value> + </element> + <element name="bcf:value"> + <data type="NCName"/> + </element> + </element> + </define> + <define name="bibencoding"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>bibencoding</value> + </element> + <element name="bcf:value"> + <data type="NCName"/> + </element> + </element> + </define> + <define name="sortcase"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>sortcase</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="alphaothers"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>alphaothers</value> + </element> + <element name="bcf:value"> + <data type="normalizedString"> + <param name="pattern">\S+</param> + </data> + </element> + </element> + </define> + <!-- This is xsd:language but also allows underscore separators --> + <define name="sortlocale"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>sortlocale</value> + </element> + <element name="bcf:value"> + <data type="normalizedString"> + <param name="pattern">([a-zA-Z]{2}|[iI][\-_][a-zA-Z]+|[xX][\-_][a-zA-Z]{1,10})([\-_][a-zA-Z]{1,10})*</param> + </data> + </element> + </element> + </define> + <define name="sortupper"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>sortupper</value> + </element> + <element name="bcf:value"> + <choice> + <value>0</value> + <value>1</value> + </choice> + </element> + </element> + </define> + <define name="sortalphaothers"> + <element name="bcf:option"> + <attribute name="type"> + <value>singlevalued</value> + </attribute> + <element name="bcf:key"> + <value>sortalphaothers</value> + </element> + <element name="bcf:value"> + <data type="normalizedString"> + <param name="pattern">\S+</param> + </data> + </element> + </element> + </define> + <define name="nonsortprefixes"> + <a:documentation>these are perl regexes</a:documentation> + <element name="bcf:nonsortprefixes"> + <oneOrMore> + <element name="bcf:item"> + <text/> + </element> + </oneOrMore> + </element> + </define> + <define name="nonsortdiacritics"> + <element name="bcf:nonsortdiacritics"> + <oneOrMore> + <element name="bcf:item"> + <text/> + </element> + </oneOrMore> + </element> + </define> +</grammar> |