1·But the focus of the example is the use of stored information to access subdocuments using our good friend the SAX parser.
但是该示例的焦点在于存储信息的使用以用我们的好朋友sax语法分析器来访问子文档。
2·These special translation tags not only lend a logical organization to the XML structure, they also allow an application built around an XML parser to understand how to process the globalized data.
这些特殊的翻译标记不仅向XML结构提供了逻辑组织,而且允许围绕xml语法分析器构建应用程序,以理解如何处理全球化数据。
3·That's why, without a DTD, it's not safe for the parser to assume what whitespace means.
这就是为什么如果没有 DTD,而让语法分析器来假定空格的含义是不安全的。
4·Now, if you follow the method in Listing 3, your SAX code can hum along without even having to be recompiled, using different parser implementations as needed.
现在,如果使用“清单3”中的方法,那么SAX代码甚至不必进行重新编译就能运行,并根据需要使用不同的语法分析器实现。
5·In Listing 2, changing parser implementations simply involves changing a single class name.
在清单2中,更改语法分析器实现只涉及更改一个类名。
1·Then the class USES some of the parser API to get a list of declarations.
然后该类使用一些剖析器api,以得到声明的一个列表。
2·We have also taken a brief look at how to define an analysis result class and given a bit of an overview of the parser.
同时我们还简略的学习了,怎样去定义一个分析结果类,并给出了剖析器的概述。
3·This provider deals only with C and C++ files; therefore, you need to ignore other file types, because they may cause your parser to produce false results.
该 Provider 只处理 C 和 C++ 文件,因此,您需要忽略其他种类的文件,因为这些文件可能导致您的剖析器产生错误的结果。
4·This code iterates through each resource and creates an instance of the CodeReviewResource class (the C++ parser) that you created previously.
该代码通过每个资源进行遍历,并创建了您在前面创建的类 CodeReviewResource (C++ 剖析器)的一个实例。
5·The provider's only duty is to create a new parser instance for each resource being analyzed and pass it down to the rules.
Provider唯一的任务,是为分析的每一个资源创建新的剖析器,并将其传递给规则。
1·If the XML parser sees a null character in its input, it throws an exception and stops processing.
如果 XML 分析程序在其输入中看到一个空字符,它就会发出异常并停止处理。