1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | NamespaceSupport namespace = new NamespaceSupport(); namespace.declarePrefix("db", "http://www.ananas.org/2001/docbook"); MessageStore message = MessageStore.getMessageStore( "org.ananas.hc.compiler.Message"); XPathParser parser = new XPathParser(namespace,message); String xpath1 = "db:sect1/db:simpara/db:ulink", xpath2 = "db:sect1/db:simpara"; XPathNode first = parser.axpath(xpath1,1,xpath1), second = parser.axpath(xpath2,2,xpath2), root = new XPathNode(XPathNode.OR_XPATH, first,second); DFAFactory factory = new DFAFactory(); DFATable table = factory.createDFA(root); XMLReader xparser = XMLReaderFactory.createXMLReader( "org.apache.xerces.parsers.SAXParser"); xparser.setContentHandler(new DFAHandler(table)); xparser.parse("file:doc.xml"); 对于 HC,下一步是什么DFAHandler 展示了,HC 不久将如何工作。无可否认,前面的示例针对两个 XPath 进行了硬编码,但那只是因为 HC 仍然需要一个前端(在下一篇专栏文章中会涉及到)。 然而,您可能已经意识到了使用编译器的强大功能:DFA 构造算法来负责所有状态管理。 有关 XM 有趣的反馈意见对于 XM 的状态,这里有一个快速更新。您可以回想起:XM(XSLT Make 的缩写)是“ 使用 XML”专栏中介绍的第一个项目。对于用 XML 和 XSLT 来发布网站,XM 是一个能承担此任务的解决方案。我暂停了 XM 开发是为了收集用户的反馈意见。 迄今为止,我已经在 ananas 讨论邮件列表上收到了一些反馈意见,但我还是很想收到更多来自您那里的意见,因此希望大家能自由踊跃地发表意见。在上月,我还用 XM 构建了两个新网站。第一个网站是用 XML 部分重写了 Pineapplesoft(我的咨询公司)公司的网站。第二个网站是我的一个简短的咨询任务,旨在帮助一家组织实现 XML 和 XSLT。 邮件列表和其它一些经验使我发现了几个错误,而且我已经纠正了其中的大部分。邮件列表和经验还让我更深入了解了第三方是如何部署 XM 的。这些经验还促使我要增加两个新特性:
|
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |