ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Hans Hagen <pragma@wxs.nl>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: TEI to context XML mappings?
Date: Sun, 14 Aug 2016 15:38:07 +0200	[thread overview]
Message-ID: <968aafce-022d-6416-5861-da99e8842587@wxs.nl> (raw)
In-Reply-To: <2B42FC6C-E73B-4FBC-8C3F-FAAFECF16C42@silentumbrella.com>

On 8/14/2016 7:03 AM, Mica Semrick wrote:
>
> 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 <http://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.

we already have an analyzer:

context --extra=xml --analyze --autopdf music-collection.xml

i'll add a --template option for generating a bunch of setups (not the 
most efficient way to define a mapping but anyway)

context --extra=xml --analyze --template --autopdf music-collection.xml

> Best,
> Mica
>
> Pablo Rodriguez <oinos@gmx.es> @ 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
>
>
> ___________________________________________________________________________________
> If your question is of interest to others as well, please add an entry to the Wiki!
>
> maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
> webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
> archive  : http://foundry.supelec.fr/projects/contextrev/
> wiki     : http://contextgarden.net
> ___________________________________________________________________________________
>


-- 

-----------------------------------------------------------------
                                           Hans Hagen | PRAGMA ADE
               Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
        tel: 038 477 53 69 | www.pragma-ade.nl | www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the Wiki!

maillist : ntg-context@ntg.nl / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

      reply	other threads:[~2016-08-14 13:38 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-02-23 21:26 Mica Semrick
2016-02-24  8:20 ` Hans Hagen
2016-02-24  9:10   ` Pablo Rodriguez
2016-02-24  9:52     ` Hans Hagen
2016-02-24 10:11       ` Thomas A. Schmitz
2016-02-24 10:26         ` Hans Hagen
2016-02-24 12:05           ` Thomas A. Schmitz
2016-02-24 14:15             ` Hans Hagen
2016-02-24 14:32               ` Thomas A. Schmitz
2016-02-24 14:51                 ` Hans Hagen
2016-02-24 15:57                   ` Thomas A. Schmitz
2016-02-24 17:32             ` Mica Semrick
2016-02-24 15:34           ` Mica Semrick
2016-02-24 10:32       ` Pablo Rodriguez
2016-02-25  5:04       ` mica
2016-02-25  9:48         ` Hans Hagen
2016-02-26  7:52           ` Pablo Rodriguez
2016-02-26  9:00             ` Hans Hagen
2016-02-26 15:39               ` Mica Semrick
2016-06-22  5:12     ` Mica Semrick
2016-08-14  5:03     ` Mica Semrick
2016-08-14 13:38       ` Hans Hagen [this message]

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=968aafce-022d-6416-5861-da99e8842587@wxs.nl \
    --to=pragma@wxs.nl \
    --cc=ntg-context@ntg.nl \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).