publ-xml.mkiv /size: 3524 b    last modification: 2020-07-01 14:35
1
%D \module
2
%D [ file=publ-xml,
3
%D version=2013.12.24,
4
%D title=\CONTEXT\ Publication Support,
5
%D subtitle=XML,
6
%D author=Hans Hagen,
7
%D date=\currentdate,
8
%D copyright={PRAGMA ADE \& \CONTEXT\ Development Team}]
9
%C
10
%C This module is part of the \CONTEXT\ macro||package and is
11
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
12
%C details.
13 14
\writestatus
{
loading
}{
ConTeXt
Publication
Support
/
XML
}
15 16
\unprotect
17 18
\unexpanded
\def
\convertbtxdatasettoxml
19
{
\dosingleempty
\publ_convert_to_xml
}
20 21
\def
\publ_convert_to_xml
[#
1
]
%
22
{
\clf_convertbtxdatasettoxml
{
\iffirstargument
#
1
\else
\s!default
\fi
}}
% or current when not empty
23 24
% \startxmlsetups btx:initialize
25
% \xmlregistereddocumentsetups{#1}{}
26
% \xmlsetsetup{#1}{bibtex|entry|field}{btx:*}
27
% \xmlmain{#1}
28
% \stopxmlsetups
29 30
\startxmlsetups
btx
:
initialize
31
\xmlsetsetup
{
#
1
}{
bibtex
|
entry
|
field
}{
btx
:
*
}
32
\xmlmain
{
#
1
}
33
\stopxmlsetups
34 35
% \startxmlsetups btx:entry
36
% \xmlflush{#1}
37
% \stopxmlsetups
38 39
\startxmlsetups
btx
:
field
40
\xmlflushcontext
{
#
1
}
41
\stopxmlsetups
42 43
\protect
\endinput
44 45
% \startxmlsetups bibtex:entry:getkeys
46
% \xmladdsortentry{bibtex}{#1}{\xmlfilter{#1}{/field[@name='author']/text()}}
47
% \xmladdsortentry{bibtex}{#1}{\xmlfilter{#1}{/field[@name='year' ]/text()}}
48
% \xmladdsortentry{bibtex}{#1}{\xmlatt{#1}{tag}}
49
% \stopxmlsetups
50 51
% \startbuffer
52
% \startxmlsetups xml:bibtex:sorter
53
% \xmlresetsorter{bibtex}
54
% % \xmlfilter{#1}{entry/command(bibtex:entry:getkeys)}
55
% \xmlfilter{#1}{
56
% bibtex
57
% /entry[@category='article']
58
% /field[@name='author' and find(text(),'Knuth')]
59
% /../command(bibtex:entry:getkeys)}
60
% \xmlsortentries{bibtex}
61
% \xmlflushsorter{bibtex}{bibtex:entry:flush}
62
% \stopxmlsetups
63
% \stopbuffer
64 65
% \bgroup
66
% \setups[bibtex-commands]
67
% \getbuffer
68
% \egroup
69 70
% \startxmlsetups bibtex:entry:flush
71
% \xmlfilter{#1}{/field[@name='author']/context()} / %
72
% \xmlfilter{#1}{/field[@name='year' ]/context()} / %
73
% \xmlatt{#1}{tag}\par
74
% \stopxmlsetups
75 76
% \startpacked
77
% \getbuffer
78
% \stoppacked
79 80 81
% \unexpanded\def\btx_xml_list_handle_entry
82
% {\begingroup
83
% \ignorespaces
84
% \xmlfilter{btx:\currentbtxrendering}{/bibtex/entry[@tag='\currentbtxtag']/command(btx:format)}%
85
% \removeunwantedspaces
86
% \endgroup}
87 88
% \startxmlsetups btx:format
89
% \btxlistparameter\c!before\relax % prevents lookahead
90
% \edef\currentbibxmlnode {#1}
91
% \edef\currentbibxmltag {\xmlatt{#1}{tag}}
92
% \edef\currentbtxcategory{\xmlatt{#1}{category}}
93
% \ignorespaces
94
% \xmlcommand{#1}{.}{btx:\currentbtxformat:\currentbibxmlcategory}
95
% \removeunwantedspaces
96
% \btxlistparameter\c!after\relax % prevents lookahead
97
% \stopxmlsetups
98 99
% \startxmlsetups btx:list
100
% \xmlfilter{#1}{/bibtex/entry/command(bibtex:format)}
101
% \stopxmlsetups
102 103
% \startxmlsetups btx:btx
104
% \xmlfilter{#1}{/entry/command(btx:format)}
105
% \stopxmlsetups
106 107
% \unexpanded\def\btx_xml_doifelse#1{\xmldoifelse\currentbibxmlnode{/field[@name='#1']}}
108
% \unexpanded\def\btx_xml_doif #1{\xmldoif \currentbibxmlnode{/field[@name='#1']}}
109
% \unexpanded\def\btx_xml_doifnot #1{\xmldoifnot \currentbibxmlnode{/field[@name='#1']}}
110
% \def\btx_xml_flush #1{\xmlcontext \currentbibxmlnode{/field[@name='#1']}}
111
% \def\btx_xml_setup {\xmlsetup \currentbibxmlnode} % {#1}
112
% \unexpanded\def\btx_xml_todo #1{[#1]}
113 114
% \xmlfilter{#1}{/field[@name='\currentbtxfield']/btxconcat('\currentbtxfield')}
115