|
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。