xml parser,help(200分)

  • 主题发起人 主题发起人 firepig13
  • 开始时间 开始时间
F

firepig13

Unregistered / Unconfirmed
GUEST, unregistred user!
拟写一个XML的解析器,有如下问题,欢迎讨论:
1.难度有多大?
2.从何入手?
3.有无DELPHI写的PARSER的源码?(小弟我对C++,JAVA都不熟:<)
4.现在对XML的NAMESPACE尚存不理解的地方,是否个人定义的XSL都有可能成为标准?
5.需要具备哪些方面的知识?
小弟对XML也是初学,此时想写解析器会不会有点异想天开?
如果能使小弟我有所顿悟,还有分加。
 
首先要把单词解析出来,把关键字颜色显示
 
如果你想写解析器,你至少要了解XML的所有规范。而它的规范又这么浮渣。。。。。
 
雅典娜不要吓唬人嘛!
XML的标记是可扩展的,只要读取其标记定义的文件,然后按照那些规则做应该可以做出来。
可以找一下编译原理的书参考。我觉得先从标记定义中构造出自动机可能效果会好一点。以
前做词法分析的时候做过自动机。我个人觉得,现在做XML分析器,主要的问题还是在标记
的语义上。据我了解,XML虽然给出了定义标记的方法,但好像没有给出定义标语义的方法。
微软好像在搞什么Schemas来取代DTDs,好像是定义tag的什么xml name space和data type
的什么乱七八糟。我想他是把tag和一个对象关联起来从而给tag赋上语义的。不过这些乱
七八糟我可不管,当时急需xml parser,DTD已知。所以就手工根据DTD作了段代码,现在
正在用着。哎,什么时候有空,我也要做个可以读DTD然后分析的。
 
看这,XML和XSL的例子:<p><a href="http://www.delphibbs.com/delphibbs/DispQ.asp?LID=331108">使用 XML 的范例</a></p>
 
我有xmlsdk.hlp,里面有如何使用,另外我正好作了些解析xml的工作,如有具体
问题,可详细提出.
 
现在有很多的xml parser,MS的xmlsdk, IBM的xml4c、xml4j 等等,
为什么还要自己写一个呢。xml4c 是一个有源码的工程,你可以看
一下规模。。。,然后看以下XML规范。。。或许你会改变主意!
 
>>1.难度有多大?
应比较大,不过若把XML的标准弄清楚后,说不定又不是太难。
>>2.从何入手?
肯定是从一些概念入手,弄清楚后再对XML,XSL,DTD或Schemas,XPath,Xpointer,NS,
DOM,SAX等规范作深入了解。
>>3.有无DELPHI写的PARSER的源码?(小弟我对C++,JAVA都不熟:<)
C和JAVA的原码在网上可以DOWN的,若找不到,我可以给你。MICROSOFT发布了一个BETA版
的ACTIVEX控件MSXML30,若用DELPHI,可把他导入,里面有很多XMLdo
M Base Objects
可对XML的各种对象元素操作,很方便。可在ONLINE MSDN中找到。
>>4.现在对XML的NAMESPACE尚存不理解的地方,是否个人定义的XSL都有可能成为标准?
NAMESPACE主要是解决XML中元素名/Tag名冲突的问题。XSL是对XML文件的格式的定义,可
以用它来作为一个格式摸版,只要对上述规范弄清楚后,不难理解的。
>>5.需要具备哪些方面的知识?
除了上述提到的,还应对‘树’这种数据结构有充分认识,熟悉各种遍历算法,其他的
我想在你研究过程中会慢慢发现的。
 
to:shadowp
谢谢你的回答,能否把你提到的都MAIL给我?
pigfire@163.net
我再给50分!!!
 
可以分步做,先实现最简单的节点,再实现DTD,至于SAX和XSLT可以慢慢来,因为面向数据
才是XML最重要的特点嘛。
 
我想一定是要用到递归的
 
后退
顶部