CSDN博客

img bjbs_270

XML入门教程(3)

发表于2004/10/10 10:02:00  1824人阅读

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、资源及相关
以上教程均转自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....ff/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-fra...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/fram...odinfosgml.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/softw...mmunicator/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/...&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联盟网站(www.xml.org.cn)已经不存在了.现在的 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不错的站点。
阅读全文
0 0

相关文章推荐

img
取 消
img