Posted on 2006-05-15 18:07
花 閱讀(206)
評論(0) 編輯 收藏 所屬分類:
XML Design
1、前言
本貼絕大部分資源均轉自www.xml.org.cn
聲明先,免得有人說偶盜鏈
2、黃金裝備
XML Explorer簡體中文正式版(免費)XML.ORG.CN下載
(推薦這個,簡單易用,比冰火雙劍還要牛X)
介紹
XML Explorer是一個XML和schema編輯器。它簡單易用,可以展現多個窗口。可從樹狀圖、列表、表格、文字模式和跳出式編輯區等方式操作任何XML資料。
* 它的copy and paste功能可以讓使用者復制任何XML 文字到系統剪貼簿上,然后貼到任何XML Explorer窗口。
* 它支持雙向xpath,所以只要點任何XML節點或屬性,一個標準的Xpath就出來了。
* 它兩欄的文字展現方式方便比較和編輯。
* 它的schema完全支持樹狀圖、列表、集合觀看模式、文字模式。
* 有了它,你還能輕易把微軟Excel、Access和任何ODBC資料轉成XML格式。
* 新版本在表格模式包含了XML資料分析功能。
Special Thanks: 感謝David Ren(mergesoft.com)免費為本站提供正式版本和注冊碼。
注意:該版本和注冊碼只限于在中國大陸地區使用。
注冊碼:1096DFDE-1962-43A0-0000-005DXBDIPKSD
英文版:http://download.xml.org.cn/XMLExplorer.msi
中文版:http://download.xml.org.cn/XMLExplorerCN.msi
中文版補丁:http://download.xml.org.cn/xmlexplorer268cn.rar
其他工具下載:
bbs.xml.org.cn/dispbbs.asp?boardID=35andamp;ID=6191
其他資源下載:
bbs.xml.org.cn/resource.asp
以下將采用作者“小鞋子”的入門教程,某些部分略有修改
3、定義標記
<?xml version=\"1.0\"?>
<book>
<title>XML</title>
<author>lisongtao</author>
</book>
如果文檔中包含中文,就要加入編碼
<?xml version=\"1.0\" encoding=\"GB2312\"?>
關于編碼,參見“無廢話XML”的相關魔鬼教程。。。
4、使用CSS樣式
<?xml version=\"1.0\"?>
<?xml-stylesheet type=\"text/css\" href=\"1.css\"?>
<lisongtao>
Hello the world!
</lisongtao>
---------------------------------------------
1.CSS
----------------------------------------
lisongtao {display: block; font-size: 48pt; font-weight: bold;}
5、用XSL定義
什么叫“XSL”,你可以暫且看作一個類似CSS,但比CSS更強的東西。XML語法參見其它教程,不廢話這里。
1.XML
--------------------------------------------
<?xml version=\"1.0\"?>
<?xml-stylesheet type=\"text/xsl\" href=\"2.xsl\"?>
<lisongtao>
Hello the world!
</lisongtao>
---------------------------------------------
2.xsl
----------------------------------------
<?xml version=\"1.0\" encoding=\"gb2312\"?>
<xsl:stylesheet xmlns:xsl=\"http://www.w3.org/TR/WD-xsl\">
<xsl:template match=\"/\">
<html>
<head>
<title>hello the world</title>
</head>
<body bgcolor=\"#CCCCFF\">
<h1 align=\"center\"><xsl:value-of select=\"lisongtao\"/></h1>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
6、注釋
沒什么好多講的,和JS一樣
<?xml version=\"1.0\" encoding=\"gb2312\"?>
<!--
這是一些有關書的信息
-->
<books>
<book>
<name>xml應用</name>
<author>list1</author>
<price>55.00</price>
</book>
</books>
7、節點的屬性
<?xml version=\"1.0\"?>
<books title=\"list\">
<book>
<name>xml and asp</name>
<price>45.00</price>
<publisher>tsinghua </publisher>
</book>
</books>
8、特殊標記
XML中,< > \" \' andamp;特殊標記時,應當用< > \"l ' andamp;表示
<?xml version=\"1.0\"?>
<books height=\"6'5'\">
<book width=\"6\"5\"\">
<name>list andamp;lisongtao</name>
<author>lisongtao < list@263.net></author>
</book>
</books>
9、中文標記
汗。。。。又一個XLTXLM性的自戀狂。。
雖然XML支持中文標簽,但不建議使用。
<?xml version=\"1.0\" encoding=\"gb2312\"?>
<好人 >
<name>小鞋子</name>
</好人>
10、DTD數據格式
你可以暫且把DTD看作一種規則,它保證xml按照這些規則來定義數據格式。
1.DTD
=====================
<?xml version=\"1.0\"?>
<!ELEMENT book (price,name)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>
查資料:如果同一節點含有多個字節點,應該如何定義了?
=====================
DTD.XML
==================
<?xml version=\"1.0\"?>
<!DOCTYPE book SYSTEM \"1.dtd\">
<book>
<name>lisongtao</name>
<price>11.2</price>
</book>
11、DTD直接寫在XML里面
<?xml version=\"1.0\"?>
<!DOCTYPE book [
<!ELEMENT book (price,name)>
<!ELEMENT name (#PCDATA)>
<!ELEMENT price (#PCDATA)>
]>
<book>
<price>11.2</price>
<name>lisongtao</name>
</book>
12、節點的多屬性
<?xml version=\"1.0\" encoding=\"gb2312\"?>
<books>
<book name=\" xml應用\" author=\"list1\" price=\"55.00\">
</book>
</books>
13、結束標記另一種方法
不推薦。。。
<?xml version=\"1.0\" encoding=\"gb2312\"?>
<books>
<book name=\" xml應用\" author=\"list1\" price=\"55.00\"[color]/[/color]>
</books>
14、直接顯示包含特殊字符
前面我們看到了,< > \" \' andamp;等特殊字符須手動修改后才能顯示,如果大量了?。。。就用CDATA
<?xml version=\"1.0\" encoding=\"gb2312\"?>
<books>
<![CDATA[
<book>
<name>xml應用</name>
<author>list1</author>
<price>55.00</price>
</book>
]>
<book>
<name>xml應用</name>
<author>list1</author>
<price>55.00</price>
</book>
</books>
15、小結,一個完整的XML
<?xml version=\"1.0\" encoding=\"gb2312\"?>
<!--這是一個學生選課系統的所有數據-->
<choose_system>
<students>
<student id=\"984610\" lesson_id=\"11\">
<name>咚咚</name>
<age>25</age>
<sex>男</sex>
<department>自動化</department>
</student>
<student id=\"984611\" lesson_id=\"12\">
<name>礦哥</name>
<age>26</age>
<sex>男</sex>
<department>自動化</department>
</student>
<student id=\"984612\" lesson_id=\"11\">
<name>歡迎新村民</name>
<age>23</age>
<sex>男</sex>
<department>自動化</department>
</student>
<student id=\"984613\" lesson_id=\"12\">
<name>張明</name>
<age>25</age>
<sex>男</sex>
<department>自動化</department>
</student>
</students>
<lessons>
<lesson id=\"11\">
<name>控制原理</name>
<num>12</num>
<les_start>99.2</les_start>
<les_end>99.7</les_end>
<end_method>考試</end_method>
</lesson>
<lesson id=\"12\">
<name>網絡原理</name>
<num>11</num>
<les_start>99.3</les_start>
<les_end>99.6</les_end>
<end_method>通過</end_method>
</lesson>
</lessons>
<teachers>
<teacher id=\"1122\" lesson_id=\"11\">
<name>開心啊</name>
<age>33</age>
<tea_age>3</tea_age>
<rank>教授</rank>
<publish>控制原理</publish>
<sex>男</sex>
</teacher>
<teacher id=\"1123\" lesson_id=\"12\">
<name>還是開心啊</name>
<age>40</age>
<tea_age>7</tea_age>
<rank>副教授</rank>
<publish>網絡原理</publish>
<sex>男</sex>
</teacher>
</teachers>
</choose_system>
16、CSS樣式定義節點
<?xml version=\"1.0\"?>
<?xml-stylesheet type=\"text/css\" href=\"1.css\"?>
<books>
<book>
<author>lisongtao</author>
<name>the application of ASP</name>
</book>
</books>
---------------------------------------------------------
1.css
-----------------------------------------------------------
books
{
display:block;
}
book
{
display:block;
background-color:#aabbcc
}
---------------------------------------------
心得:以上的定義方法和重定義HTML的標簽樣式一樣,如對CSS不熟者,推薦用DW生成后再對應一下效果。很易就可以學會的。
17、樣式類定義XML
<?xml version=\"1.0\" standalone=\"yes\"?>
<?xml-stylesheet type=\"text/css\" href=\"3.css\"?>
<list class=\"listclass\">
<sublist class=\"listsmall\">lisongtao</sublist>
<sublist>zhongguo</sublist>
</list>
----------------------------------------------------------
3.css
.listclass {color: red; font-size:26pt}
.listsmall {color:blue; font-size:15pt}
18、類的ID定義XML
<?xml version=\"1.0\" standalone=\"yes\"?>
<?xml-stylesheet type=\"text/css\" href=\"ID.css\"?>
<school>
<class id=\"list\">lisongtao</class>
<monitor id=\"list1\">lisongtao</monitor>
</school>
---------------------------------
ID.CSS
--------------------------------------------------
#list {font-size:28pt; color:red; display: block}
#list1 {font-size:14pt; color:blue display: block }
19、XML中直接使用CSS
<?xml version=\"1.0\" standalone=\"yes\"?>
<?xml-stylesheet type=\"text/css\" href=\"sevil.txt\"?>
<!--這句一定要有,而SEVIL.TXT可以換別的名字,不過中文好像這里不行.-->
<FOO STYLE=\"font-weight: bold;color:red\">
Hello XML!
</FOO>
20、在一個樣式表中合并引用另一個樣式表的方法
@import url(\"sevil.css\");
21、用CSS定制個節點的塊狀顯示
XML.XML
--------------------------------------------------------------------------------
<?xml version=\"1.0\" encoding=\"gb2312\"?>
<?xml-stylesheet type=\"text/css\" href=\"CSS.css\"?>
<books xmlns:HTML=\"http://www.w3.org/Profiles/XHTML-transitional\">
<HTML:style>
books
{
display:block;
width:30em;
}
</HTML:style>
<book>
<author>list </author>
<name> ASP及其應用</name>
<publisher>Tsinghua University</publisher>
<price>12.30</price>
</book>
<book>
<author>James </author>
<name> XML及其應用</name>
<publisher>Tsinghua University</publisher>
<price>15.30</price>
</book>
<book>
<author>John </author>
<name> CSS及其應用</name>
<publisher>Peiking University</publisher>
<price>16.30</price>
</book>
</books>
---------------------------------------------------------------
CSS.CSS
---------------------------------------------------------------
book
{
display:block;
background-color:#AABBCC;
padding:1.2em;
margin-bottom:1em;
}
author
{
display:block;
font-size:16pt;
color:red;
}
22、在同一個XML文件內引用多個CSS樣式表的方法
<?xml version=\"1.0\" standalone=\"yes\"?>
<?xml-stylesheet type=\"text/css\" href=\"1.css\"?>
<?xml-stylesheet type=\"text/css\" href=\"2.css\"?>
23、在XML中使用HTML標記的方法,例插入圖片
<?xml version=\"1.0\" encoding=\"gb2312\"?>
<?xml-stylesheet type=\"text/css\"?>
<books xmlns:HTML=\"http://www.w3.org/Profiles/XHTML-transitional\">
<book>
<author>list </author>
<name> ASP及其應用</name>
<publisher>Tsinghua University</publisher>
<price>12.30</price>
<HTML:img src=\"suzh1.jpg\" />
</book>
</books>
24、在XML中使用HTML標記的方法(2),使用超連接
<?xml version=\"1.0\" encoding=\"gb2312\"?>
<?xml-stylesheet type=\"text/css\"?>
<books xmlns:HTML=\"http://www.w3.org/Profiles/XHTML-transitional\">
<book>
<author>list </author>
<name> ASP及其應用</name>
<publisher>Tsinghua University</publisher>
<price>12.30</price>
[colorred]<from><HTML:a href=\"http://www.263.net\">263中國在線</HTML:a></from>[/color]
</book>
</books>
25、在XML中使用HTML標記(3),使用<BR><p>等標記
<?xml version=\"1.0\" encoding=\"gb2312\"?>
<?xml-stylesheet type=\"text/css\"?>
<books xmlns:HTML=\"http://www.w3.org/Profiles/XHTML-transitional\">
<book>
<HTML:P>
<author>list </author>
</HTML:P>
<name> ASP及其應用</name>
<publisher>Tsinghua University</publisher>
<HTML:br/>
<price>12.30</price>
</book>
</books>
26、在XML中使用HTML標記的方法(4),使用表格標簽
<?xml version=\"1.0\" encoding=\"gb2312\"?>
<?xml-stylesheet type=\"text/css\"?>
<books xmlns:HTML=\"http://www.w3.org/Profiles/XHTML-transitional\">
<book>
<HTML:TABLE border=\"1.0\" align=\"center\">
<HTML:TR>
<HTML:TD>LIST</HTML:TD>
<HTML:TD>ASP PROGRAMING</HTML:TD>
<HTML:TD>TSINGHUA UNIVERSITY</HTML:TD>
</HTML:TR>
</HTML:TABLE>
</book>
</books>
27、在XML中使用HTML標記的方法(5),使用表單
汗。。。。這樣子就沒意思了,僅供參考
<?xml version=\"1.0\" encoding=\"gb2312\"?>
<?xml-stylesheet type=\"text/css\"?>
<books xmlns:HTML=\"http://www.w3.org/Profiles/XHTML-transitional\">
<book>
<HTML:TABLE border=\"0\" align=\"center\">
<HTML:TR>
<HTML:TD>NAME</HTML:TD>
<HTML:TD><HTML:INPUT TYPE=\"TEXT\"/></HTML:TD>
</HTML:TR>
<HTML:TR>
<HTML:TD>NAME</HTML:TD>
<HTML:TD><HTML:INPUT TYPE=\"TEXT\"/></HTML:TD>
</HTML:TR>
<HTML:TR>
<HTML:TD>NAME</HTML:TD>
<HTML:TD><HTML:INPUT TYPE=\"TEXT\"/></HTML:TD>
</HTML:TR>
</HTML:TABLE>
<HTML:CENTER>
<HTML:INPUT TYPE=\"SUBMIT\"/><HTML:INPUT TYPE=\"RESET\"/>
</HTML:CENTER>
</book>
</books>
28、在XML中使用HTML標記的方法(6),使用JS腳本
<?xml version=\"1.0\" encoding=\"gb2312\"?>
<?xml-stylesheet type=\"text/css\"?>
<books xmlns:HTML=\"http://www.w3.org/Profiles/XHTML-transitional\">
<HTML:SCRIPT language=\"javascript\">
var fRunning = 0
function startTrans()
{
if (fRunning == 0)
{
fRunning = 1
SampleID.filters.revealTrans.Apply();
SampleID.src = \"suzh1.jpg\";
SampleID.filters.revealTrans.Play()
}
else
{
fRunning = 0
SampleID.filters.revealTrans.Apply();
SampleID.src = \"suzh2.jpg\";
SampleID.filters.revealTrans.Play()
}
}
</HTML:SCRIPT>
<HTML:IMG id=\"SampleID\" src=\"suzh2.jpg\" width=\"200\"