<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 431,  comments - 344,  trackbacks - 0

    軟件包 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 模式。最流行的技術包括:

    • Document Type Definition (DTD) -- XML 的內置模式語言。
    • W3C XML Schema (WXS) -- 面向對象的 XML 模式語言。WXS 還提供了用于約束 XML 文檔的字符數據的類型系統。WXS 通過 World Wide Web Consortium (W3C) 維護,它是 W3C Recommendation(即公認的 W3C 標準規范)。
    • RELAX NG (RNG) -- 基于模式的、用戶友好的 XML 模式語言。RNG 模式也可以使用類型來約束 XML 字符數據。RNG 通過 Organization for the Advancement of Structured Information Standards (OASIS) 維護,它既是 OASIS 標準也是 ISO (International Organization for Standardization) 標準。
    • Schematron -- 基于規則的 XML 模式語言。相對于 DTD、WXS 和 RNG 是用于表示內容模式的結構而言,Schematron 的設計是為了實施難以或不能通過其他模式語言表示的個別規則。Schematron 是為了補充以結構化模式語言(例如 aforementioned)編寫的模式。Schematron 正在成為一項 ISO 標準。

    以前的 JAXP 版本支持作為 XML 解析器的功能的驗證,要么通過 SAXParser 實例,要么通過 DocumentBuilder 實例來表示。

    JAXP 驗證 API 從 XML 文檔解析中分離出實例文檔的驗證。這具有幾種優點,一些原因包括:

    • 支持額外的模式語言。 從 JDK 1.5 開始,兩種最流行的 JAXP 解析器實現(Crimson 和 Xerces)僅支持可用的 XML 模式語言的子集。Validation API 提供了標準的機制,應用程序通過此機制可利用支持額外模式語言的規范驗證庫。
    • 簡單的 XML 實例與模式的運行時耦合。 指定要用于通過 JAXP 解析器驗證的模式位置可能易于混淆。Validation API 使此過程變得簡單(參見以下示例)。

    用例以下示例演示了通過 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,后者將導致解析器使用它們自己的內部驗證工具。同時調整這兩個選項將導致冗余行為或錯誤條件。

    posted on 2008-03-07 11:03 周銳 閱讀(553) 評論(1)  編輯  收藏 所屬分類: Apache 、Java
    主站蜘蛛池模板: 成人免费观看一区二区| 亚洲国产综合无码一区| 精品无码国产污污污免费网站| 亚洲6080yy久久无码产自国产| 久久精品国产亚洲77777| 久久久久亚洲?V成人无码| 日本高清免费不卡在线| 丁香花免费高清视频完整版| 免费福利在线视频| 国产无遮挡色视频免费观看性色 | 一级毛片a免费播放王色电影| 久久久久se色偷偷亚洲精品av | www成人免费视频| 老牛精品亚洲成av人片| 亚洲国产美女视频| 4480yy私人影院亚洲| 久久久青草青青亚洲国产免观 | 中文字幕不卡免费高清视频| 国产av无码专区亚洲av毛片搜| 亚洲精品无码中文久久字幕| 亚洲国产成人精品电影| 久久久久亚洲精品天堂| 亚洲成人激情在线| 亚洲欧洲日产国产综合网| 亚洲AV无码国产精品色午友在线| 亚洲香蕉成人AV网站在线观看| 亚洲一区二区视频在线观看| 免费国产在线观看老王影院| 宅男666在线永久免费观看| 天天操夜夜操免费视频| 成人免费视频观看无遮挡| 成年女性特黄午夜视频免费看| 成人爽A毛片免费看| 最近高清国语中文在线观看免费| 欧美男同gv免费网站观看| 四虎永久在线精品免费网址| 国色精品卡一卡2卡3卡4卡免费| 成人免费AA片在线观看| 成人毛片免费播放| 国产免费131美女视频| vvvv99日韩精品亚洲|