以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 XML工具及XML开发环境 』  (http://bbs.xml.org.cn/list.asp?boardid=7)
----  基于Web的Xml编辑器  (http://bbs.xml.org.cn/dispbbs.asp?boardid=7&rootid=&id=27372)


--  作者:snowrain
--  发布时间:2/17/2006 3:49:00 PM

--  基于Web的Xml编辑器
经过一段时间的攻关,终于拿下了基于Web的Xml编辑器,基本上能完成任意的Xml文件的编辑,但是需要Xml Schema定义文件的支持。

具体特性:

Xml Schema的继承--即一个Xml Schema可以从另一个Xml Schema继承而来
Xml Schema的嵌套--即一个Xml Schema中可包含0...n个其它Xml Schema(目前不支持自已包含自己,即要包含的下级Xml Schema中也不能包含自己)
每个项目(包括复合类型)都可以重复
重复添加的项目(包括复合类型都可以任意调整顺序)
嵌套层次不受限制
每个元素都可以有自己的属性
各种输入控件的支持--输入框,多行输入框,下拉,选择,检查框列表,单选框列表,列表框,文件上传,超文本编辑,等等


[此贴子已经被作者于2006-2-17 16:15:31编辑过]

--  作者:snowrain
--  发布时间:2/17/2006 3:54:00 PM

--  
示例:
本示例为假想的一个应用,仅是为了展示此工具的特性,而没有考虑是否合理。
假想要做一个文章管理列表,每篇文章都有标题及副标题,副标题可以有0..n个。
每篇文章都有1..n个作者,每个作者都有0..n个笔名,每个作者都有一个作品列表。

下面是定义描述:

作品定义:

 <ContentType id="TopicList">
 <Name>TopicList</Name>
 <Title>作品列表</Title>
 <Type></Type>
 <TypicallyAttribute>Title</TypicallyAttribute>
 <Properties>
  <Property name="id" default="uuid" caption="标识"></Property>
 </Properties>
 <Attributes>
  <Attribute name="Title" type="IT_TEXT" minNumber="1" maxNumber="10">
   <Title>标题</Title>
   <Description></Description>
   <InitialData></InitialData>
   <Format>
     <style>width:100%;</style>
   </Format>
   <Validations>
    <Validation>required</Validation>
   </Validations>
   <Properties>
    <Property name="id" default="uuid" caption="标识"></Property>
   </Properties>
  </Attribute>
  <Attribute name="Desc" type="IT_TEXTAREA">
   <Title>介绍</Title>
   <Description></Description>
   <InitialData></InitialData>
   <Format>
    <rows>5</rows>
    <style>width:100%;</style>
   </Format>
  </Attribute>
 </Attributes>
 </ContentType>


--  作者:snowrain
--  发布时间:2/17/2006 3:57:00 PM

--  
作者定义

 <ContentType id="Author">
  <Name>Author</Name>
  <Title>作者</Title>
  <Type></Type>
  <TypicallyAttribute>MainName</TypicallyAttribute>
  <Properties>
   <Property name="id" default="uuid" type="IT_TEXT" caption="标识"></Property>
   <Property name="type" default="abc" type="IT_COMBOBOX"  fromtype="ValueList" caption="类型">
    <ValueList>
     <Item value="China" text="中国"></Item>
     <Item value="America" text="美国"></Item>
     <Item value="Russion" text="俄罗斯"></Item>
     <Item value="Japanese" text="日本"></Item>
     <Item value="Other" text="其它"></Item>
    </ValueList>
   </Property>
   <Property name="name" default="名字" type="IT_TEXT" caption="名字"></Property>
  </Properties>
  <Attributes>
   <Attribute name="MainName" type="IT_TEXT">
    <Title>姓名</Title>
    <Description></Description>
    <InitialData></InitialData>
    <Format>
    </Format>
    <Validations>
     <Validation>required</Validation>
    </Validations>
   </Attribute>
   <Attribute name="Name" type="IT_TEXT" minNumber="1" maxNumber="-1">
    <Title>笔名</Title>
    <Description></Description>
    <InitialData></InitialData>
    <Format>
    </Format>
    <Validations>
     <Validation>required</Validation>
    </Validations>
   </Attribute>
   <Attribute name="Country" type="IT_COMBOBOX" fromtype="ValueList">
    <Title>国籍</Title>
    <Description></Description>
    <InitialData></InitialData>
    <Format></Format>
    <Validations>
     <Validation>required</Validation>
    </Validations>
    <ValueList>
     <Item value="China" text="中国"></Item>
     <Item value="America" text="美国"></Item>
     <Item value="Russion" text="俄罗斯"></Item>
     <Item value="Japanese" text="日本"></Item>
     <Item value="Other" text="其它"></Item>
    </ValueList>
   </Attribute>
   <Attribute name="Desc" type="IT_TEXTAREA">
    <Title>小传</Title>
    <Description></Description>
    <InitialData></InitialData>
    <Format>
     <rows>10</rows>
     <style>width:100%;</style>
    </Format>
    <Validations>
     <Validation>required</Validation>
    </Validations>
   </Attribute>
   <Attribute name="TopicList" type="TopicList" minNumber="1" maxNumber="10">
    <Title>作品列表</Title>
    <Description></Description>
    <InitialData></InitialData>
    <Format>
    </Format>
    <Validations>
     <Validation>required</Validation>
    </Validations>
   </Attribute>   
  </Attributes>
  <Views>
   <View>
   </View>
  </Views>
 </ContentType>

注意:

<Attribute name="TopicList" type="TopicList" minNumber="1" maxNumber="10">
表示文章列表是来自TopicList类型


--  作者:snowrain
--  发布时间:2/17/2006 3:58:00 PM

--  
文章的定义
 <ContentType id="Topic">
  <Name>Topic</Name>
  <Title>文章</Title>
  <Type></Type>
  <TypicallyAttribute>Title</TypicallyAttribute>
  <Attributes>
   <Attribute name="Title" type="IT_TEXT">
    <Title>主标题</Title>
    <Description></Description>
    <InitialData></InitialData>
    <Format>
     <style>width:100%;</style>
    </Format>
    <Validations>
     <Validation>required</Validation>
    </Validations>
   </Attribute>
   <Attribute name="Description" type="IT_TEXT" minNumber="1" maxNumber="5">
    <Title>副标题</Title>
    <Description></Description>
    <InitialData></InitialData>
    <Format>
     <style>width:100%;</style>
    </Format>
    <Validations>
     <Validation>required</Validation>
    </Validations>
   </Attribute>
   <Attribute name="Author" type="Author" minNumber="1" maxNumber="10">
    <Title>作者</Title>
    <Description></Description>
    <InitialData></InitialData>
    <Format>
    </Format>
    <Validations>
     <Validation>required</Validation>
    </Validations>
   </Attribute>   
   <Attribute name="Content" type="IT_RICHTEXTAREA">
    <Title>内容</Title>
    <Description></Description>
    <InitialData></InitialData>
    <Validations>
     <Validation>required</Validation>
    </Validations>
    <Format>
     <Width>"100%"</Width>
     <Height>300</Height>
     <Mode>ADVANCE</Mode>
     <width>"100%"</width>
     <height>300</height>
     <mode>ADVANCE</mode>
    </Format>
   </Attribute>
  </Attributes>
  <Views>
   <View>
   </View>
  </Views>
 </ContentType>

同理   <Attribute name="Author" type="Author" minNumber="1" maxNumber="10">说明作者是来自Author类型


--  作者:snowrain
--  发布时间:2/17/2006 4:03:00 PM

--  
这样,根据定义即可以进行编辑:
下面是编辑界面....
按此在新窗口浏览图片

--  作者:snowrain
--  发布时间:2/17/2006 4:06:00 PM

--  
下面是在各个可以重复添加的地方添加后的结果
按此在新窗口浏览图片
--  作者:snowrain
--  发布时间:2/17/2006 4:10:00 PM

--  
主要用途:

配置数据管理
元数据编辑
XML编辑
内容管理

欢迎各位坛友参与讨论


[此贴子已经被作者于2006-2-17 17:27:23编辑过]

--  作者:SATOKO2006
--  发布时间:2/17/2006 5:21:00 PM

--  
和AltovaXMLSPY和AltovaMapForce有啥子区别呢?
--  作者:snowrain
--  发布时间:2/17/2006 5:27:00 PM

--  
以下是引用SATOKO2006在2006-2-17 17:21:00的发言:
和AltovaXMLSPY和AltovaMapForce有啥子区别呢?


非常非常多的时候,你不能给你的客户一个AltovaXMLSPY来写XML,另外你不能让你的客户编辑XML再通过复杂的操作导入到数据库中。更多的时候,你可能需要更人性化的输入界面,让客户输入数据。或者,你要对客户的数据进行严格的数据验证。

此时,能提供给客户一个基于B/S结构的,能提供人性化录入界面,严格数据验证的工具就是比较迫切的了。


--  作者:wuwei2150
--  发布时间:12/4/2007 1:31:00 PM

--  
你好 对你的这WEB XML编辑器很感兴趣,想和你聊聊 加我的MSN:wuwei2150@hotmail.com
--  作者:tak
--  发布时间:1/12/2008 2:48:00 AM

--  
有没有基于html+js的浏览器上的xml编辑器?
--  作者:luqun
--  发布时间:4/12/2009 3:01:00 PM

--  
你好, 现在我也要做一个类似这样的编译器,对你的这WEB XML编辑器很感兴趣,很想跟你讨论讨论,我的qq是254090630
--  作者:cn
--  发布时间:4/12/2009 3:05:00 PM

--  
加我哦
W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
74.219ms