当前位置: 首页 > 编程日记 > 正文

只要你敢进来,没有学不会xml滴

作者:喜悦国际村   开心果

1、前言

本贴绝大部分资源均转自 http://www.xml.org.cn/
声明先,免得有人说偶盗链 SHOW TIME



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

其他工具下载:
http://bbs.xml.org.cn/dispbbs.asp?boardID=35&ID=6191
其他资源下载:
http://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中,< > " ' &特殊标记时,应当用&lt; &gt; "l &apos; &表示
<?xml version="1.0"?>
<books height="6&apos;5&apos;">
<book width="6"5"">
<name>list &lisongtao</name>
<author>lisongtao &lt; list@263.net&gt;</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、直接显示包含特殊字符
前面我们看到了,< > " ' &等特殊字符须手动修改后才能显示,如果大量了?。。。就用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" height="200" style="filter:revealTrans(duration=3)" οnclick="startTrans()" />
<HTML:BR />
Click image for Transition Filter: Blend
</books>



29、总结CSS/HTML:
其实在XML里面调用CSS来显示统一的样式很简单,主要通过一个
<?xml-stylesheet type="text/css" href="1.css"?>
这样的方法来联系起来.最好能先学学CSS的语法这样对大家很有好处.如果不太会的话,也可以用DW来自动生成CSS样式表后再联起来.呵.

致于调用HTML标记可以用<HTML:标记>这样的方法来实现.但一定要注意记他合乎XML的规则就行了.

30、通过XSL显示XML
XML.XML
----------------------------------------------------------
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="1.xsl"?>
<!--连接XSL的方法,是不是和连接CSS很像啊??呵.-->
<persons>
<person>
<name> lisongtaow </name>

<age>25</age>
<tel>66666666</tel>
</person>
<person>
<name> lisongtao1</name>
<age>26</age>
<tel>66666667</tel>
</person>
<person>
<name>lisongtao3</name>
<age>28</age>
<tel>66666669</tel>
</person>
</persons>

-----------------------------------------------------------------------
1.xsl
----------------------------------------------------------------------
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<body>
<center>
<h2>the notepad</h2>
<table border="1">
<tr>
<td>name</td>
<td>age</td>
<td>tel</td>
</tr>
<xsl:for-each select="persons/person">
           <tr>
                <td><xsl:value-of select="name"/></td>
                <td><xsl:value-of select="age"/></td>
                <td><xsl:value-of select="tel"/></td>
           </tr>
      </xsl:for-each>

<!--循环输出语块,其中"persons/person"代表着路径-->
</table>
</center>
</body>
</html>
</xsl:template>
</xsl:stylesheet>



31、XSL小结
做完这个例子先总结一下:
在XSL的定义方法其实是一个HTML的全显示格式.我们可以用DW直观的编辑好.再加入代码.
这里XSL我们可以理解成为一个模板.
其主要的定义方法有一个规则:
以后我们再写XSL时就可以把这东东COPY出来了.不用老是对着书打.呵...
(用XML编辑器更快。。。^_^)
--------------------------------------------------------------
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
 <xsl:template match="/">
 
</xsl:template>
</xsl:stylesheet>

-----------------------------------------------------------



32、输出某节点下的所有内容..
上一例子我们成功地用XSL输出了XML里面数据.
如果我们只要输出某相同节点其下的内容.我们可以这样做.
=======================
1.xml
要求:输出XSL的"persons/person/tel/hometel"下面的所有内容.这里"person"可以是多层
--------------------------------------------------------
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="2.xsl"?>
<persons>
<person>
<name>lisongtao</name>
<age>25</age>
<tel><hometel>
<tel>64456787</tel>
<childhometel>64456785</childhometel>
</hometel>
<offtel>44442222</offtel>
<worktel>3333333</worktel>
</tel>
</person>
<person>
<name>liwei</name>
<age>25</age>
<tel><hometel>
<tel>66545434</tel>
<childhometel>65433333</childhometel>
</hometel>
<offtel>64442222</offtel>
<worktel>6333333</worktel>
</tel>
</person>
<person>
<name>zhangxue</name>
<age>25</age>
<tel><hometel>
<tel>84343434</tel>
<childhometel>8333333</childhometel>
</hometel>
<offtel>84442222</offtel>
<worktel>8333333</worktel>
</tel>
</person>
<person>
<name>wure</name>
<age>26</age>
<tel>66666667</tel>
</person>
</persons>
================================
2.xsl
-----------------------------------------------------------
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<html>
<body>
<center>
<h2>the notepad</h2>
<table border="1">
<tr>
<td>name</td>
</tr>
<xsl:for-each select=" persons/person/tel/hometel/*">
<tr>
<td><xsl:value-of select=" ."/></td>
</tr>
</xsl:for-each>
<!--注意FOR-EACH的SELECT路径.然后用value-OF输出全部所要求的节点内容-->
</table>
</center>
</body>
</html>
</xsl:template>
</xsl:stylesheet>



