———————————实现原理
xsd视图化,主要是根据xsd文档把内容翻译出来,可读性比较强。
xml编辑,支持自由编辑,核心步骤如下3步:
1、打开文件
2、操作文件(根据每个注释,进行信息更新处理。视图呈现也是以注释为核心)
3、保存文件
——————————–注意事项
1、注释不能重复,否则出现内存溢出等现象,size。indexof。
2、升级维护时注意:思路要清晰,里面用到有序的对象嵌套对象、迭代、注释为核心的阶段性处理
3、目前产品结果,文档语言视图化xml、自由编辑。结合实际xsd自测没问题,但是还没实际应用。
——————————-核心示例代码如下
jsp
<body>
<div class="col-sm-12" style="position:fixed;z-index: 1000;height:65px;border-bottom: 1px solid #337ab7;background-color: #f3f3f3;padding-top: 15px;">
<div class="col-sm-6 col-sm-offset-3">
<div class="pull-left search" style="margin: 0px 10px; position: relative;">
<select id="fileType" name="fileType" class="form-control" id="changeChooseAreaType" onchange="getFileName();">
<option value="0">请选择文件类型</option>
<option value="1">1......xsd</option>
<option value="2">2......xsd</option>
<option value="3">3......xsd</option>
<option value="4">4......xsd</option>
<option value="5">5......xsd</option>
<option value="6">6......xsd</option>
<option value="7">7......xsd</option>
<option value="8">8......xsd</option>
<option value="9">9......xsd</option>
<select>
</div>
<div class="pull-left search" style="margin: 0px 10px; position: relative;">
<select id="bwName" name="bwName" class="form-control" id="changeChooseAreaType">
<option value="0">请选择报文名称</option>
<select>
</div>
<button type="button" onclick="qd();" class="btn btn-primary dropdown-toggle"><span class="fa fa-th-list fa-fw"></span>确定</button>
</div>
</div>
<div class="search col-sm-12" style="margin: 80px 10px 50px 20px; position: relative;" id="content" name="content"></div>
</body>
js
/**
* 初始化
*/
var currentProjectPath='';
$(function() {
//获取当前路径
currentProjectPath = window.document.location.href.substring(0, window.document.location.href.indexOf(window.document.location.pathname ) )+ window.document.location.pathname.substring( 0, window.document.location.pathname.substr( 1 ).indexOf( '/' ) + 1 );
//初始化select下拉列表框
getFileName();
});
/**
* 确定按钮
*/
function qd(){
//获取报文名称
var bwname=$("#bwName ").val();
//清空数据
$('#content').html("");
//根据报文名称,检索报文内容
$.ajax({
type: 'POST',
data: {bwname:bwname},
url:currentProjectPath+"/schemeChange/readFileContent2.do",
dataType: "json",
crossDomain: true,
xhrFields: {
withCredentials: true
},
error: function(e) {
},
success: function(datas) {
//声明对象
var groups='';
var comments;//注释
var name;//元素名称
var type;//元素类型
var value="";//元素接受值
var typeobj;//元素类型绑定对象