static const char kSVGStyleSheetURI[] = "resource:   nsIDocument* doc = nsContentUtils::GetDocument(aNodeInfo); if (doc) doc->EnsureCatalogStyleSheet(kSVGStyleSheetURI);
NS_NewSVGElement(nsIContent** aResult, nsINodeInfo *aNodeInfo){  if (!SVGEnabled())    return NS_NewXMLElement(aResult, aNodeInfo);  nsIAtom *name = aNodeInfo->NameAtom();    if (name == nsSVGAtoms::polyline)    return NS_NewSVGPolylineElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::polygon)    return NS_NewSVGPolygonElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::circle)    return NS_NewSVGCircleElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::ellipse)    return NS_NewSVGEllipseElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::line)    return NS_NewSVGLineElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::rect)    return NS_NewSVGRectElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::svg)    return NS_NewSVGSVGElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::g)    return NS_NewSVGGElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::foreignObject)    return NS_NewSVGForeignObjectElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::path)    return NS_NewSVGPathElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::text)    return NS_NewSVGTextElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::tspan)    return NS_NewSVGTSpanElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::image)    return NS_NewSVGImageElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::style)    return NS_NewSVGStyleElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::linearGradient)    return NS_NewSVGLinearGradientElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::metadata)    return NS_NewSVGMetadataElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::radialGradient)    return NS_NewSVGRadialGradientElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::stop)    return NS_NewSVGStopElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::defs)    return NS_NewSVGDefsElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::desc)    return NS_NewSVGDescElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::script)    return NS_NewSVGScriptElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::use)    return NS_NewSVGUseElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::symbol)    return NS_NewSVGSymbolElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::marker)    return NS_NewSVGMarkerElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::title)    return NS_NewSVGTitleElement(aResult, aNodeInfo);  if (name == nsSVGAtoms::clipPath)    return NS_NewSVGClipPathElement(aResult, aNodeInfo);  // if we don't know what to create, just create a standard xml element:  return NS_NewXMLElement(aResult, aNodeInfo);}