33、用XSL让XML文件使用到节点属性的搜索功能
xml.xml
---------------------------------------------------------------------------------------
<?xml version="1.0" encoding=" gb2312"?>
<?xml-stylesheet type="text/xsl" href="xsl.xsl"?>
<students>
<student id="98789">
<name>廖西</name>
<sex>女</sex>
<birthday type="阳历">1987.2</birthday>
<phone>1303456787</phone>
<skill>唱歌</skill>
<dd>asdf
<ee>asdf</ee></dd>
<list>asdf</list>
</student>
<student id="98788">
<name>小记</name>
<sex>女</sex>
<birthday>1975.6</birthday>
<phone>13901145678</phone>
<skill>爬山</skill>
</student>
<student id="98785">
<name>江南</name>
<sex>女</sex>
<birthday>1978.8</birthday>
<phone>64576786</phone>
<skill>网络</skill>
</student>
<student>
<name>小红</name>
<sex>男</sex>
<birthday>1976.2</birthday>
<phone>62775466</phone>
<skill>网络</skill>
<skill>书法</skill>
</student>
</students>
--------------------------------------------------------------------
xsl.xsl
---------------------------------------------------------------
<?xml version="1.0" encoding=" gb2312"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/TR/WD-xsl">
<xsl:template match="/">
<center> <h1>学号是"98789"的学生的生日是:<xsl:value-of select=" /students/student[@id='98789']/birthday"/>
</h1></center>
</xsl:template>
</xsl:stylesheet>




34、资源及相关
以上教程均转自http://www.xml.org.cn,版权作者小鞋子所有,特此声明。/
XML 资源:
1。W3C 的网站
http://www.w3.org/XML/

2。XML.com
http://www.xml.com/

3。xml zone
http://www.xml-zone.com/

4。XML.org
http://www.xml.org/

5。XML Cover Pages
http://xml.coverpages.org/

6。OASIS
http://www.oasis-open.org/

7。XMLINFO.com
http://www.xmlinfo.com/

8。STARTKABEL
http://xml.startkabel.nl/

9。XMLAdvantage
http://www.xmladvantage.com/

10。Chinese XML Now!
http://www.ascc.net/xml/

11。simonstl.com
http://www.simonstl.com/

12。XML ARENA
http://www.xmlarena.com/

13。XML 资源目录
http://www.xmldir.com/

14。XML Tree
http://www.xmltree.com/


XML 教程:
1。XML FAQ
http://www.ucc.ie/xml/

2。无废话 XML -- 网上最好的 XML 入门教程
http://2tigers.net/xml_book/wfhxml_gb.zip

http://www.xml.org.cn:8188/docs/download/wfhxml_gb.zip

http://www.helpwork.net/downdata/bo...k/wfhxml_gb.zip

3。XML Bible
http://www.ibiblio.org/xml/books/bible/

http://www.mmg.vmei.acad.bg/xml/

《XML Bible》的中译本为中国水利水电出版社的《XML实用大全》一书,XML 中国论坛已将此书做成了电子版共享,
请看这里:
http://www.xml.net.cn/ASPs/book_catalog.asp?bookid=02

在此向 XML 中国论坛所做出的努力表示由衷的感谢!
4。IBM 站点上的 XML 教程 (需注册)
http://www.ibm.com/developerworks/xml/

http://www.ibm.com/developerworks/e...ecourse-bytitle

http://www.ibm.com/developerworks/webservices/

http://www-900.ibm.com/developerWorks/xml/

