JavaTM 2 Platform
Standard Ed. 6

軟體套件 javax.xml.validation

此套件提供了用於 XML 文檔驗證的 API。

請參見:
          描述

類別摘要
Schema 不可變的語法存儲表示形式。
SchemaFactory 創建 Schema 物件的處理器。
SchemaFactoryLoader 創建 SchemaFactory 的處理器。
TypeInfoProvider 此類別提供了對 ValidatorHandler 所確定的型別資訊的存取。
Validator 根據 Schema 檢查 XML 文檔的處理器。
ValidatorHandler 處理 SAX 串流的串流驗證器。
 

軟體套件 javax.xml.validation 的描述

此套件提供了用於 XML 文檔驗證的 API。Validation 是驗證 XML 文檔是否為指定 XML schema 的實例的過程。XML 網要定義了其實例文檔將表示的內容網要(也稱為 grammarvocabulary)。

有多種串流行的技術用於創建 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) 方法將其與 DocumentBuilderFactorySAXParserFactory 實例進行關聯。您不能既設置網要,又調用解析器處理器上的 setValidating(true)。前者的技術將導致解析器使用新的驗證 API,後者將導致解析器使用它們自己的內部驗證工具。同時調整這兩個選項將導致冗余行為或錯誤條件。


JavaTM 2 Platform
Standard Ed. 6

提交錯誤或意見

版權所有 2008 Sun Microsystems, Inc. 保留所有權利。請遵守GNU General Public License, version 2 only