ntg-context - mailing list for ConTeXt users
 help / color / mirror / Atom feed
From: Henning Hraban Ramm <texml@fiee.net>
To: mailing list for ConTeXt users <ntg-context@ntg.nl>
Subject: Re: Custom XML Export
Date: Tue, 15 Sep 2015 10:11:42 +0600	[thread overview]
Message-ID: <539C6729-24F1-43EC-87A2-20758CA99153@fiee.net> (raw)
In-Reply-To: <00cd01d0ef18$6f13da50$4d3b8ef0$@tosovsky@email.cz>

Am 2015-09-15 um 00:09 schrieb Jan Tosovsky <j.tosovsky@email.cz>:

> XSLT 1.0 is capable to handle anything (turing machine).
> XSLT 2.0 brings some syntactic sugar.
> XSLT 3.0 supports streaming.
> 
> If you need 2.0 features, you can use Saxon-B 9.1.0.8 (free, but not
> maintained any more).

Thank you, I’ll first try xsltproc.

>> ... I would need are global variables.
> 
> In pure XSLT any variable is fixed and its value cannot be changed. There
> are, however, different approaches how to accomplish this. Most common is
> defining template parameters and passing the proper values via them, see
> below.
> 
>> E.g. if I don’t markup all my paragraphs (because it clutters the
>> source too much and is tedious), I get <break />s between the original
>> paragraphs. I could convert these to HTML <p>s like:
>> 
>> 
>> <xsl:variable name="within-paragraph">0</xsl:variable >
>> 
>> <xsl:template match="break">
>> <xsl:if test="within-paragraph = 0">
>> <xsl:text disable-output-escaping="yes"><![CDATA[</p><p>]]></xsl:text>
>> </xsl:if>
>> <xsl:if test="within-paragraph > 0">
>> <br />
>> </xsl:if>
>> </xsl:template>
>> 
>> <xsl:template match="paragraph">
>> <xsl:variable name="within-paragraph">1</xsl:variable >
>> <p><xsl:apply-templates/></p>
>> <xsl:variable name="within-paragraph">0</xsl:variable >
>> </xsl:template>
> 
> 
> <xsl:template match="your-element" name="your-element">
>   <!-- default value -->
>   <xsl:param name="within-paragraph" select="0"/>
>   <!-- your code -->
> </xsl:template>
> 
> <xsl:apply-templates select="your-element">
>   <!-- overriding a default value -->
>   <xsl:with-param name="within-paragraph" select="1">
> </xsl:apply-templates>

Thank you very much!


> Btw, istead of 
> <xsl:text disable-output-escaping="yes"><![CDATA[</p><p>]]></xsl:text>
> 
> you can write 
> <p/>

No, </p><p> ist not <p></p>!

I want to get from

text text text
<break />
text text text

(when I don’t use \start/stopparagraph)

to

<p>
text text text
</p>
<p>
text text text
</p>

But *if* there is paragraph markup, <break /> should become <br />. That’s why I tried to use a status variable to know if there was a explicit paragraph start.


Greetlings, Hraban
---
http://www.fiee.net
http://wiki.contextgarden.net
https://www.cacert.org (I'm an assurer)

___________________________________________________________________________________
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
___________________________________________________________________________________

  parent reply	other threads:[~2015-09-15  4:11 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-09-11 14:21 Toby Miller
2015-09-12  9:53 ` Hans Hagen
2015-09-12 11:37   ` Toby Miller
2015-09-12 12:00     ` Hans Hagen
2015-09-12 12:22       ` Toby Miller
2015-09-12 12:04     ` Henning Hraban Ramm
2015-09-12 12:14       ` Hans Hagen
2015-09-12 12:21         ` Toby Miller
2015-09-12 12:14       ` luigi scarso
2015-09-12 12:28         ` Henning Hraban Ramm
2015-09-14  9:12           ` luigi scarso
2015-09-14 18:09           ` Jan Tosovsky
     [not found]           ` <00cd01d0ef18$6f13da50$4d3b8ef0$@tosovsky@email.cz>
2015-09-15  4:11             ` Henning Hraban Ramm [this message]
2015-09-12 14:25         ` Hans Hagen
2015-09-12 20:53       ` Aditya Mahajan
2015-09-14  9:57         ` Henning Hraban Ramm

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=539C6729-24F1-43EC-87A2-20758CA99153@fiee.net \
    --to=texml@fiee.net \
    --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).