标题：矢量标记语言
VML基础
VML相当于IE里面的画笔，能实现你所想要的图形，而且结合脚本，可以让图形产生动态的效果。VML是微软1999年9月附带IE5.0发布的，在我认为， VML其实是Word和HTML结合的产物。可以将Word文档另存为HTML，其中的文本和图片可以很容易的转换，但如果是手绘制的图形在以往的IE里面就无法解释了，如果都转换成图形文件又不太现实。于是微软把Word里面的图形控件结合到IE里面，使IE也具备了绘图功能。
VML的全称是Vector Markup Language(矢量可标记语言)，矢量的图形，意味着图形可以任意放大缩小而不损失图形的质量，这在制作地图上有很大用途。
VML的元素包括：SHAPE、LINE、POLYLINE、RECT、ROUNDRECT、OVAL、IMAGE、GROUP等，用这些对象，可以在WEB页面中通过JAVASCRIPT动态生成各种图形，如：数据图表、矢量地图等。
刚开始学习的时候，看了帮助资料之后，觉得通过JAVASCRIPT动态生成各种图形很容易，但是真正使用的时候，遇到了各种问题，才知道，VML也不是那么好控制。其中遇到的最大的问题是加TEXTBOX文本对象（一般与矩形控件或者LINE控件结合，用TEXTBOX控件来做介绍）的时候，文字显示不出来。
通过自己多次的试验，终于找到了动态生成TEXTBOX对象的方法，好东西不敢独享，特总结出来，与大家共勉。代码如下：
//新建一个VML圆角矩形结点
//aStrLeft：矩形左边坐标；aStrTop：矩形顶部坐标；aStrWidth：矩形宽度；
//aStrHeight：矩形高度；aStrID：结点ID；aStrText：结点内容；aStrAlt：结点提示；
function createItem (aStrLeft, aStrTop, aStrWidth, aStrHeight, aStrID, aStrText, aStrAlt)
{
var strRoundRect = "<vml:roundrect title='" + aStrAlt + "' id='" + aStrID
+ "' fillcolor='#EEEEEE' style='LEFT: " + aStrLeft + "px; TOP:" + aStrTop
+ "px; WIDTH: " + aStrWidth + "; POSITION: absolute; HEIGHT: " + aStrHeight
+ ";vertical-align:middle;CURSOR:hand;TEXT-ALIGN:center;z-index:1'>"
+ "</vml:roundrect>";
var strText = "<vml:textbox id='txt" + aStrID + "' onselectstart='return false;'>"
+ "</vml:textbox>";
var objRoundRect = document.createElement (strRoundRect);
var objText = document.createElement (strText);
objText.innerHTML = aStrText;
objRoundRect.insertBefore (objText);
document.forms[0].insertBefore (objRoundRect);
}
//新建一个Line对象
//aStrSource：Line对象的缘；aStrObject：Line对象的目标；
//（即从哪到哪画一条直线）
function createLine (aStrSource, aStrObject)
{
var strLine = "<vml:line source='" + aStrSource + "' object='" + aStrObject + "'>"
+ "</vml:line>";
var strStroke = "<vml:stroke endarrow='Classic'></vml:stroke>";
var objLine = document.createElement (strLine);
var objStroke = document.createElement (strStroke);
objLine.insertBefore (objStroke);
document.forms[0].insertBefore (objLine);
drawLine ();
}
以上是创建圆角矩形结点（包括文字介绍）与直线对象的两个比较简单的方法。
VML安全漏洞
发布日期： 八月 14, 2007
版本： 1.0
摘要：
此安全更新可解决 Windows 上矢量标记语言 (VML) 实施中的秘密报告的漏洞。 如果用户使用 Internet Explorer 查看特制网页，此漏洞可能允许远程执行代码。 那些帐户被配置为拥有较少系统用户权限的用户比具有管理用户权限的用户受到的影响要小。
对于受支持版本 Internet Explorer 5.01、Internet Explorer 6 和 Internet Explorer 7，此安全更新等级为“严重”。
此安全更新通过加强验证在 Internet Explorer 中呈现 VML 的请求来消除该漏洞。 
建议。 Microsoft 建议用户立即应用此更新。
受影响的软件
操作系统 组件 最大安全影响 综合严重程度等级 此更新替代的公告 
Internet Explorer 5.01 和 Internet Explorer 6 Service Pack 1 
Microsoft Windows 2000 Service Pack 4
Microsoft Internet Explorer 5.01 Service Pack 4
远程执行代码
严重
MS07-004
Microsoft Windows 2000 Service Pack 4
Microsoft Internet Explorer 6 Service Pack 1
远程执行代码
严重
MS07-004
Internet Explorer 6 
Windows XP Service Pack 2
Microsoft Internet Explorer 6
远程执行代码
严重
MS07-004
Windows XP Professional x64 Edition 和 Windows XP Professional x64 Edition Service Pack 2
Microsoft Internet Explorer 6
远程执行代码
严重
MS07-004
Windows Server 2003 Service Pack 1 和 Windows Server 2003 Service Pack 2
Microsoft Internet Explorer 6
远程执行代码
严重
MS07-004
Windows Server 2003 x64 Edition 和 Windows Server 2003 x64 Edition Service Pack 2
Microsoft Internet Explorer 6
远程执行代码
严重
MS07-004
Windows Server 2003 SP1（用于基于 Itanium 的系统）以及 Windows Server 2003 SP2（用于基于 Itanium 的系统）
Microsoft Internet Explorer 6
远程执行代码
严重
MS07-004
Internet Explorer 7 
Windows XP Service Pack 2
Windows Internet Explorer 7
远程执行代码
严重
MS07-004
Windows XP Professional x64 Edition 和 Windows XP Professional x64 Edition Service Pack 2
Windows Internet Explorer 7
远程执行代码
严重
MS07-004
Windows Server 2003 Service Pack 1 和 Windows Server 2003 Service Pack 2
Windows Internet Explorer 7
远程执行代码
严重
MS07-004
Windows Server 2003 x64 Edition 和 Windows Server 2003 x64 Edition Service Pack 2
Windows Internet Explorer 7
远程执行代码
严重
MS07-004
Windows Server 2003 SP1（用于基于 Itanium 的系统）以及 Windows Server 2003 SP2（用于基于 Itanium 的系统）
Windows Internet Explorer 7
远程执行代码
严重
MS07-004
Windows Vista
Windows Internet Explorer 7
远程执行代码
严重
无
Windows Vista x64 Edition
Windows Internet Explorer 7
远程执行代码
严重
无