<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>days of linnchord &#187; xml</title>
	<atom:link href="http://linnchord.net/archives/tag/xml/feed" rel="self" type="application/rss+xml" />
	<link>http://linnchord.net</link>
	<description>南台静坐 : : :</description>
	<lastBuildDate>Thu, 17 Jun 2010 05:43:40 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>CSS设计器之XML样式属性定义</title>
		<link>http://linnchord.net/archives/130.html</link>
		<comments>http://linnchord.net/archives/130.html#comments</comments>
		<pubDate>Tue, 27 Apr 2004 19:52:00 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[设计]]></category>
		<category><![CDATA[软件开发]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[netsoft]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://linnchord.net/2004/04/css%e8%ae%be%e8%ae%a1%e5%99%a8%e4%b9%8bxml%e6%a0%b7%e5%bc%8f%e5%b1%9e%e6%80%a7%e5%ae%9a%e4%b9%89/</guid>
		<description><![CDATA[CSS样式中包含很多属性，设计器中当然要包含相应的属性类型；那么这些属性信息从哪里来呢？ 采用XML定义是一种很自然就会想到的方式。 经常使用DW和VS.NET，所以在交互设计上采用了类似的模式；先将样式属性分类，再设置详细属性。 CSS属性是比较复杂的，如果要完全按照DW或VS.NET的模式，实现会比较复杂。为了简化，我把值的输入简化为两种形式，选择和文本输入。对于选择，直接在XML文件中定义；对于文本输入，抽象几种输入类型，在设计器生成时根据类型设定不同的HTC组件操作。这样就将一些复杂的属性输入封装到 HTC组件中，整个构架就简洁起来。 XML文件描述 首先是属性分类 &#60;cssdesign&#62; &#60;category&#62; &#60;name&#62;文字&#60;/name&#62; &#60;style&#62; &#60;name&#62;字体&#60;/name&#62; ...... &#60;/style&#62; &#60;style&#62; &#60;name&#62;样式&#60;/name&#62; ...... &#60;/style&#62; ...... &#60;/category&#62; &#60;category&#62; &#60;name&#62;背景&#60;/name&#62; &#60;style&#62; &#60;name&#62;颜色&#60;/name&#62; ...... &#60;/style&#62; ...... &#60;/category&#62; &#60;/cssdesign&#62; 系统分为文字、背景、文本、位置、布局、方框、边框和其他，每种类型有一个Name子元素和若干Style子元素。 每个Style子元素表示一个Style属性，结构如下 &#60;style&#62; &#60;name&#62;字体&#60;/name&#62; &#60;cssName&#62;font-family&#60;/cssName&#62; &#60;actionType&#62;select&#60;/actionType&#62; &#60;selectItems&#62; &#60;item&#62;verdana,arial&#60;/item&#62; &#60;item Name="宋体"&#62;SimSun&#60;/item&#62; &#60;item Name="黑体"&#62;SimHei&#60;/item&#62; &#60;/selectItems&#62; &#60;/style&#62; &#60;style&#62; &#60;name&#62;大小&#60;/name&#62; &#60;cssName&#62;font-size&#60;/cssName&#62; &#60;actionType&#62;select&#60;/actionType&#62; &#60;selectItems&#62; &#60;item&#62;12px&#60;/item&#62; &#60;item&#62;14px&#60;/item&#62; &#60;item&#62;9px&#60;/item&#62; &#60;/selectItems&#62; &#60;/style&#62; &#60;style&#62; &#60;name&#62;颜色&#60;/name&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>CSS样式中包含很多属性，设计器中当然要包含相应的属性类型；那么这些属性信息从哪里来呢？</p>
<p>采用XML定义是一种很自然就会想到的方式。</p>
<p>经常使用DW和VS.NET，所以在交互设计上采用了类似的模式；先将样式属性分类，再设置详细属性。</p>
<p>CSS属性是比较复杂的，如果要完全按照DW或VS.NET的模式，实现会比较复杂。为了简化，我把值的输入简化为两种形式，选择和文本输入。对于选择，直接在XML文件中定义；对于文本输入，抽象几种输入类型，在设计器生成时根据类型设定不同的HTC组件操作。这样就将一些复杂的属性输入封装到 HTC组件中，整个构架就简洁起来。</p>
<p>XML文件描述</p>
<p>首先是属性分类</p>
<pre>
<span style="color: #000080; font-weight: bold;">&lt;cssdesign&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;category&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;name&gt;</span>文字<span style="color: #000080; font-weight: bold;">&lt;/name&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;style&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;name&gt;</span>字体<span style="color: #000080; font-weight: bold;">&lt;/name&gt;</span>
......
<span style="color: #000080; font-weight: bold;">&lt;/style&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;style&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;name&gt;</span>样式<span style="color: #000080; font-weight: bold;">&lt;/name&gt;</span>
......
<span style="color: #000080; font-weight: bold;">&lt;/style&gt;</span>
......
<span style="color: #000080; font-weight: bold;">&lt;/category&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;category&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;name&gt;</span>背景<span style="color: #000080; font-weight: bold;">&lt;/name&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;style&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;name&gt;</span>颜色<span style="color: #000080; font-weight: bold;">&lt;/name&gt;</span>
......
<span style="color: #000080; font-weight: bold;">&lt;/style&gt;</span>
......
<span style="color: #000080; font-weight: bold;">&lt;/category&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;/cssdesign&gt;</span>
</pre>
<p>系统分为文字、背景、文本、位置、布局、方框、边框和其他，每种类型有一个Name子元素和若干Style子元素。</p>
<p>每个Style子元素表示一个Style属性，结构如下</p>
<pre>
<span style="color: #000080; font-weight: bold;">&lt;style&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;name&gt;</span>字体<span style="color: #000080; font-weight: bold;">&lt;/name&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;cssName&gt;</span>font-family<span style="color: #000080; font-weight: bold;">&lt;/cssName&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;actionType&gt;</span>select<span style="color: #000080; font-weight: bold;">&lt;/actionType&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;selectItems&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;item&gt;</span>verdana,arial<span style="color: #000080; font-weight: bold;">&lt;/item&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;item</span> <span style="color: #ff0000;">Name=</span><span style="color: #0000ff;">"宋体"</span><span style="color: #000080; font-weight: bold;">&gt;</span>SimSun<span style="color: #000080; font-weight: bold;">&lt;/item&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;item</span> <span style="color: #ff0000;">Name=</span><span style="color: #0000ff;">"黑体"</span><span style="color: #000080; font-weight: bold;">&gt;</span>SimHei<span style="color: #000080; font-weight: bold;">&lt;/item&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;/selectItems&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;/style&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;style&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;name&gt;</span>大小<span style="color: #000080; font-weight: bold;">&lt;/name&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;cssName&gt;</span>font-size<span style="color: #000080; font-weight: bold;">&lt;/cssName&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;actionType&gt;</span>select<span style="color: #000080; font-weight: bold;">&lt;/actionType&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;selectItems&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;item&gt;</span>12px<span style="color: #000080; font-weight: bold;">&lt;/item&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;item&gt;</span>14px<span style="color: #000080; font-weight: bold;">&lt;/item&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;item&gt;</span>9px<span style="color: #000080; font-weight: bold;">&lt;/item&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;/selectItems&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;/style&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;style&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;name&gt;</span>颜色<span style="color: #000080; font-weight: bold;">&lt;/name&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;cssName&gt;</span>background<span style="color: #000080; font-weight: bold;">&lt;/cssName&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;actionType&gt;</span>input_ColorSelect<span style="color: #000080; font-weight: bold;">&lt;/actionType&gt;</span>
<span style="color: #000080; font-weight: bold;">&lt;/style&gt;</span>
</pre>
<p><strong>Name</strong>为该属性的描述名称，在设计器中为文本描述；</p>
<p><strong>CssName</strong>为属性名，在设计器中即输入字段的ID；</p>
<p><strong>ActionType</strong>为属性设置方法，在设计器中为输入字段的样式类名，该样式中含有Behavior属性，制定HTC组件；</p>
<p><strong>SelectItems</strong>为选择项，如果ActionType为Select，将会在此列出选择项；其子元素Item如果含有Name属性，将显示在设计器中，否则直接显示该元素的文本内容</p>
<p><strong>框架图</strong></p>
<p><a href="http://linnchord.net/upload/x2blog/img/cssxml.gif" target="_blank"><img src="http://linnchord.net/upload/x2blog/img/cssxml_s.gif" border="0" alt="" /></a></p>
<p><a href="http://linnchord.net/upload/x2blog/code/css.rar">XML源文件</a></p>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/130.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XML/XSL实现界面自定义</title>
		<link>http://linnchord.net/archives/143.html</link>
		<comments>http://linnchord.net/archives/143.html#comments</comments>
		<pubDate>Tue, 24 Feb 2004 14:45:00 +0000</pubDate>
		<dc:creator>linnchord</dc:creator>
				<category><![CDATA[软件开发]]></category>
		<category><![CDATA[netsoft]]></category>
		<category><![CDATA[xml]]></category>
		<category><![CDATA[xsl]]></category>

		<guid isPermaLink="false">http://linnchord.net/2004/02/xmlxsl%e5%ae%9e%e7%8e%b0%e7%95%8c%e9%9d%a2%e8%87%aa%e5%ae%9a%e4%b9%89/</guid>
		<description><![CDATA[最近比较忙&#8230;&#8230; 公司的项目目前进入了代码开发阶段，不过很多构架设计上的东西都还不清楚，我觉得应该还算是设计阶段。 目前系统要实现完全自定义界面，按项目经理说这个搞出来了，后面的业务界面就不用每个开发了。界面的实现方式是XML/XSLT/CSS的实现，而且最后要达到可视化设计实现。项目经理描述的是，针对不同的业务逻辑，产生不同的XML，然后用匹配的XSLT进行解释，生成aspx页面。 坦白的说，这个描述是不是反映了项目经理的原意，我也不太清楚，因为我一直也没弄明白整个构架实现的机制。只是我觉得在这种从上到下都不熟悉XML/XSLT，只是因为大约的了解，就贸然采用方案，对于这样一个时间紧迫的项目而言，风险实在不小。 上面的实现，说来还仅仅是难度较大、实现困难，但是希望象普通web编辑器那样可视化生成XSLT，那几乎就是不可实现的了。XSLT并非仅仅是对外观的格式化描述，还带有很多可编程元素，目前甚至有的系统完全采用xslt作为业务逻辑控制，可想其复杂性。目前还没有哪个软件能够实现可视化操作的，当然从功能和应用本身来说也没有这个必要。 我很担心因为技术难度过大而导致项目风险的大大增加，延期是肯定的了，只是希望最后不要失败才好。我做事情通常会先确保一个必须达到的最低标准，然后在比较有把握的情况下作锦上添花的工作。这算是比较保守吧，毕竟这不是我一个人的事情，有责任在。 目前我做一个CSS生成器，基本就是模仿VS.NET或DW的CSS生成器。计划采用XML/XSLT/XSD/Javascript开发，利用 XSD作数据约束，XSLT/JS作界面和交互控制，XML保存数据。我目前对具体技术还不清楚，不知道这么构架是否可行&#8230;&#8230;先看书吧&#8230;&#8230;]]></description>
			<content:encoded><![CDATA[<p><font face="Verdana">最近比较忙&hellip;&hellip; </p>
<p>公司的项目目前进入了代码开发阶段，不过很多构架设计上的东西都还不清楚，我觉得应该还算是设计阶段。 </p>
<p>目前系统要实现完全自定义界面，按项目经理说这个搞出来了，后面的业务界面就不用每个开发了。界面的实现方式是XML/XSLT/CSS的实现，而且最后要达到可视化设计实现。项目经理描述的是，针对不同的业务逻辑，产生不同的XML，然后用匹配的XSLT进行解释，生成aspx页面。 </p>
<p>坦白的说，这个描述是不是反映了项目经理的原意，我也不太清楚，因为我一直也没弄明白整个构架实现的机制。只是我觉得在这种从上到下都不熟悉XML/XSLT，只是因为大约的了解，就贸然采用方案，对于这样一个时间紧迫的项目而言，风险实在不小。 </p>
<p>上面的实现，说来还仅仅是难度较大、实现困难，但是希望象普通web编辑器那样可视化生成XSLT，那几乎就是不可实现的了。XSLT并非仅仅是对外观的格式化描述，还带有很多可编程元素，目前甚至有的系统完全采用xslt作为业务逻辑控制，可想其复杂性。目前还没有哪个软件能够实现可视化操作的，当然从功能和应用本身来说也没有这个必要。 </p>
<p>我很担心因为技术难度过大而导致项目风险的大大增加，延期是肯定的了，只是希望最后不要失败才好。我做事情通常会先确保一个必须达到的最低标准，然后在比较有把握的情况下作锦上添花的工作。这算是比较保守吧，毕竟这不是我一个人的事情，有责任在。 </p>
<p>目前我做一个CSS生成器，基本就是模仿VS.NET或DW的CSS生成器。计划采用XML/XSLT/XSD/Javascript开发，利用 XSD作数据约束，XSLT/JS作界面和交互控制，XML保存数据。我目前对具体技术还不清楚，不知道这么构架是否可行&hellip;&hellip;先看书吧&hellip;&hellip;</font></p>
]]></content:encoded>
			<wfw:commentRss>http://linnchord.net/archives/143.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
