|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個軟體套件 下一個軟體套件 | 框架 無框架 | |||||||||
請參見:
描述
| 類別摘要 | |
|---|---|
| Schema | 不可變的語法存儲表示形式。 |
| SchemaFactory | 創建 Schema 物件的處理器。 |
| SchemaFactoryLoader | 創建 SchemaFactory 的處理器。 |
| TypeInfoProvider | 此類別提供了對 ValidatorHandler 所確定的型別資訊的存取。 |
| Validator | 根據 Schema 檢查 XML 文檔的處理器。 |
| ValidatorHandler | 處理 SAX 串流的串流驗證器。 |
此套件提供了用於 XML 文檔驗證的 API。Validation 是驗證 XML 文檔是否為指定 XML schema 的實例的過程。XML 網要定義了其實例文檔將表示的內容網要(也稱為 grammar 或 vocabulary)。
有多種串流行的技術用於創建 XML 網要。最串流行的技術包括:
以前的 JAXP 版本支持作為 XML 解析器的功能的驗證,要麼通過 SAXParser 實例,要麼通過 DocumentBuilder 實例來表示。
JAXP 驗證 API 從 XML 文檔解析中分離出實例文檔的驗證。這具有幾種優點,一些原因包括:
用例。以下範例演示了通過 Validation API 驗證 XML 文檔(為了方便閱讀,此例未顯示某些異常處理):
// parse an XML document into a DOM tree
DocumentBuilder parser = DocumentBuilderFactory.newInstance().newDocumentBuilder();
Document document = parser.parse(new File("instance.xml"));
// create a SchemaFactory capable of understanding WXS schemas
SchemaFactory factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI);
// load a WXS schema, represented by a Schema instance
Source schemaFile = new StreamSource(new File("mySchema.xsd"));
Schema schema = factory.newSchema(schemaFile);
// create a Validator instance, which can be used to validate an instance document
Validator validator = schema.newValidator();
// validate the DOM tree
try {
validator.validate(new DOMSource(document));
} catch (SAXException e) {
// instance document is invalid!
}
JAXP 解析 API 已經與驗證 API 進行了集成。應用程序可以通過驗證 API 創建 Schema,並通過使用 DocumentBuilderFactory.setSchema(Schema) 和 SAXParserFactory.setSchema(Schema) 方法將其與 DocumentBuilderFactory 或 SAXParserFactory 實例進行關聯。您不能既設置網要,又調用解析器處理器上的 setValidating(true)。前者的技術將導致解析器使用新的驗證 API,後者將導致解析器使用它們自己的內部驗證工具。同時調整這兩個選項將導致冗余行為或錯誤條件。
|
JavaTM 2 Platform Standard Ed. 6 |
|||||||||
| 上一個軟體套件 下一個軟體套件 | 框架 無框架 | |||||||||
版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only。