日期:2014-05-20  浏览次数:20750 次

关于InputSource类中的systemid的问题
在InputSource类中有一个systemID属性和一个publicID属性,都是String类型,这两个属性是干什么用的,应该如何设置它?

------解决方案--------------------
getSystemId
public String getSystemId()获取此输入源的系统标识符。
getEncoding 方法将返回所指向对象的字符编码,如果未知,则返回 null。
如果系统 ID 是 URL,则将完整解析它。
返回:
系统标识符,如果未提供,则返回 null。

setSystemId
public void setSystemId(String systemId)设置此输入源的系统标识符。
如果有字节流或字符流,则系统标识符是可选的,但提供系统标识符非常有用,这是因为应用程序可以使用它解析相对 URI,并且可以将它包含在错误消息和警告中(解析器仅在未指定字节流或字符流时尝试打开到 URI 的连接)。
如果应用程序知道系统标识符所指向的对象的字符编码,则可以使用 setEncoding 方法来注册编码。
如果系统标识符是 URL,则必须完整解析它(它不可以是相对 URL)。
参数:
systemId - 字符串形式的系统标识符。
------解决方案--------------------
setPublicId
public void setPublicId(String publicId)设置此输入源的公共标识符。
公共标识符始终为可选的:如果应用程序编写者包括一个公共标识符,则将把它作为位置信息的一部分提供。
参数:
publicId - 字符串形式的公共标识符。

getPublicId
public String getPublicId()获取此输入源的公共标识符。
返回:
公共标识符,如果未提供,则返回 null。