#1007 saxon mangles datacolumn names ending with '0' or '2'

v9.2
closed
Michael Kay
.NET API (34)
5
2012-10-08
2009-11-17
Anonymous
No

saxon removes any '0' or '2' character from datacolumn names (xml elements). Into rar file, there are data.xml and extract_data.xslt. Using them, in the result html, output comes like:
sdVlPrVAT1 0
sdVlPrVAT 0 (should be sdVlPrVAT2)
sdVlPrVAT3 394.6300048828125
sdVlPrVAT4 0
sdVlPrVAT5 0
sdVlPrVAT6 0
sdVlPrVAT7 0
sdVlPrVAT8 0
sdVlPrVAT9 0
sdVlPrVAT1 0 (should be sdVlPrVAT10)
sdVlPrVAT11 0
sdVlPrVAT1 0 (should be sdVlPrVAT12)
sdVlPrVAT13 0
sdVlPrVAT14 0
sdVlPrVAT15 0
sdVlPrVAT16 0
sdVlPrVAT17 0
sdVlPrVAT18 0
sdVlPrVAT19 0
sdVlPrVAT 0 (should be sdVlPrVAT20)

Discussion


  • Anonymous
    2009-11-17

    element_name_mangling

     
    Attachments
  • Michael Kay
    Michael Kay
    2009-11-17

    You seem to have misunderstood the specification of the translate() function. When you write translate(name(),'x002F',' '), the effect is to replace any occurrence of the characters underscore, x, 0, 2, or F by a single space.

    I've no idea what you thought this function call would do, so I can't really advise on how to rewrite it. I suspect you need to use the replace() function.

    Please note that the best place to get XSLT coding advice is the xsl-list at mulberrytech.com. Also, as a general piece of advice, it's usually a good idea to assume that when things don't work, the bug is in your code rather than someone else's, unless you have very strong evidence to the contrary.