01: /*
02: * The contents of this file are subject to the terms of the Common Development
03: * and Distribution License (the License). You may not use this file except in
04: * compliance with the License.
05: *
06: * You can obtain a copy of the License at http://www.netbeans.org/cddl.html
07: * or http://www.netbeans.org/cddl.txt.
08: *
09: * 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-2007 Sun
17: * Microsystems, Inc. All Rights Reserved.
18: */
19: package org.netbeans.modules.xslt.model;
20:
21: import java.util.List;
22:
23: /**
24: * <pre>
25: * <xs:element name="next-match" substitutionGroup="xsl:instruction">
26: * <xs:complexType>
27: * <xs:complexContent>
28: * <xs:extension base="xsl:element-only-versioned-element-type">
29: * <xs:choice minOccurs="0" maxOccurs="unbounded">
30: * <xs:element ref="xsl:with-param"/>
31: * <xs:element ref="xsl:fallback"/>
32: * </xs:choice>
33: * </xs:extension>
34: * </xs:complexContent>
35: * </xs:complexType>
36: * </xs:element>
37: * </pre>
38: * @author ads
39: *
40: */
41: public interface NextMatch extends Instruction {
42:
43: String CHILD_ELEMENTS = "fallback_or_with-param"; // NOI18N
44:
45: /**
46: * @return unmodifiable collection of children elements
47: */
48: List<NextMatchChild> getChildElements();
49:
50: /**
51: * Append new <code>child</code> element at the end of children list.
52: * @param child new child component
53: */
54: void appendChildElement(NextMatchChild child);
55:
56: /**
57: * Insert new <code>child</code> element at <code>position</code>.
58: * @param child new child element
59: * @param position index in children list
60: */
61: void addChildElement(NextMatchChild child, int position);
62:
63: /**
64: * Removes <code>child</code> from chilren list.
65: * @param child child component
66: */
67: void removeChildElement(NextMatchChild child);
68: }
|