[Home] [By Thread] [By Date] [Recent Entries]

Subject: Re: Help to prevent copying of prefix
From: "Schimon Jehudah sch@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Mon, 9 Mar 2026 11:32:12 -0000
Mukul.

Thank you for sharing your observation.

This is crutial for interoperability with software with lenience
compliance with XML standards.

Schimon.

On Mon, 9 Mar 2026 11:23:35 -0000
"Mukul Gandhi mukulg@xxxxxxxxxxxxxxxxx"
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:

> Hi Schimon,
>      Due to my curiosity, I've tried writing an XSLT 3.0 stylesheet to
> solve this issue, using David Carlisle's interpretation for
> well-formedness of your XHTML document input.
>
> I've used an XML document input (I used XML document rules to solve
> this use case):
>
> <atom:summary type="xhtml"
>               xmlns:atom="http://www.w3.org/2005/Atom"
>               xmlns:xhtml="http://www.w3.org/1999/xhtml">
>   <xhtml:div>
>     <xhtml:p>
>       We are happy to announce that
>       <xhtml:a href="gemini://syndikate.i2p">Syndikate</xhtml:a>
>       was publicized.
>     </xhtml:p>
>   </xhtml:div>
> </atom:summary>
>
> and provided that to an XSLT 3.0 stylesheet:
>
> <?xml version="1.0" encoding="utf-8"?>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
>                          xmlns:atom="http://www.w3.org/2005/Atom"
>                          xmlns:xhtml="http://www.w3.org/1999/xhtml"
>                          exclude-result-prefixes="atom xhtml"
>                          version="3.0">
>
>     <xsl:output method="xml" indent="yes"/>
>
>     <xsl:template match="atom:summary">
>        <xsl:apply-templates select="xhtml:div/xhtml:p"/>
>     </xsl:template>
>
>     <xsl:template match="xhtml:p">
>        <p xmlns="http://www.w3.org/1999/xhtml" class="summary"
> type="xhtml"> <xsl:apply-templates/>
>         </p>
>     </xsl:template>
>
>     <xsl:template match="text()">
>         <xsl:value-of select="."/>
>     </xsl:template>
>
>     <xsl:template match="*">
>        <xsl:element name="{local-name()}" namespace="
> http://www.w3.org/1999/xhtml">
>            <xsl:copy-of select="@*"/>
>            <xsl:apply-templates/>
>        </xsl:element>
>     </xsl:template>
>
> </xsl:stylesheet>
>
> This XSL transformation produces following result,
>
> <?xml version="1.0" encoding="UTF-8"?>
> <p xmlns="http://www.w3.org/1999/xhtml" class="summary" type="xhtml">
>       We are happy to announce that
>       <a href="gemini://syndikate.i2p">Syndikate</a>
>       was publicized.
>     </p>
>
>
> Many thanks.
>
> On Mon, Mar 9, 2026 at 12:59b/AM Schimon Jehudah sch@xxxxxxxxxxxx <
> xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>
> > Greetings.
> >
> > I am attempting to copy the XHTML content of element atom:summary
> > without the prefix of "xhtml", by declaring the XML Namespace of
> > "xhtml" at the element which contains it.
> >
> > Content
> > -------
> >
> > <atom:summary type="xhtml">
> >   <xhtml:div>
> >     <xhtml:p>
> >       We are happy to announce that
> >       <xhtml:a href="gemini://syndikate.i2p">Syndikate</xhtml:a>
> >       was publicized.
> >     <xhtml:p>
> >   </xhtml:div>
> > </atom:summary>
> >
> >
> > XSLT
> > ----
> >
> > <p xmlns="http://www.w3.org/1999/xhtml" class="summary"
> > type="xhtml"> <xsl:copy-of select="$summary/xhtml:*"/>
> > </p>
> >
> >
> > Result
> > ------
> >
> > <p xmlns="http://www.w3.org/1999/xhtml" class="summary"
> > type="xhtml"> <xhtml:div>
> >     <xhtml:p>
> >       We are happy to announce that
> >       <xhtml:a href="gemini://syndikate.i2p">Syndikate</xhtml:a>
> >       was publicized.
> >     <xhtml:p>
> >   </xhtml:div>
> > </p>
> >
> >
> > Desired result
> > --------------
> >
> > <p xmlns="http://www.w3.org/1999/xhtml" class="summary"
> > type="xhtml"> <div>
> >     <p>
> >       We are happy to announce that
> >       <a href="gemini://syndikate.i2p">Syndikate</a>
> >       was publicized.
> >     <p>
> >   </div>
> > </p>
> >
> >
> > Note
> > ----
> >
> > Directive exclude-result-prefixes="xhtml" did not work for me, or I
> > executed it wrongly.
> >
> > I would appreciate any help.
> >
> >
> > Kind reagrds,
> > Schimon

Current Thread
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member