Subject: Re: [xsl] Dynamic DTD declaration in output From: "Paul Tyson phtyson@xxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 16 May 2019 03:12:12 -0000 |
Although I see nothing to recommend it above xsl:result-document in this case, for the sake of completeness I mention xsl:character-map. <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:param name="doctype-name" select="'doc'"/> <xsl:param name="dtd-path" select="'my-document.dtd'"/> <xsl:character-map name="markup"> <xsl:output-character character="⟨" string="<"/> <xsl:output-character character="⟩" string=">"/> </xsl:character-map> <xsl:output method="xml" indent="yes" use-character-maps="markup"/> <xsl:template match="/"> <xsl:text> ⟨!DOCTYPE </xsl:text> <xsl:value-of select="$doctype-name"/> <xsl:text> "</xsl:text> <xsl:value-of select="$dtd-path"/> <xsl:text>"⟩ </xsl:text> <doc>I'm a document</doc> </xsl:template> </xsl:stylesheet> On Wed, 2019-05-15 at 15:15 +0000, Trevor Nicholls trevor@xxxxxxxxxxxxxxxxxx wrote: > Well you learn something every day. I have used result-document in the > POST-processor stylesheet to split the document apart but I had > absolutely no idea that - without an href - it could be used to define > the primary output. It works just the way I needed it to. > > > > Thank you very much > > > > cheers > > T > > > > From: Michael Kay mike@xxxxxxxxxxxx > <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> > Sent: Wednesday, 15 May 2019 19:07 > To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx > Subject: Re: [xsl] Dynamic DTD declaration in output > > > > > In XSLT 2.0 you can do: > > > > > <xsl:template match="/"> > > > <xsl:result-document doctype-system="{$DefaultDTDPath}" method="xml" > encoding="utf-8"> > > > .... > > > </xsl:result-document> > > > </xsl:template> > > > > > > Michael Kay > > > Saxonica > > > > On 15 May 2019, at 06:45, Trevor Nicholls > trevor@xxxxxxxxxxxxxxxxxx > <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > > > > Hi > > > > > > I've got a simple stylesheet which is executed as a > pre-process when XML documents are loaded into FrameMaker. At > the moment the stylesheet includes the line > > > > > > <xsl:output doctype-system="/path/to/docs.dtd" > method="xml" encoding="UTF-8" /> > > > > > > Because this stylesheet will be used by different users in > several different contexts, it would be brilliant if the path > to the DTD could be parameterised. I know the following is > invalid but the purpose of this post is to ask if there is any > way of engineering an equivalent: > > > > > > <xsl:param name="DefaultDTDPath" /> > > > <xsl:output doctype-system="{$DefaultDTDPath}" > method="xml" encoding="UTF-8" /> > > > > > > XSL version has to be 1.0 or 2.0. > > > > > > Thanks > > > T > > > > > > XSL-List info and archive > > EasyUnsubscribe (by email) > > > > > > XSL-List info and archive > > EasyUnsubscribe (by email) > > > XSL-List info and archive > EasyUnsubscribe (by email)
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Dynamic DTD declaration i, Trevor Nicholls trev | Thread | [xsl] unicode ligatures and interru, Pieter Lamers pieter |
Re: [xsl] Dynamic DTD declaration i, Trevor Nicholls trev | Date | [xsl] unicode ligatures and interru, Pieter Lamers pieter |
Month |