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/
--~------------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--