diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/biblatex/blx-dm.def')
-rw-r--r-- | Master/texmf-dist/tex/latex/biblatex/blx-dm.def | 29 |
1 files changed, 21 insertions, 8 deletions
diff --git a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def index 0da6bc8e7cd..dcee0112012 100644 --- a/Master/texmf-dist/tex/latex/biblatex/blx-dm.def +++ b/Master/texmf-dist/tex/latex/biblatex/blx-dm.def @@ -11,8 +11,8 @@ ~~~~<bcf:entrytypes>\blx@nl #1% ~~~~</bcf:entrytypes>\blx@nl} -\xdef\blx@xml@datamodel@entrytype#1{% - ~~~~~~<bcf:entrytype>#1</bcf:entrytype>\blx@nl} +\xdef\blx@xml@datamodel@entrytype#1#2{% + ~~~~~~<bcf:entrytype#1>#2</bcf:entrytype>\blx@nl} \xdef\blx@xml@datamodel@fields#1{% ~~~~<bcf:fields>\blx@nl #1% @@ -75,14 +75,25 @@ \newrobustcmd*{\ResetDatamodelConstraints}{% \global\cslet{blx@bcf@datamodel@constraints}\@empty} -\newrobustcmd*{\DeclareDatamodelEntrytypes}[1]{% +\newrobustcmd*{\DeclareDatamodelEntrytypes}[2][]{% + \begingroup + \let\blx@tempa\@empty \def\do##1{% \ifinlistcs{##1}{blx@biber@datamodel@entrytypes} {} {\listcsgadd{blx@biber@datamodel@entrytypes}{##1}}% \xappto\blx@bcf@datamodel@entrytypes{% - \blx@xml@datamodel@entrytype{##1}}}% - \docsvlist{#1}} + \blx@xml@datamodel@entrytype{\blx@tempa}{##1}}}% + \ifblank{#1} + {\docsvlist{#2}} + {\setkeys{blx@datamodel@entrytypes}{#1} + \docsvlist{#2}}% + \endgroup} + +\define@key{blx@datamodel@entrytypes}{skipout}[true]{% true|false + \ifstrequal{#1}{true} + {\appto\blx@tempa{ skip\string_output="true"}} + {}} \newrobustcmd*{\DeclareDatamodelFields}[2][]{% \begingroup @@ -300,8 +311,9 @@ suppcollection, thesis, unpublished, - video, - xdata} + video} + +\DeclareDatamodelEntrytypes[skipout]{xdata} \DeclareDatamodelFields[type=field, datatype=integer]{ day, @@ -473,11 +485,12 @@ doi, eprint, file, - url, verba, verbb, verbc} +\DeclareDatamodelFields[type=field, datatype=uri]{url} + \DeclareDatamodelFields[type=field, datatype=csv]{keywords} \DeclareDatamodelFields[type=field, datatype=csv, skipout]{options} \DeclareDatamodelFields[type=field, datatype=range]{pages} |