- From: <bugzilla@wiggum.w3.org>
- Date: Thu, 31 Dec 2009 16:12:38 +0000
- To: www-xml-schema-comments@w3.org
http://www.w3.org/Bugs/Public/show_bug.cgi?id=8573 Summary: F.1 Stylesheet for chameleons invalid Product: XML Schema Version: 1.1 only Platform: PC OS/Version: Windows XP Status: NEW Severity: normal Priority: P2 Component: Structures: XSD Part 1 AssignedTo: David_E3@VERIFONE.com ReportedBy: hrennau@yahoo.de QAContact: www-xml-schema-comments@w3.org CC: cmsmcq@blackmesatech.com The stylesheet contains several errors, e.g. referencing the context item within a stylesheet function. Proposed correction as follows. Another issue - the stylesheets "forgets" to handle the attribute 'memberTypes' - is dealt with in a separate bug report. With kind regards - Hans-Juergen Rennau <xsl:transform version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:f="http://www.w3.org/2008/05/XMLSchema-misc"> <xsl:param name="newTargetNamespace" as="xs:anyURI" required="yes"/> <xsl:param name="prefixForTargetNamespace" as="xs:NCName" select="f:generateUniquePrefix(., 0)"/> <xsl:template match="@*|node()"> <xsl:copy><xsl:apply-templates select="@*|node()"/></xsl:copy> </xsl:template> <xsl:template match="xs:schema"> <xsl:copy> <xsl:namespace name="{$prefixForTargetNamespace}" select="$newTargetNamespace"/> <xsl:apply-templates select="@*"/> <xsl:attribute name="targetNamespace" select="$newTargetNamespace"/> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="attribute(*, xs:QName) [namespace-uri-from-QName(.)='']"> <xsl:attribute name="{name()}" select="concat($prefixForTargetNamespace, ':', local-name-from-QName(.))"/> </xsl:template> <xsl:function name="f:generateUniquePrefix" as="xs:NCName"> <xsl:param name="xsd"/> <xsl:param name="try" as="xs:integer"/> <xsl:variable name="disallowed" select="distinct-values($xsd//*/in-scope-prefixes(.))"/> <xsl:variable name="candidate" select="xs:NCName(concat('p', $try))"/> <xsl:sequence select="if ($candidate = $disallowed) then f:generateUniquePrefix($xsd, $try+1) else $candidate"/> </xsl:function> </xsl:transform> -- Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Received on Thursday, 31 December 2009 16:12:39 UTC