(IBM 的 DeveloperWorks 中文版上的 XML 专栏,强烈推荐!)
5。W3Schools.com
http://www.w3schools.com/

6。zvon.org
http://www.zvon.org/

7。xmlpitstop.com
http://www.xmlpitstop.com/

8。Cafe con Leche XML News and Resources
http://www.ibiblio.org/xml/

9。一个免费 XML 教程的列表
http://www.intelinfo.com/newly_rese...aining/XML.html


比较好的 XML 编辑器:
1。XML Spy
http://www.xmlspy.com/

2。EditML Pro
http://www.editml.com/

3。PSGML for Emacs
http://sourceforge.net/projects/psgml/

与 XML 技术有关的软件项目:
1。支持 XML 的浏览器 -- Mozilla
http://www.mozilla.org/newlayout/xml/

2。Apache 基金会的 XML 项目
http://xml.apache.org/

3。Apache 基金会的 Jakarta 项目
http://jakarta.apache.org/

4。可用的 XML 软件列表
http://www.xmlsoftware.com/

5。可用的 XML 软件列表
http://www.oasis-open.org/cover/publicSW.html#xmlTools

6。XML hack
http://xmlhack.com/

7。Sun 站点上的 XML 软件
http://www.sun.com/xml/

http://www.sun.com/software/xml/

http://www.sun.com/xml/developers/

http://java.sun.com/xml/

8。IBM 站点上的 XML 软件
http://www.ibm.com/developerworks/xml/

9。Oracle 站点上的 XML 软件
http://technet.oracle.com/tech/xml/

10。XSLT.com
http://www.xslt.com/

11。SOAP & WebServices
http://www.soap-wrc.com/

http://www.soapware.org/

12。XML-RPC
http://www.xmlrpc.com/

13。WDDX
http://www.openwddx.org/

14。Komodo
http://aspn.activestate.com/ASPN/Downloads/Komodo/More

15。XML with Java
http://developerlife.com/

http://www.jdom.org/

16。XML with Perl
http://www.perlxml.com/

17。XML with C
http://www.xmlsoft.org/

18。Free XML Tools and Software
http://www.garshol.priv.no/download/xmltools/


电子商务:
1。ebXML
http://www.ebxml.org/

2。UDDI
http://www.uddi.org/

http://uddi-china.org/

3。XML/EDI
http://www.xmledi-group.org/

一. XML的大本营
XML是由W3C(World Wide Web Consortium)国际组织负责开发和制定标准的。
关于XML最权威,最新的消息都来自W3C。网址是: http://w3c.org/XML/
另外一个名为OASIS的前著名的SGML研究组织也在一起推动XML的发展,
网址是: http://www.oasis-open.org/
二. XML指南
http://www.w3.org/TR/REC-xml
W3C关于XML规范的详细,完整的说明。不用多说,绝对权威。
http://www.xml.com/axml/testaxml.htm
这是Tim Bary写的XML规范说明书,非常的详细和严密,是学习XML规范的好帮手。

三. XML常见问题
Peter Flynn的 XML FAQ
http://www.ucc.ie/xml/
包含大量详细的资料,经常更新,由W3C协会XML组维护。
Lisa Rein’s finetuning XML FAQs
http://www.finetuning.com/faq.html
这个FAQ列表有侧重点,主要包含XSLT FAQ,XPath FAQ和IE5中的XSL FAQ。
Dave Pawson’s XSL FAQ
http://www.dpawson.co.uk/xsl/idx.html
提供最好的关于XSL方面的FAQ,创建于1999年。
jGuru’s Extensible Markup Language (XML) FAQ
http://www.jguru.com/jguru/faq/faqpage.jsp?name=XML
这个FAQ列表是一个典型的"老百晓",任何问题,从普通的到非常细节的XML问题都可以在这里找到。
Ronald Bourret’s XML Namespaces FAQ
http://www.informatik.tu-darmstadt.de/DVS1/staff/bourret/xml/
NamespacesFAQ.htm
创建于2000初,是关于namespaces概要的FAQ。

