Page Menu
Home
Musing Studio
Search
Configure Global Search
Log In
Files
F12142458
foreign.go
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Award Token
Flag For Later
Size
6 KB
Subscribers
None
foreign.go
View Options
// Copyright 2011 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.
package
html
import
(
"strings"
)
func
adjustAttributeNames
(
aa
[]
Attribute
,
nameMap
map
[
string
]
string
)
{
for
i
:=
range
aa
{
if
newName
,
ok
:=
nameMap
[
aa
[
i
].
Key
];
ok
{
aa
[
i
].
Key
=
newName
}
}
}
func
adjustForeignAttributes
(
aa
[]
Attribute
)
{
for
i
,
a
:=
range
aa
{
if
a
.
Key
==
""
||
a
.
Key
[
0
]
!=
'x'
{
continue
}
switch
a
.
Key
{
case
"xlink:actuate"
,
"xlink:arcrole"
,
"xlink:href"
,
"xlink:role"
,
"xlink:show"
,
"xlink:title"
,
"xlink:type"
,
"xml:base"
,
"xml:lang"
,
"xml:space"
,
"xmlns:xlink"
:
j
:=
strings
.
Index
(
a
.
Key
,
":"
)
aa
[
i
].
Namespace
=
a
.
Key
[:
j
]
aa
[
i
].
Key
=
a
.
Key
[
j
+
1
:]
}
}
}
func
htmlIntegrationPoint
(
n
*
Node
)
bool
{
if
n
.
Type
!=
ElementNode
{
return
false
}
switch
n
.
Namespace
{
case
"math"
:
if
n
.
Data
==
"annotation-xml"
{
for
_
,
a
:=
range
n
.
Attr
{
if
a
.
Key
==
"encoding"
{
val
:=
strings
.
ToLower
(
a
.
Val
)
if
val
==
"text/html"
||
val
==
"application/xhtml+xml"
{
return
true
}
}
}
}
case
"svg"
:
switch
n
.
Data
{
case
"desc"
,
"foreignObject"
,
"title"
:
return
true
}
}
return
false
}
func
mathMLTextIntegrationPoint
(
n
*
Node
)
bool
{
if
n
.
Namespace
!=
"math"
{
return
false
}
switch
n
.
Data
{
case
"mi"
,
"mo"
,
"mn"
,
"ms"
,
"mtext"
:
return
true
}
return
false
}
// Section 12.2.6.5.
var
breakout
=
map
[
string
]
bool
{
"b"
:
true
,
"big"
:
true
,
"blockquote"
:
true
,
"body"
:
true
,
"br"
:
true
,
"center"
:
true
,
"code"
:
true
,
"dd"
:
true
,
"div"
:
true
,
"dl"
:
true
,
"dt"
:
true
,
"em"
:
true
,
"embed"
:
true
,
"h1"
:
true
,
"h2"
:
true
,
"h3"
:
true
,
"h4"
:
true
,
"h5"
:
true
,
"h6"
:
true
,
"head"
:
true
,
"hr"
:
true
,
"i"
:
true
,
"img"
:
true
,
"li"
:
true
,
"listing"
:
true
,
"menu"
:
true
,
"meta"
:
true
,
"nobr"
:
true
,
"ol"
:
true
,
"p"
:
true
,
"pre"
:
true
,
"ruby"
:
true
,
"s"
:
true
,
"small"
:
true
,
"span"
:
true
,
"strong"
:
true
,
"strike"
:
true
,
"sub"
:
true
,
"sup"
:
true
,
"table"
:
true
,
"tt"
:
true
,
"u"
:
true
,
"ul"
:
true
,
"var"
:
true
,
}
// Section 12.2.6.5.
var
svgTagNameAdjustments
=
map
[
string
]
string
{
"altglyph"
:
"altGlyph"
,
"altglyphdef"
:
"altGlyphDef"
,
"altglyphitem"
:
"altGlyphItem"
,
"animatecolor"
:
"animateColor"
,
"animatemotion"
:
"animateMotion"
,
"animatetransform"
:
"animateTransform"
,
"clippath"
:
"clipPath"
,
"feblend"
:
"feBlend"
,
"fecolormatrix"
:
"feColorMatrix"
,
"fecomponenttransfer"
:
"feComponentTransfer"
,
"fecomposite"
:
"feComposite"
,
"feconvolvematrix"
:
"feConvolveMatrix"
,
"fediffuselighting"
:
"feDiffuseLighting"
,
"fedisplacementmap"
:
"feDisplacementMap"
,
"fedistantlight"
:
"feDistantLight"
,
"feflood"
:
"feFlood"
,
"fefunca"
:
"feFuncA"
,
"fefuncb"
:
"feFuncB"
,
"fefuncg"
:
"feFuncG"
,
"fefuncr"
:
"feFuncR"
,
"fegaussianblur"
:
"feGaussianBlur"
,
"feimage"
:
"feImage"
,
"femerge"
:
"feMerge"
,
"femergenode"
:
"feMergeNode"
,
"femorphology"
:
"feMorphology"
,
"feoffset"
:
"feOffset"
,
"fepointlight"
:
"fePointLight"
,
"fespecularlighting"
:
"feSpecularLighting"
,
"fespotlight"
:
"feSpotLight"
,
"fetile"
:
"feTile"
,
"feturbulence"
:
"feTurbulence"
,
"foreignobject"
:
"foreignObject"
,
"glyphref"
:
"glyphRef"
,
"lineargradient"
:
"linearGradient"
,
"radialgradient"
:
"radialGradient"
,
"textpath"
:
"textPath"
,
}
// Section 12.2.6.1
var
mathMLAttributeAdjustments
=
map
[
string
]
string
{
"definitionurl"
:
"definitionURL"
,
}
var
svgAttributeAdjustments
=
map
[
string
]
string
{
"attributename"
:
"attributeName"
,
"attributetype"
:
"attributeType"
,
"basefrequency"
:
"baseFrequency"
,
"baseprofile"
:
"baseProfile"
,
"calcmode"
:
"calcMode"
,
"clippathunits"
:
"clipPathUnits"
,
"contentscripttype"
:
"contentScriptType"
,
"contentstyletype"
:
"contentStyleType"
,
"diffuseconstant"
:
"diffuseConstant"
,
"edgemode"
:
"edgeMode"
,
"externalresourcesrequired"
:
"externalResourcesRequired"
,
"filterres"
:
"filterRes"
,
"filterunits"
:
"filterUnits"
,
"glyphref"
:
"glyphRef"
,
"gradienttransform"
:
"gradientTransform"
,
"gradientunits"
:
"gradientUnits"
,
"kernelmatrix"
:
"kernelMatrix"
,
"kernelunitlength"
:
"kernelUnitLength"
,
"keypoints"
:
"keyPoints"
,
"keysplines"
:
"keySplines"
,
"keytimes"
:
"keyTimes"
,
"lengthadjust"
:
"lengthAdjust"
,
"limitingconeangle"
:
"limitingConeAngle"
,
"markerheight"
:
"markerHeight"
,
"markerunits"
:
"markerUnits"
,
"markerwidth"
:
"markerWidth"
,
"maskcontentunits"
:
"maskContentUnits"
,
"maskunits"
:
"maskUnits"
,
"numoctaves"
:
"numOctaves"
,
"pathlength"
:
"pathLength"
,
"patterncontentunits"
:
"patternContentUnits"
,
"patterntransform"
:
"patternTransform"
,
"patternunits"
:
"patternUnits"
,
"pointsatx"
:
"pointsAtX"
,
"pointsaty"
:
"pointsAtY"
,
"pointsatz"
:
"pointsAtZ"
,
"preservealpha"
:
"preserveAlpha"
,
"preserveaspectratio"
:
"preserveAspectRatio"
,
"primitiveunits"
:
"primitiveUnits"
,
"refx"
:
"refX"
,
"refy"
:
"refY"
,
"repeatcount"
:
"repeatCount"
,
"repeatdur"
:
"repeatDur"
,
"requiredextensions"
:
"requiredExtensions"
,
"requiredfeatures"
:
"requiredFeatures"
,
"specularconstant"
:
"specularConstant"
,
"specularexponent"
:
"specularExponent"
,
"spreadmethod"
:
"spreadMethod"
,
"startoffset"
:
"startOffset"
,
"stddeviation"
:
"stdDeviation"
,
"stitchtiles"
:
"stitchTiles"
,
"surfacescale"
:
"surfaceScale"
,
"systemlanguage"
:
"systemLanguage"
,
"tablevalues"
:
"tableValues"
,
"targetx"
:
"targetX"
,
"targety"
:
"targetY"
,
"textlength"
:
"textLength"
,
"viewbox"
:
"viewBox"
,
"viewtarget"
:
"viewTarget"
,
"xchannelselector"
:
"xChannelSelector"
,
"ychannelselector"
:
"yChannelSelector"
,
"zoomandpan"
:
"zoomAndPan"
,
}
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Thu, Oct 9, 9:34 PM (16 h, 36 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
3437931
Attached To
rWCLI writeas-cli
Event Timeline
Log In to Comment