SI 1.0 decimal-format decimal-separator grouping-separator @*|node() @*|node() repeat-string string count group separator $count > 0 $string $group and $count > 1 and $count mod $group = 1 $separator repeat-string string $string count $count - 1 group $group separator $separator generate-number-format value . abs starts-with($value, '-') substring-after($value, '-') $value has-decimal contains($abs, '.') repeat-string string 0 count $has-decimal string-length(substring-before($abs, '.')) string-length($abs) group 3 separator $grouping-separator $has-decimal $decimal-separator repeat-string string 0 count string-length(substring-after($value, '.')) format-quantity-value value . format generate-number-format value $value format-number($value, $format, 'decimal-format') quantity quantityGroup @quantityGroupType = 'minimum' following-sibling::quantityGroup @quantityGroupType = 'maximum' preceding-sibling::quantityGroup quantityValue|quantityTolerance position() != 1 . @quantityUnitOfMeasure quantityValue format-quantity-value @quantityUnitOfMeasure quantityTolerance tolerance-type format-quantity-value @quantityUnitOfMeasure tolerance-type type @quantityToleranceType $type = 'plus' + $type = 'minus' - ± @quantityUnitOfMeasure . @quantityTypeSpecifics prefix @quantityTypeSpecifics postfix . @quantityTypeSpecifics @quantityTypeSpecifics prefix *|text()[normalize-space(.)!=''] @quantityTypeSpecifics @quantityTypeSpecifics postfix @quantityUnitOfMeasure . . . = ' ' @quantityTypeSpecifics prefix @quantityTypeSpecifics postfix . . . = ' ' . = ' '