四. XML主题网站
http://www.xml.com/
一个以XML为主题的内容丰富的网站
http://www.xml-zone.com/
另一个比较知名的XML网站,提供XML的新闻和资讯。
http://www.xmlinfo.com/
网站创建者James Tauber’s是W3C组织XML发展组的成员之一,他的网站提供了大量的连接和例子。
http://www.simonstl.com/
网站创建者Simon St. Laurent也是XML发展组的成员。他是W3C中XML初级入门教程的作者,他的站点主要提供有关XML的发展信息。
http://msdn.microsoft.com/xml/c-frame.htm#/xml/default.asp
微软的MSDN关于XML的主题网站。微软在推进XML应用方面不遗余力。
http://www.xmlsoftware.com/
是XML info的姐妹网站,内容包括XML/DTD/XSL编辑软件,XML API软件等。
http://xmlhack.com/
1999年9月建立的大型XML新闻网站,同时提供XML人才信息。
http://xml.apache.org/
Apache软件基金会(ASF),提供了大量open source的XML和XSL的工具软件。
http://www.biztalk.org/
BizTalk是微软发起的以XML商业应用为目标的组织。BizTalk不是一个标准组织。


五. XML的编辑软件
目前XML文档的编辑软件依然很少。虽然我们可以手工编写,但是如果有一个好的软件(类似用DW/FP编写HTML),可以减少差错和提高效率。下面是现有的一些编辑软件。
http://www.macromedia.com/software/dreamweaver/
Macromedia最新的Dreamweaver 4.0已经支持XML文档的编写。推荐使用。
http://www.microsoft.com/xml/notepad/intro.asp
微软在这方面向来不会落后,它推出的XML Notepad是一个非常小巧灵活的XML文档编辑器。推荐使用。
http://www.adobe.com/prodindex/framemaker/prodinfosgml.html
Adobe公司的Framemaker plus是目前较好的XML编辑软件。
http://www.arbortext.com/
Arbortext公司是重点开发XML游戏的公司。
http://www.inso.com/
Inso,好象是用来处理大型SGML或者XML文档的软件。
http://www.softquad.com/
Softquad 是HTML和SGML软件的开发商,对XML自然不会放过。

六. 支持XML的浏览器
http://www.microsoft.com/windows/ie/
IE 5.X是目前流行浏览器唯一支持XML的,它可以在微软的网站免费下载到。
http://developer.netscape.com/software/communicator/ngl/
index.html?cp=dev09fg01
Gecko是另一种支持XML的浏览器,但目前只是测试版。

七. XML parser
Parser是一个检查XML文档语法是否符合DTD定义,并进行解析的软件。

在线的parser
http://validator.w3.org/
W3C组织提供的一个在线paeser。可以根据你在线提交的XML文档URL,进行验证和解吸。
http://www.stg.brown.edu/service/xmlvalid/
一个Brown大学科技小组提供的parser,非常方便和容易理解。。
可下载的Parser
有很多可以下载到本机上运行的parser,下面列出一些主要的:
http://www.jclark.com/xml/expat.html
James Clark是在SGML/XML领域的元老,他写的parser被广泛的运用。
http://www.alphaworks.ibm.com/tech/xml
一个以Java语言编写的Parser,来自IBM。
http://www.microsoft.com/xml/parser/cparser.asp

微软的XML Parser,用C++写成。
http://www.microsoft.com/downloads/details.aspx?FamilyId=0CDD34BF-50EA-4238-846B-243C58FF224A&displaylang=en

用Python写的parser。
http://www.jeremie.com/Dev/XML/
用javascript写的parser,只用来检查语法,不进行解吸析。
http://w3c.org/RDF/Implementations/SiRPAC/

来自W3C组织的SiRPAC,全称是Simple RDF Parser and Compiler。

八. Schema编辑软件
Schema我们前面介绍过,DTD就是一种Schema,我们可以手工写DTD,但现在已经有一些Schema编辑软件来帮助我们更方便的建立DTD。
http://www.extensibility.com/
Extensibility这个软件被称为XML权威。可以以图形化方式建立和编辑schema,包括DTD文件。

