KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > xquark > xquery > parser > primitivefunctions > fnfunctions > FunctionLOCAL_NAME


1 /*
2  * This file belongs to the XQuark distribution.
3  * Copyright (C) 2003 Universite de Versailles Saint-Quentin.
4  *
5  * This program is free software; you can redistribute it and/or
6  * modify it under the terms of the GNU Lesser General Public
7  * License as published by the Free Software Foundation; either
8  * version 2.1 of the License, or (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
13  * Lesser General Public License for more details.
14  *
15  * You should have received a copy of the GNU Lesser General Public
16  * License along with this program; if not, write to the Free Software
17  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307.
18  * You can also get it at http://www.gnu.org/licenses/lgpl.html
19  *
20  * For more information on this software, see http://www.xquark.org.
21  */

22
23
24 package org.xquark.xquery.parser.primitivefunctions.fnfunctions;
25
26 import java.util.ArrayList JavaDoc;
27
28 import org.xquark.xquery.parser.*;
29 import org.xquark.xquery.typing.TypeException;
30
31 /*
32 Returns the local part of the name of $srcval as a string that will either be the zero-length string, or will have the lexical form of an NCName.
33 If the argument is omitted, it defaults to the context node.
34 If there is no context node (that is, if the context item is not a node), the function returns the zero-length string.
35 If the argument is supplied and is the empty sequence, the function returns the zero-length string.
36 If the target node has no name (that is, if it is a document node, a comment, or a text node), the function returns the zero-length string.
37 Otherwise, the value returned will be the local part of the expanded-QName of the target node (as determined by the name accessor in the data model).
38 This will be a string whose lexical form is an NCName.
39 */

40 public class FunctionLOCAL_NAME extends PrimitiveFunctionCall {
41     
42     private static final String JavaDoc RCSRevision = "$Revision: 1.6 $";
43     private static final String JavaDoc RCSName = "$Name: $";
44     
45     // #############################################################################
46
// VISITOR STUFF
47
// #############################################################################
48

49     public void accept(ParserVisitor visitor) throws XQueryException {
50         visitor.visit(this);
51     }
52     
53     // #############################################################################
54
// CONSTRUCTOR STUFF
55
// #############################################################################
56

57     public FunctionLOCAL_NAME(ArrayList JavaDoc args, XQueryModule parentModule) throws TypeException, XQueryException {
58         super(new QName("local-name",null),args);
59         setParentModule(parentModule);
60         if (parentModule != null && parentModule.getStaticContext().getTypeVisitor() != null)
61             accept(parentModule.getStaticContext().getTypeVisitor());
62     }
63     
64     // this function should be called with one argument
65
public void setArguments(ArrayList JavaDoc arguments) throws XQueryException {
66         if (arguments == null || arguments.size() != 1) throw new XQueryException("Only partial specification, function local-name should have one argument");
67         super.setArguments(arguments);
68     }
69         
70 }
71
72
73
Popular Tags