xsl-list
[Top] [All Lists]

Re: Schema declarations showing up in my html

2005-04-01 16:36:11
Ok, I'll give that a try

for reference: a sample of 

xslt

<xsl:template match="paragraph" mode="contentsection">
        <p class="para">(<xsl:copy-of select="paragraphnumber"/>)
        <xsl:copy-of select="paragraphtext"/></p>
 <xsl:apply-templates/>
</xsl:template>

xml

<paragraph>
  <paragraphnumber>a</paragraphnumber>
  <paragraphtext>to continuously or repeatedly observe a service
provider, doctor who provides abortion services or patient or a
building in which any of them resides or in which abortion services
are provided, or</paragraphtext>
</paragraph>

html

<p class="para">(<paragraphnumber
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>a</paragraphnumber>)
        <paragraphtext
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>to continuously
or repeatedly observe a service provider,</paragraphtext></p>

ok, so that's what's happenning so far. I suspected that it is in
scope for the element using the copy-of statement, however if I can
figure out a way to get rid of it it would be nice. I realize that
anyone with a little experience and time can parse out our html but
I'd rather not hand our content over to them already enclosed in xml
tags.

Anyway I'll give you're suggestion a shot David. Thanks very much for the posts

Spence

On Apr 1, 2005 3:26 PM, David Carlisle <davidc(_at_)nag(_dot_)co(_dot_)uk> 
wrote:

I realize this may be more of a .net question, but u guys are so much
better than those other forums.

I suspect that it's just an xslt question, but it's hard to be sure as
you only posted your .net code which I don't think is relevant.


  <element 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>elementvalue</element>

  every single time I do a <xsl:copy-of select="element" in my xsl

when you do copy-of you copy a node and it gets copied along with all
its namespaces children attributes etc, so presumably the xsi namespace
was in scope on the element that you copied. If this namespace is not on
any ancestor node in the result, copying the namespace node for this
element will cause a namespace declaration to be output.

if you wouldn't mind just getting one xmlns:xsi at the top level just
make sure that your top level result element uses this namespace.

If you don't want this namespace at all, then you either need to make
sure it is not in your source, or make sure you don't copy it
for example replace
<xsl:copy-of select="element"/>
by
<xsl:element name="element">
 <xsl:copy-of select="@*"/>
</xsl:element>

If the xsi namespace isn't in your source, then my guess is wrong and
you can ignore all the above.

David

________________________________________________________________________
This e-mail has been scanned for all viruses by Star. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________

--~------------------------------------------------------------------
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>
--~--



--~------------------------------------------------------------------
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>
--~--