九. 国内XML资源
http://www.xml.net.cn/
XML中国论坛是一个非赢利的学术网站。由北京大学计算机科学与技术研究所创办,北大方正集团公司提供赞助。
http://www.xml.org.cn:8188/ (admin注:原来的中国XML联盟网站( http://www.xml.org.cn/)已经不存在了.现在的 http://www.xml.org.cn/ 已经不是中国XML联盟了.)
中国XML联盟将建立为国内第一个开放性网络标准组织,提供XML技术认证、咨询和交流。由上海易方公司赞助。
http://www.xml.com.cn/
chinaasp.com的子站,提供XML文章和技术交流等。
http://www.egroups.com/group/china_xml_list/info.html
中国XML邮件组包括中文XML资源, XML的最新资料,同行的交流空间。由非盈利性组织中国XML联盟负责维护。
http://weblab.crema.unimi.it/xmlzh/XML_FAQ.htm

http://www.perfectxml.com/
也是一个学习xml不错的站点。

相关文章:

李彦宏AI布局又下一城,成立生命科学公司“百图生科”

此前业内传闻的“李彦宏将投资生物计算”一事有了新进展。9月25日消息&#xff0c;一家名为“百图生科”&#xff08;英文简称“BioMap”&#xff09;的生命科学平台公司正式成立。百度创始人、董事长兼CEO李彦宏确定将作为牵头发起人&#xff0c;亲自出任新公司的董事长&#…

1004_C/C++笔试题_13:16道c语言面试【8/9】

8.关键字volatile含义&#xff0c;并给出三个不同的例子。 一个定义为volatile的变量是说这个变量可能会被意想不到的改变。因此&#xff0c;优化器在每次用到这个变量时都要重新读取这个值&#xff0c;而不是使用在寄存器里的备份。 实例&#xff1a; 1.并行设备的硬件寄存器&…

oracel 不为null 保存空字符串

2019独角兽企业重金招聘Python工程师标准>>> // oracle里面不为 null 就不能保存进入 ""&#xff0c;必须加上一个空格才可以的。 hrEffPfmcePlaneePo.setGoal("");//不可以保存的。oracle 比较严谨很mysql 不一样 hrEffPfmcePlaneePo.setGoal(…

助力高校学子快速上手!昇腾AI处理器应用开发实践一览|华为昇腾师资培训沙龙北京场...

如今&#xff0c;AI技术已渗透到各个行业&#xff0c;随着AI技术应用的蓬勃发展&#xff0c;相关专业的人才缺口也日益增大。为了助力高校人工智能领域人才培养及学科建设&#xff0c;华为通过昇腾师资培训沙龙&#xff0c;面向广大高校教师提供昇腾全栈全场景AI技术知识点培训…

巧用CSS的RevealTrans滤镜

作者&#xff1a; 冯永曜 CSS的RevealTrans动态滤镜是一个神奇的滤镜&#xff0c;它能产生23种动态效果&#xff0c;更为奇妙的是它还能在23种动态效果中随机抽用其中的一种。用它来进行网页之间的动态切换&#xff0c;简直方便极了&#xff0c;你只要在网页源代码的< …

FOPEN FUNCTION

打开文件提供给低级文件函数使用. FOPEN(cFileName [, nAttribute]) 参数 cFileName 指定要打开的文件名,cFileName可以包含Microsoft Visual FoxPro在当前搜索路径中未指定的目录,文件夹,驱动器,或卷下要打开文件的路径.如果这个路径没有被包含在内,Visual FoxPro在下列位置索…

手机安全卫士——软件管理-用户程序和系统程序

首先看一下界面&#xff1a; AppManagerActivity .java //软件管理 public class AppManagerActivity extends Activity implements View.OnClickListener{List<AppInfo> appinfos;ListView lv;private List<AppInfo> userAppInfos;private List<AppInfo> sy…

hdu 1879 继续畅通工程

最小生成树入门题&#xff0c;和纯粹的裸题有些区别&#xff0c;题目中有些道路已经存在&#xff0c;不需要建造&#xff0c;答案是求最后建造的总费用&#xff0c;不要把已经有的道路的权值算进去 //kruskal算法已有的边权植赋为0 //用SORT排序&#xff0c;用并查集判断是否成…

AI视觉大牛朱松纯担任北大AI研究院院长,提出通过构建大任务平台走向通用AI...

