зеркало из https://github.com/mozilla/pjs.git
initial checkin: generate-id extension function
This commit is contained in:
Родитель
7d27400818
Коммит
792ef94f37
|
@ -0,0 +1,62 @@
|
|||
/*
|
||||
* The contents of this file are subject to the Mozilla Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is XSL:P XSLT processor.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Keith Visco.
|
||||
* Portions created by Keith Visco (C) 1999, 2000 Keith Visco.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* Keith Visco, kvisco@ziplink.net
|
||||
* -- original author.
|
||||
*
|
||||
* $Id: GenerateIdFunctionCall.cpp,v 1.1 2000-04-19 10:39:27 kvisco%ziplink.net Exp $
|
||||
*/
|
||||
|
||||
#include "XSLTFunctions.h"
|
||||
|
||||
/*
|
||||
Implementation of XSLT 1.0 extension function: generate-id
|
||||
*/
|
||||
|
||||
/**
|
||||
* Creates a new generate-id function call
|
||||
**/
|
||||
GenerateIdFunctionCall::GenerateIdFunctionCall(DOMHelper* domHelper) : FunctionCall(GENERATE_ID_FN)
|
||||
{
|
||||
this->domHelper = domHelper;
|
||||
} //-- GenerateIdFunctionCall
|
||||
|
||||
/**
|
||||
* Evaluates this Expr based on the given context node and processor state
|
||||
* @param context the context node for evaluation of this Expr
|
||||
* @param ps the ContextState containing the stack information needed
|
||||
* for evaluation
|
||||
* @return the result of the evaluation
|
||||
* @see FunctionCall.h
|
||||
**/
|
||||
ExprResult* GenerateIdFunctionCall::evaluate(Node* context, ContextState* cs) {
|
||||
|
||||
Node* node = context;
|
||||
|
||||
String id;
|
||||
|
||||
int argc = params.getLength();
|
||||
|
||||
|
||||
domHelper->generateId(node, id);
|
||||
|
||||
return new StringResult(id);
|
||||
|
||||
} //-- evaluate
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
|
||||
|
||||
ROOT = ../..
|
||||
BASE = $(ROOT)/base
|
||||
XPATH = $(ROOT)/xpath
|
||||
XML = $(ROOT)/xml
|
||||
XML_UTIL = $(XML)/util
|
||||
DOM = $(XML)/dom
|
||||
XSLT = $(ROOT)/xslt
|
||||
|
||||
ALL_OBJS = \
|
||||
GenerateIdFunctionCall.o
|
||||
|
||||
INCLUDE_PATH = -I. \
|
||||
-I$(BASE) \
|
||||
-I$(XPATH) \
|
||||
-I$(XML) \
|
||||
-I$(XML_UTIL) \
|
||||
-I$(DOM) \
|
||||
-I$(XSLT) \
|
||||
-I$(XSLT)/util
|
||||
|
||||
target: $(ALL_OBJS)
|
||||
|
||||
GenerateIdFunctionCall.o: XSLTFunctions.h GenerateIdFunctionCall.cpp
|
||||
$(CC) $(INCLUDE_PATH) -c GenerateIdFunctionCall.cpp
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -0,0 +1,59 @@
|
|||
/*
|
||||
* The contents of this file are subject to the Mozilla Public
|
||||
* License Version 1.1 (the "License"); you may not use this file
|
||||
* except in compliance with the License. You may obtain a copy of
|
||||
* the License at http://www.mozilla.org/MPL/
|
||||
*
|
||||
* Software distributed under the License is distributed on an "AS
|
||||
* IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or
|
||||
* implied. See the License for the specific language governing
|
||||
* rights and limitations under the License.
|
||||
*
|
||||
* The Original Code is XSL:P XSLT processor.
|
||||
*
|
||||
* The Initial Developer of the Original Code is Keith Visco.
|
||||
* Portions created by Keith Visco (C) 1999, 2000 Keith Visco.
|
||||
* All Rights Reserved.
|
||||
*
|
||||
* Contributor(s):
|
||||
*
|
||||
* Keith Visco, kvisco@ziplink.net
|
||||
* -- original author.
|
||||
*
|
||||
* $Id: XSLTFunctions.h,v 1.1 2000-04-19 10:40:06 kvisco%ziplink.net Exp $
|
||||
*/
|
||||
|
||||
#include "dom.h"
|
||||
#include "Expr.h"
|
||||
#include "ExprResult.h"
|
||||
#include "Names.h"
|
||||
#include "DOMHelper.h"
|
||||
#include "TxString.h"
|
||||
|
||||
#ifndef TRANSFRMX_XSLT_FUNCTIONS_H
|
||||
#define TRANSFRMX_XSLT_FUNCTIONS_H
|
||||
|
||||
class GenerateIdFunctionCall : public FunctionCall {
|
||||
|
||||
public:
|
||||
|
||||
/**
|
||||
* Creates a new generate-id function call
|
||||
**/
|
||||
GenerateIdFunctionCall(DOMHelper* domHelper);
|
||||
|
||||
/**
|
||||
* Evaluates this Expr based on the given context node and processor state
|
||||
* @param context the context node for evaluation of this Expr
|
||||
* @param ps the ContextState containing the stack information needed
|
||||
* for evaluation
|
||||
* @return the result of the evaluation
|
||||
* @see FunctionCall.h
|
||||
**/
|
||||
virtual ExprResult* evaluate(Node* context, ContextState* cs);
|
||||
|
||||
private:
|
||||
DOMHelper* domHelper;
|
||||
};
|
||||
|
||||
#endif
|
Загрузка…
Ссылка в новой задаче