// parse the rx attribute, (required and must be positive)
s = svgElement.getAttributeNS(null, ATTR_RX);
float rx;
if (s.length() == 0) {
throw new MissingAttributeException(
Messages.formatMessage("ellipse.rx.required", null));
} else {
rx = SVGUtilities.svgToUserSpace(svgElement,
ATTR_RX, s,
uctx,
UnitProcessor.HORIZONTAL_LENGTH);
if (rx < 0) {
throw new IllegalAttributeValueException(
Messages.formatMessage("ellipse.rx.negative", null));
}
}
// parse the ry attribute, (required and must be positive)
s = svgElement.getAttributeNS(null, ATTR_RY);
float ry;
if (s.length() == 0) {
throw new MissingAttributeException(
Messages.formatMessage("ellipse.ry.required", null));
} else {
ry = SVGUtilities.svgToUserSpace(svgElement,
ATTR_RY, s,
uctx,