cocoon-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Schmitz <jeffandmon...@mac.com>
Subject Re: Can't match elements with colons
Date Fri, 11 Jul 2008 21:00:50 GMT
OK, figured it out.  It was because of the '#' at the end of the csv  
namespace declaration in my xslt stylesheet.  This is a very common  
thing to do when using owl namespaces, however apparently xslt doesn't  
like it, I guess because it doesn't match exactly the csv namespace  
declaration in the xml itself.  For any semantic web/OWL practitioners  
used to just putting the # on the end, this could be a real bad  
"gotcha".

Jeff



On Jul 11, 2008, at 3:30 PM, Jeff Schmitz wrote:

> Hello,
>    I'm trying to take the output of the CSVGenerator and transform  
> it.  However, my xslt will not match any of the elements that have  
> colons in them.
>
> e.g. for the following xml generated by CSVGenerator:
>
> <?xml version="1.0" encoding="ISO-8859-1"?><relex xmlns:cinclude="http://apache.org/cocoon/include/1.0

> ">
>   <systems><csv:document xmlns:csv="http://apache.org/cocoon/csv/1.0">
>     <csv:record number="1">
>         <csv:field number="1">System</csv:field>
>         <csv:field number="2">Pump and Valve System</csv:field>
>     </csv:record>
> </csv:document></systems>
>
> The following xslt will not find a match:
>
> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
> 	xmlns:csv="http://apache.org/cocoon/csv/1.0#" version="2.0">
> 	<xsl:output method="xml" indent="yes" />
> 	<xsl:template match="/">
> 	  <!-- Write out the standard OWL start elements and imports-->
> 	  <xsl:apply-templates select="/relex/systems/csv:document/ 
> csv:record" />
> 	</xsl:template>
> 	
> 	<xsl:template match="/relex/systems/csv:document/csv:record">
> 		<matchedIt/>
> 	</xsl:template>
> </xsl:stylesheet>
>
> I can match the "relex" and the "systems" tags just fine, but  
> neither of the ones with colons in them.  I've tried several  
> variations on the template match (e.g. match=//csv:record, etc).   
> any ideas?
>
> Thanks,
> Jeff


Mime
View raw message