Subject: Re: [xsl] Processing schema attributes with leading zeros? From: Michael Kay <mike@xxxxxxxxxxxx> Date: Fri, 19 Oct 2012 17:36:46 +0100 |
Michael Kay Saxonica
I have the following elemnt content: <issdate year="2012" month="06" day="15"/>
When I process it with the following templates I get this result: <issueDate year="2012" month="6" day="15"/>
I'm trying to understand is why the leading 0 on the month was stripped.
The schema has this definition: <xs:element name="issdate" type="issdateType"/> <xs:complexType name="issdateType"> <xs:attributeGroup ref="DATE"/> </xs:complexType> <xs:attributeGroup name="DATE"> <xs:attribute ref="year" use="required"/> <xs:attribute ref="month" use="required"/> <xs:attribute ref="day" use="required"/> </xs:attributeGroup> <xs:attribute name="year" type="YEAR"/> <xs:simpleType name="YEAR"> <xs:restriction base="xs:gYear"> <xs:pattern value="\d{4}"/> </xs:restriction> </xs:simpleType> <xs:attribute name="month" type="MONTH"/> <xs:simpleType name="MONTH"> <xs:restriction base="xs:positiveInteger"> <xs:maxInclusive value="12"/> <xs:pattern value="\d{2}"/> </xs:restriction> </xs:simpleType> <xs:attribute name="day" type="DAY"/> <xs:simpleType name="DAY"> <xs:restriction base="xs:positiveInteger"> <xs:maxInclusive value="31"/> <xs:pattern value="\d{2}"/> </xs:restriction> </xs:simpleType>
This is processed with a template that has this:
<xsl:template mathc="issdate">
<!-- code to map old names to new names and set $newName removed, in this case issdate is mapped to issueDate -->
<xsl:element name="{$newName}"> <xsl:call-template name="processAttributes"/> <xsl:apply-templates/>
</xsl:element> </xsl:template>
<xsl:template name="prosessAttributes"> <xsl:for-each select="@*"> <!-- code to rename attributes removed --> <xsl:attribute name="{name()}" select="."/> </xsl:for-each> </xsl:template>
So basically my code is renaming the element and then just copying the attribute values through for this particular element. Why am I loosing the leading 0? I'd really like to avoid having to know what the content might be in all casses for attributes.
..dan
Current Thread |
---|
<- Previous | Index | Next -> |
---|---|---|
[xsl] Processing schema attributes , dvint | Thread | Re: [xsl] Processing schema attribu, Dan Vint |
[xsl] Processing schema attributes , dvint | Date | [xsl] Template for node-set parents, Darren Oh |
Month |