XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Daryl KahlSubject: Prevent Adding xmlns Attribute To Result
Author: Daryl Kahl
Date: 19 Aug 2005 07:26 PM
The purpose of my XSL file is to convert <Link> tags
from:
<Link contentID="key" ...>
to:
<Link URL="URL-corresponding-to-contentID-key" ...>

but I get <Link>s of the form:
<Link xmlns="http://www.w3.org/1999/xhtml" URL="/married/a0030341.cfm">mainstream</Link>, which is correct except that 'xmlns="http://www.w3.org/1999/xhtml"' was added.


My template is:
<xsl:template match="Link[@contentID and not(@URL)]">
<xsl:variable name="contentID" select="@contentID"/> <!-- extract contentID -->

<xsl:variable name="url"> <!-- Get URL associated with contentID -->
<!--
Wrap key( ) lookup in a for-each to cause context to be XML lookup doc
rather than current doc.
-->
<xsl:for-each select="$linkRewriteLookupDoc">
<!-- Lookup URL corresponding to contentID -->
<xsl:value-of select="key( 'linkRewriteKey', $contentID )"/>
</xsl:for-each>
</xsl:variable>

<!-- Generate a <Link> tag with URL attribute replacing the contentID attribute -->
<Link URL="{$url}">
<!-- continue processing children and any other attributes -->
<xsl:apply-templates select="@*[name()!='contentID'] | node()"/>
</Link>
</xsl:template>

Postnext
Ivan PedruzziSubject: Prevent Adding xmlns Attribute To Result
Author: Ivan Pedruzzi
Date: 19 Aug 2005 07:59 PM
Daryl,

My guess is that your XSLT defines the default namespace as follow

xmlns="http://www.w3.org/1999/xhtml"

you should change to

xmlns:xhtml="http://www.w3.org/1999/xhtml"

if necessary adjust the match rule to use the xhtml prefix

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Postnext
Daryl KahlSubject: Prevent Adding xmlns Attribute To Result
Author: Daryl Kahl
Date: 26 Aug 2005 05:41 PM
Ivan,
I made your suggested change. Now I get result links of form:
<Link xmlns:xhtml="http://www.w3.org/1999/xhtml" URL="/married/a0030341.cfm">mainstream</Link>

The processing now adds the modified namespace rather than the desired form:
<Link URL="/married/a0030341.cfm">mainstream</Link>

Thanks for your suggestion. Have any others :-) ?

Daryl

Postnext
Ivan PedruzziSubject: Prevent Adding xmlns Attribute To Result
Author: Ivan Pedruzzi
Date: 26 Aug 2005 05:52 PM
Daryil,

Please post an entire XSLT + XML sample and I will show you
what mistake you are making :)

Ivan Pedruzzi
Stylus Studio Team

Postnext
Daryl KahlSubject: Prevent Adding xmlns Attribute To Result
Author: Daryl Kahl
Date: 26 Aug 2005 07:25 PM
Ivan,
Attached is a sample .xml file and my .xsl file.

Thanks, Daryl


UnknownExamplePornography.xml
Sample xml with

UnknownLinkRewrite.xsl
My xsl file to rewrite link to

Postnext
Ivan PedruzziSubject: Prevent Adding xmlns Attribute To Result
Author: Ivan Pedruzzi
Date: 28 Aug 2005 09:16 PM
use exclude-result-prefixes to remove the unused namespace prefixes as follow

<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
exclude-result-prefixes="xhtml">



The input document is not using XHTML neither the transformation result, why you are declaring the xhtml namespace anyway?

Ivan Pedruzzi
Stylus Studio Team



Posttop
Daryl KahlSubject: Prevent Adding xmlns Attribute To Result
Author: Daryl Kahl
Date: 29 Aug 2005 11:31 AM
Ivan,
I'm using the xhtml namespace probably because:
- I'm new-ish to XSL, and
- Copied an existing XSL doc as a starting place

Regardless, thanks for your help! It's much appreciated! I'll
try to ask more difficult questions in the future :-).

Daryl

 
Topic Page 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.