整理 | AI科技大本营编辑部据北京大学新闻网9月24日报道&#xff0c;AI视觉顶级学者朱松纯正式任职北京大学讲席教授、人工智能研究院院长。朱松纯表示&#xff0c;他与北大、清华的相关学者一直保持着密切的学术交流与合作&#xff0c;近一段时间&#xff0c;他又又深入考察了…

巧用CSS的alpha滤镜

作者&#xff1a;冯永曜 “Alpha”滤镜&#xff0c;听到这个名字&#xff0c;你可能会想到Flash里有&#xff0c;Photoshop里也似乎见过。一点不错&#xff0c;它们的作用基本类似&#xff0c;就是把一个目标元素与背景混合。你可以指定数值来控制混合的程度。这种“与背景混合…

Java实现二维码

Java实现二维码 最近突然想写一些博客&#xff0c;所以就陆陆续续的编写一些自我感觉有用的并且大家也可能用到的一些技术代码。方便互相学习交流。 今天这篇博客&#xff0c;主要是利用Java实现二维码&#xff1a; 在写代码之前先讲一下整体思路&#xff0c;以方便更好更快捷的…

巧用CSS的BlendTrans滤镜

作者&#xff1a;冯永曜 BlendTrans滤镜比起上一篇介绍的Revealtrans滤镜来要简单一些&#xff0c;它只有一个参数&#xff1a;Duration 变换时间&#xff0c;它的功能也比较单一&#xff0c;就是产生一种淡入淡出的效果&#xff0c;不过它的这种效果比起RevealTrans滤镜的淡入…

百度盯上媒体生意?百度CTO王海峰详解智能媒体中台

9月27日&#xff0c;由中央网信办、上海市委网信委、新华通讯社联合主办&#xff0c;新华网、上海市委网信办、上海广播电视台、百度承办的“2020中国网络媒体论坛”在上海隆重举行。在百年未有之大变局的新形势下&#xff0c;作为中国网络媒体界层次最高、最具权威性和影响力的…

[转]Android敏捷开发指南

原文地址&#xff1a;http://www.apkbus.com/android-72730-1-1.html 本文紧密结合移动开发方法与技术&#xff0c;围绕Android平台的开发探讨提供更高质量移动产品的解决方案。作者在文中分析了移动开发中常见的问题&#xff0c;从两方面阐述了ThoughtWorks&#xff08;&#…

C# 格式串(收藏)

一、用{0:?}格式化 可通过 String.Format 方法或通过 Console.Write 方法格式化数值结果&#xff0c;其中后一种方法调用 String.Format。使用格式字符串指定格式。下表包含受支持的标准格式字符串。格式字符串采用的形式为 Axx&#xff0c;其中 A 为“格式说明符”&#xff0…

巧用CSS的Wave滤镜

作者&#xff1a;冯永曜 "wave"滤镜&#xff0c;看它的名称你可能就能想到其效果&#xff0c;正如你想的那样&#xff0c;它的作用是把对象按照垂直的波形样式扭曲&#xff0c;从而产生一种特殊的效果。它共有5个参数&#xff1a;"add"&#xff1a;表示是否…

关于vmware虚拟机linux的扩容问题

Linux的VM虚拟机扩展磁盘空间 &#xff08;1&#xff09;vmware软件中编辑虚拟机设置中又扩容的选项&#xff0c;这里不做介绍。 &#xff08;2&#xff09;启动VM环境下的linux操作系统,添加新分区&#xff0c;需要root账号身份。 3.1 【fdisk -l】 extend 对应的是sda4&#…

用Python玩转PPT!

作者 | 陈熹来源 | 早起Python今天本文将基于第三方库pptx&#xff0c;详细讲解如何使用Python操作Office全家桶最后一位——PPT。安装pptx是一个非标准库&#xff0c;需要在命令行中安装pip install python-pptx要注意&#xff0c;安装的时候是python-pptx&#xff0c;而实际调…

贝塞尔曲线学习

贝塞尔曲线是UIkit中的一个关于图形绘制的类 贝塞尔曲线可以绘制矩形&#xff0c;圆形&#xff0c;直线&#xff0c;曲线&#xff0c;以及它们的混合图形。 系统常用的内置方法 // 创建基本路径 (instancetype)bezierPath; // 创建矩形路径 (instancetype)bezierPathWithRect…

