1 /* 2 * The contents of this file are subject to the terms of the Common Development 3 * and Distribution License (the License). You may not use this file except in 4 * compliance with the License. 5 * 6 * You can obtain a copy of the License at http://www.netbeans.org/cddl.html 7 * or http://www.netbeans.org/cddl.txt. 8 * 9 * When distributing Covered Code, include this CDDL Header Notice in each file 10 * and include the License file at http://www.netbeans.org/cddl.txt. 11 * If applicable, add the following below the CDDL Header, with the fields 12 * enclosed by brackets [] replaced by your own identifying information: 13 * "Portions Copyrighted [year] [name of copyright owner]" 14 * 15 * The Original Software is NetBeans. The Initial Developer of the Original 16 * Software is Sun Microsystems, Inc. Portions Copyright 1997-2006 Sun 17 * Microsystems, Inc. All Rights Reserved. 18 */ 19 20 package org.netbeans.api.xml.cookies; 21 22 import org.openide.nodes.Node; 23 24 /** 25 * Validate XML document entity (in polyform manner). 26 * <p>Implemenmtation must follow XML 1.0 specification for processors 27 * conformance. It is allowed to extend the contract to support domain 28 * specifics semantics checks (i.e. XML Schema). It must not change UI state. 29 * <p> 30 * It should be gracefully served by all data objects and explorer nodes 31 * representing validateable XML resources. 32 * <p> 33 * <h3>Use Cases</h3> 34 * <ul> 35 * <li><b>Provider</b> needs to define domain specifics semantics checks such as 36 * XML Schema based validation, Ant script dependency cycles checking, etc. 37 * <li><b>Client</b> needs to check XML document entities transparently without 38 * appriory knowledge how to perform it for specifics XML document type. 39 * </ul> 40 * 41 * @author Petr Kuzel 42 * @see CheckXMLCookie 43 * @see <a HREF="http://www.w3.org/TR/REC-xml#proc-types">XML 1.0</a> 44 */ 45 public interface ValidateXMLCookie extends Node.Cookie { 46 47 /** 48 * Validate XML document entity. 49 * @param observer Optional listener (<code>null</code> allowed) 50 * giving judgement details via {@link XMLProcessorDetail}s. 51 * @return true if validity check passes. 52 */ 53 boolean validateXML(CookieObserver observer); 54 55 } 56