/*
 * THIS FILE WAS AUTOMATICALLY GENERATED, DO NOT EDIT.
 *
 * This file was generated by the dom/make_names.pl script.
 *
 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2013 Apple Inc.  All rights reserved.
 *
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY
 * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL APPLE INC. OR
 * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
 * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
 * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
 * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY
 * OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */

#ifndef DOM_SVGNames_h

#define DOM_SVGNames_h

#include "QualifiedName.h"

namespace WebCore {

class SVGQualifiedName : public QualifiedName { };

namespace SVGNames {

#ifndef DOM_SVG_NAMES_HIDE_GLOBALS

// Namespace
WEBCORE_EXPORT extern const WTF::AtomicString svgNamespaceURI;

// Tags
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName aTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName altGlyphTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName altGlyphDefTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName altGlyphItemTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName animateTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName animateColorTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName animateMotionTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName animateTransformTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName circleTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName clipPathTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName color_profileTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName cursorTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName defsTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName descTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName ellipseTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feBlendTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feColorMatrixTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feComponentTransferTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feCompositeTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feConvolveMatrixTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feDiffuseLightingTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feDisplacementMapTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feDistantLightTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feDropShadowTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feFloodTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feFuncATag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feFuncBTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feFuncGTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feFuncRTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feGaussianBlurTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feImageTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feMergeTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feMergeNodeTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feMorphologyTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feOffsetTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName fePointLightTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feSpecularLightingTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feSpotLightTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feTileTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName feTurbulenceTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName filterTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName fontTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName font_faceTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName font_face_formatTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName font_face_nameTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName font_face_srcTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName font_face_uriTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName foreignObjectTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName gTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName glyphTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName glyphRefTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName hkernTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName imageTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName lineTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName linearGradientTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName markerTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName maskTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName metadataTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName missing_glyphTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName mpathTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName pathTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName patternTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName polygonTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName polylineTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName radialGradientTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName rectTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName scriptTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName setTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName stopTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName styleTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName svgTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName switchTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName symbolTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName textTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName textPathTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName titleTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName trefTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName tspanTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName useTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName viewTag;
WEBCORE_EXPORT extern const WebCore::SVGQualifiedName vkernTag;
// Attributes
WEBCORE_EXPORT extern const WebCore::QualifiedName accent_heightAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName accumulateAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName additiveAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName alignment_baselineAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName alphabeticAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName amplitudeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName animateAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName arabic_formAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName ascentAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName attributeNameAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName attributeTypeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName azimuthAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName baseFrequencyAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName baseProfileAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName baseline_shiftAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName bboxAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName beginAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName biasAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName buffered_renderingAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName byAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName calcModeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName cap_heightAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName clipAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName clipPathUnitsAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName clip_pathAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName clip_ruleAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName colorAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName color_interpolationAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName color_interpolation_filtersAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName color_profileAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName color_renderingAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName contentScriptTypeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName contentStyleTypeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName cursorAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName cxAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName cyAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName dAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName descentAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName diffuseConstantAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName directionAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName displayAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName divisorAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName dominant_baselineAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName durAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName dxAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName dyAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName edgeModeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName elevationAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName enable_backgroundAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName endAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName exponentAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName externalResourcesRequiredAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName fillAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName fill_opacityAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName fill_ruleAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName filterAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName filterResAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName filterUnitsAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName flood_colorAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName flood_opacityAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName font_familyAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName font_sizeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName font_size_adjustAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName font_stretchAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName font_styleAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName font_variantAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName font_weightAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName formatAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName frAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName fromAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName fxAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName fyAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName g1Attr;
WEBCORE_EXPORT extern const WebCore::QualifiedName g2Attr;
WEBCORE_EXPORT extern const WebCore::QualifiedName glyphRefAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName glyph_nameAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName glyph_orientation_horizontalAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName glyph_orientation_verticalAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName gradientTransformAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName gradientUnitsAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName hangingAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName heightAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName horiz_adv_xAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName horiz_origin_xAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName horiz_origin_yAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName ideographicAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName image_renderingAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName inAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName in2Attr;
WEBCORE_EXPORT extern const WebCore::QualifiedName interceptAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName kAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName k1Attr;
WEBCORE_EXPORT extern const WebCore::QualifiedName k2Attr;
WEBCORE_EXPORT extern const WebCore::QualifiedName k3Attr;
WEBCORE_EXPORT extern const WebCore::QualifiedName k4Attr;
WEBCORE_EXPORT extern const WebCore::QualifiedName kernelMatrixAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName kernelUnitLengthAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName kerningAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName keyPointsAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName keySplinesAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName keyTimesAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName langAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName lengthAdjustAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName letter_spacingAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName lighting_colorAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName limitingConeAngleAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName localAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName markerHeightAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName markerUnitsAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName markerWidthAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName marker_endAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName marker_midAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName marker_startAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName maskAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName maskContentUnitsAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName maskUnitsAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName mask_typeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName mathematicalAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName maxAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName mediaAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName methodAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName minAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName modeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName nameAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName numOctavesAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName offsetAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName onbeginAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName onendAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName onzoomAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName opacityAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName operatorAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName orderAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName orientAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName orientationAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName originAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName overflowAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName overline_positionAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName overline_thicknessAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName paint_orderAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName panose_1Attr;
WEBCORE_EXPORT extern const WebCore::QualifiedName pathAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName pathLengthAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName patternContentUnitsAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName patternTransformAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName patternUnitsAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName pointer_eventsAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName pointsAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName pointsAtXAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName pointsAtYAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName pointsAtZAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName preserveAlphaAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName preserveAspectRatioAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName primitiveUnitsAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName rAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName radiusAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName refXAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName refYAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName rendering_intentAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName repeatCountAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName repeatDurAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName requiredExtensionsAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName requiredFeaturesAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName restartAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName resultAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName rotateAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName rxAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName ryAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName scaleAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName seedAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName shape_renderingAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName slopeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName spacingAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName specularConstantAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName specularExponentAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName spreadMethodAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName startOffsetAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName stdDeviationAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName stemhAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName stemvAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName stitchTilesAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName stop_colorAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName stop_opacityAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName strikethrough_positionAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName strikethrough_thicknessAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName strokeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName stroke_dasharrayAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName stroke_dashoffsetAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName stroke_linecapAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName stroke_linejoinAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName stroke_miterlimitAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName stroke_opacityAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName stroke_widthAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName styleAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName surfaceScaleAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName systemLanguageAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName tableValuesAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName targetAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName targetXAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName targetYAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName textLengthAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName text_anchorAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName text_decorationAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName text_renderingAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName titleAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName toAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName transformAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName transform_originAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName typeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName u1Attr;
WEBCORE_EXPORT extern const WebCore::QualifiedName u2Attr;
WEBCORE_EXPORT extern const WebCore::QualifiedName underline_positionAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName underline_thicknessAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName unicodeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName unicode_bidiAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName unicode_rangeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName units_per_emAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName v_alphabeticAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName v_hangingAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName v_ideographicAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName v_mathematicalAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName valuesAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName vector_effectAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName versionAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName vert_adv_yAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName vert_origin_xAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName vert_origin_yAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName viewBoxAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName viewTargetAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName visibilityAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName widthAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName widthsAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName word_spacingAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName writing_modeAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName xAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName x1Attr;
WEBCORE_EXPORT extern const WebCore::QualifiedName x2Attr;
WEBCORE_EXPORT extern const WebCore::QualifiedName xChannelSelectorAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName x_heightAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName yAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName y1Attr;
WEBCORE_EXPORT extern const WebCore::QualifiedName y2Attr;
WEBCORE_EXPORT extern const WebCore::QualifiedName yChannelSelectorAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName zAttr;
WEBCORE_EXPORT extern const WebCore::QualifiedName zoomAndPanAttr;
#endif

const unsigned SVGTagsCount = 81;
const WebCore::SVGQualifiedName* const* getSVGTags();
const unsigned SVGAttrsCount = 244;
const WebCore::QualifiedName* const* getSVGAttrs();

WEBCORE_EXPORT void init();

} }

#endif

