1 设计:从db中取得xml字符串, 在页面端对其进行分析放到js对象(model)中,然后在页面显示
2 页面加载:xml-->model
显示:model-->html
修改:在html上修改,保存修改 html-->model,更新Dom model-->xml
3
页面加载:
var xmlString='<%=(String)request.getAttribute("XML_STRING")%>';
getDomObject();
getXML();
var prefixes = ["MSXML2.DomDocument", "Microsoft.XMLDOM", "MSXML.DomDocument", "MSXML3.DomDocument"];
function getDomObject(){
for (var i = 0; i < prefixes.length; i++) {
try{rootDoc = new ActiveXObject(prefixes[i]);}catch(ex){};
}
}
function getXML(){
isXmlReady=false;
//rootDoc.async = false;
rootDoc.loadXML(xmlString);
}
4 xml-->model 在页面body加载完成之后
var processDef = getNodeProcessDef();
var activitesArray = getActivityArray();
var transitionArray = getTransitionArray();
var node = rootDoc.selectSingleNode("//processDefinition"); //获得节点
node .getAttribute("processName"); //属性
//可以在path里指定参数
rootDoc.selectSingleNode("//processActivity[@activityId='xxx']/activityProcessId").text;
5 model-->html
var newRow = activityTableBody.insertRow();
var newCell = newRow.insertCell(0);
newCell.setAttribute("align","center");//设置<td>节点属性
newCell.innerHTML='xxxxxx..........';
6 小知识:
//模态对话框 可以在第二个参数里传递对象
window.showModalDialog("editActivity.jsp?index="+index, window, "resizable:yes;help:no;center:yes;dialogHeight:400px;dialogWidth:600px");
//取得参数
var parentWindow = window.dialogArguments;
7 使用 vml在线绘图。(The Vector Markup Language(矢量可标记语言))
http://www.itlearner.com/code/vml/
什么是vml? VML相当于IE里面的画笔,能实现你所想要的图形,而且结合脚本,可以让图形产生动态的效果。
在VML中使用两个基本的元素:shape和group。
这两个元素定义了VML的全部结构;shape描述一个矢量图形元素,而group用来将这些图形结合起来,这样它们可以作为一个整体进行处理
vml预定义得图形元素: Shape|Path|Line|Polyline|Curve|Rect|Roundrect|Oval|Arc|Group
由文本构成的图像,并可集成到HTML
VML的功能不只是绘图,他还可以在图形中嵌入文本,并可实现超链,还可通过脚本语言实现一定的动画功能。
VML 在firefox下是不被支持的,只能在IE浏览器或以IE为内核的浏览器才能用VML.
GML VML SVG比较:
GML(Geography Markup Language)是基于XML的空间信息编码标准,运用GML,封装的地理数据和图形解释是清楚分离的.
SVG(Scalable Vector Graphics)SVG是一种基于XML的开放的矢量图形描述语言,SVG是对PGML和VML的一种综合
优点:基于XML标准
高质量的矢量图像
由文本构成的图像