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:
20: package org.netbeans.modules.xslt.model;
21:
22: import java.util.List;
23:
24: import javax.xml.namespace.QName;
25:
26: /**
27: * <pre>
28: * <xs:element name="template" substitutionGroup="xsl:declaration">
29: * <xs:complexType>
30: * <xs:complexContent mixed="true">
31: * <xs:extension base="xsl:versioned-element-type">
32: * <xs:sequence>
33: * <xs:element ref="xsl:param" minOccurs="0" maxOccurs="unbounded"/>
34: * <xs:group ref="xsl:sequence-constructor-group" minOccurs="0" maxOccurs="unbounded"/>
35: * </xs:sequence>
36: * <xs:attribute name="match" type="xsl:pattern"/>
37: * <xs:attribute name="priority" type="xs:decimal"/>
38: * <xs:attribute name="mode" type="xsl:modes"/>
39: * <xs:attribute name="name" type="xsl:QName"/>
40: * <xs:attribute name="as" type="xsl:sequence-type" default="item()*"/>
41: * </xs:extension>
42: * </xs:complexContent>
43: * </xs:complexType>
44: * </xs:element>
45: * </pre>
46: *
47: * @author ads
48: *
49: */
50: public interface Template extends QualifiedNameable,
51: SequenceConstructor, ParamContainer, Declaration, AsSpec,
52: MatchSpec {
53:
54: String PRIORITY = "priority"; // NOI18N
55:
56: String MODE = ApplyTemplates.MODE;
57:
58: /**
59: * @return priority attribute for this template.
60: */
61: Double getPriority();
62:
63: /**
64: * Set new value for priority attribute.
65: * @param priority
66: */
67: void setPriority(Double priority);
68:
69: /**
70: * @return either a list, each member being either a QName or #default;
71: * or the value #all
72: */
73: List<QName> getMode();
74:
75: /**
76: * Set value for attribute "mode".
77: * @param mode new value
78: */
79: void setMode(List<QName> mode);
80: }
|