Re: Problems getting start_prefix_mapping to fire

Petr Pajas <[email protected]>
Newsgroups gmane.comp.lang.perl.xml
Message-ID <[email protected]>
2010/4/1 Michael Ludwig <[email protected]>:
> Kjetil Kjernsmo schrieb am 31.03.2010 um 23:59:31 (+0200):
>> I need to remove some namespace prefix mappings from my result
>> document. Now, the problem is that these prefixes occur in attribute
>> values, this is actually RDFa.
>
>> As you can see, it needs to retain e.g. the dbp:-prefix but drop the
>> sub:- prefix, both of which only occur in attribute values.
>
> I wouldn't use SAX, which is low-level and tedious. I'd use XSLT, which
> is a high-level tool, that lets the processor do the work, not the
> human.
>
> You could tackle this as a variation on the identity template patter.
> Replace the document element that defines all the namespaces which one
> of your liking that only has the namespaces you want.
>
> <xsl:stylesheet version="1.0"
>  xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
>
>  <xsl:template match="/*">
>    <!-- add all the namespace declarations you want here -->
>    <html xmlns="http://www.w3.org/1999/xhtml">
>      <xsl:apply-templates select="@*|node()"/>
>    </html>
>  </xsl:template>
>
>  <xsl:template match="@*|node()">
>    <xsl:copy>
>      <xsl:apply-templates select="@*|node()"/>
>    </xsl:copy>
>  </xsl:template>
>
> </xsl:stylesheet>
>
> Then, use a processor to do the transformation:
>
>  xsltproc identity.xsl dbpedia-mustang-range.input.xhtml

Michael is right, esp. if you are working with DOM on both the input
and output side.
You can do XSLT from Perl using XML::LibXSLT.

Sorry for not being more helpful otherwise; subtle details of SAX are
not my specialty.

-- Petr
_______________________________________________
Perl-XML mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.