After doing some research, I stumbled upon saxon-lint (https://github.com/sputnick-dev/saxon-lint), a perl program capable of using xpath3 expressions. In the crudest form possible: !# /bin/bash for ELM in `saxon-lint.pl --xpath "distinct-values(//*/name())" file.xml` do echo -e "\\startxmlsetups xml:$ELM \n\t \\xmlflush{#1} \n \\stopxmlsetups" done I still need to write $ELM into an array to make it do the following: \startxmlsetups xml:blank:map % xml:[filename] would be also fine \xmlsetsetup{\xmldocument} {xml:elements:from:the:variable:elm} % list the results from saxon-lint {xml:*} \stopxmlsetups That would give me the "blank" mapping file I want, saving me the trouble of typing out the whole thing every time. Best, Mica Pablo Rodriguez @ 2016-02-24 01:10 PST: > On 02/24/2016 09:20 AM, Hans Hagen wrote: >> On 2/23/2016 10:26 PM, Mica Semrick wrote: >>> Reading the docbook thread earlier today reminded me to ask this: >>> >>> Is there any feature or script that anyone can share that will read in >>> an XML document and spit out a blank mapping file? >> >> what is a blank mapping file > > Just guessing (or that would be useful for me too), a file with the > following scheme: > > \startxmlsetups xml:blank:map % xml:[filename] would be also fine > \xmlsetsetup{\xmldocument} > {xml:elements} % all elements used in document listed here > {xml:*} > > \xmlsetsetup{\xmldocument} > {h2[contains(@class,'author')]} % list also all elements > {xml:title:author} % with attributes > \stopxmlsetups > > \xmlregistersetup{xml:pandoc} > > \startxmlsetups xml:elements % basic configuration for elements > \xmlflush{#1} > \stopxmlsetups > > \startxmlsetups xml:title:author % basic configuration for attributes > \xmlflush{#1} > \stopxmlsetups > > I guess that the usefulness of this is not the actual configuration, but > to know what you have to configure. > > I hope it helps, > > Pablo