[Home] [By Thread] [By Date] [Recent Entries]
Casper Voortman wrote:
I have a question regarding writing an XSLT that converts XML into an XML that uses namespace prefixes in the element names. I have written some XSLT's and call myself fairly proficient in it, but namespaces and prefixes is completely new to me. Here is how you can solve that: <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:htm="http://www.w3.org/1999/xhtml" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:pcv="http://prismstandard.org/namespaces/1.2/pcv/" xmlns:prism="http://prismstandard.org/namespaces/1.2/basic/" version="1.0"> <xsl:output method="xml" indent="yes"/> <xsl:strip-space elements="*"/> <xsl:template match="/">
<rdf:RDF>
<xsl:apply-templates select="Article/MetaData"/>
</rdf:RDF>
</xsl:template> <xsl:template match="MetaData">
<rdf:Description>
<xsl:apply-templates/>
</rdf:Description>
</xsl:template> <xsl:template match="ID">
<dc:identifier>
<xsl:apply-templates/>
</dc:identifier>
</xsl:template> <xsl:template match="Type">
<dc:filetype>
<xsl:apply-templates/>
</dc:filetype>
</xsl:template><xsl:template match="Name | State | RouteTo | Size | LengthWords | LengthChars | LengthLines | Issue | Section | PublicationId | IssueId | SectionId | StateId | LockForOffline"> <xsl:element name="dc:{local-name()}"> <xsl:apply-templates/> </xsl:element> </xsl:template> <xsl:template match="PlacedOn | PlacedOnPage | Modified | Publication">
<xsl:element name="prism:{local-name()}">
<xsl:apply-templates/>
</xsl:element>
</xsl:template></xsl:stylesheet> -- Martin Honnen http://JavaScript.FAQTs.com/
|

Cart



