我正在解析一个 xml 文档,其中可能有一些如下所示的行:
<para>This is a sentence. Here is my<link>link</link>.</para>
我希望能够用我的解析器检查链接元素之前和之后总是有一个空格,但标签本身没有,所以 XML 看起来像这样:
<para>This is a sentence. Here is my <link>link</link> .</para>
关于如何检查的任何想法?
一些注意事项:
- 我同时使用 SAX 和 DOM 来解析我的文档
- 我想要这样,如果适当的地方没有空间,我的解析器会发出警告
到目前为止,这就是我的代码中的全部内容:
public static void spacesForLinks(Node node, List<DocLintException> errors) {
Node parent = node.getParentNode();
String info = parent.getTextContent();
boolean extraSpace = false;
if (extraSpace) {
int row = Integer.parseInt(node.getUserData(
DocLintSAXParser.LINE_NUMBER_KEY_NAME).toString());
int col = Integer.parseInt(node.getUserData(
DocLintSAXParser.COL_NUMBER_KEY_NAME).toString());
String systemID = node.getUserData(
DocLintSAXParser.SYSTEM_ID_KEY_NAME).toString();
DocLintException error = new DocLintException(
row,
col,
systemID,
"There should be spaces around the link element.",
DocLintException.ErrorType.Warning);
errors.add(error);
}
}
}