巧用CSS的 Mask 滤镜

作者&#xff1a;冯永曜在网页制作中使用CSS&#xff0c;这已是众所周知&#xff0c;而关于CSS滤镜使用的却介绍得不多。其实&#xff0c;0CSS的滤镜在Dreamweaver3中用起来也很方便&#xff0c;且能使文字产生一种类似图象的效果&#xff0c;但比起图片来可就瘦小多了。不信&a…

Google Analytics功能篇 - 如何跟踪邮件打开率与点击率

有些朋友总会问我&#xff0c;在作邮件营销时&#xff0c;应该如何来跟踪这些流量呢&#xff1f;以便能知道发送的成功率&#xff0c;打开率&#xff0c;点击邮件中的链接数量&#xff0c;怎么实现这样的功能呢&#xff1f; 另外&#xff0c;有一个做邮件群发的朋友给我说&…

Google排名第一的技术,引数十万人关注!网友:差点我就放弃了!

毋庸置疑&#xff0c;Python越来越被认可为程序员新时代的风口语言。无论是刚入门的程序员&#xff0c;还是年薪百万的 BATJ 的大牛都无可否认&#xff1a;Python的应用能力是成为一名码农大神的必要项。 所以&#xff0c;很多程序员把Python当做第一语言来学习。 但对于Python…

python的zip函数

zip()函数 它是Python的内建函数&#xff0c;(与序列有关的内建函数有&#xff1a;sorted()、reversed()、enumerate()、zip()),其中sorted()和zip()返回一个序列(列表)对象&#xff0c;reversed()、enumerate()返回一个迭代器(类似序列) 1 >>> type(sorted(s)) 2 <…

Nginx 搭建负载均衡

1.其实我这里并不是访问量很大&#xff0c;主要用于版本升级和维护而搭建的 2.忽略nginx安装和jetty的安装配置&#xff0c;我是在一台Linux服务器上装了两个jetty服务&#xff0c;部署两套jetty服务很简单&#xff0c;其实改改jetty.sh 脚本即可 JETTY_HOME/opt/jetty2/ JETT…

巧用CSS的Glow滤镜

作者&#xff1a;冯永曜对一个对象使用“glow”滤镜后&#xff0c;这个对象的边缘就会产生类似发光的效果&#xff0c;这种效果在PHTOSHOP中做起来都比较麻烦&#xff0c;而在DW3中用CSS的“glow”滤镜来制作却是如此地简单&#xff0c;而且节约不少字节。“glow”滤镜只有两个…

10大经典排序算法,20+张图就搞定

作者 | 李肖遥来源 | 技术让梦想更伟大冒泡排序简介冒泡排序是因为越小的元素会经由交换以升序或降序的方式慢慢浮到数列的顶端&#xff0c;就如同碳酸饮料中二氧化碳的气泡最终会上浮到顶端一样&#xff0c;故名冒泡排序。复杂度与稳定性思路原理以顺序为例从第一个元素开始一…

C# MoreLinq 扩展安装

为什么80%的码农都做不了架构师&#xff1f;>>> http://blog.csdn.net/lee576/article/details/42716905 MoreLinq是一个对Linq to object的扩展类库,它是一个开源项目(http://code.google.com/p/morelinq/source/browse 天朝已对google全力封禁,所以要翻墙)&#…

IOS学习博客不错的大部分是原创

http://blog.csdn.net/iukey/article/category/955062

巧用CSS的Light滤镜

作者&#xff1a; 冯永曜Light滤镜能产生一个模拟光源的效果&#xff0c;但使用它要通过调用它的“方法&#xff08;Method&#xff09;”来实现&#xff0c;这就要用到一些Javascrpt知识&#xff0c;虽然有一点难度&#xff0c;但产生的效果也是奇特的&#xff0c;你看看下面的…

没有场景,不做单点技术输出,360数科如何做金融科技的最佳实践?

作者 | Just 出品 | AI科技大本营&#xff08;ID:rgznai100&#xff09; 从互联网金融公司转变为金融科技公司&#xff0c;品牌升级后的360数科强化了“科技”的外衣。 在近期的首个360数科技术开放日&#xff0c;360数科CEO吴海生表示&#xff0c;他们已经做好金融科技的最佳…