1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* This Source Code Form is subject to the terms of the Mozilla Public
3 * License, v. 2.0. If a copy of the MPL was not distributed with this
4 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6 #ifndef TX_PATTERNPARSER_H
7 #define TX_PATTERNPARSER_H
9 #include "txXSLTPatterns.h"
10 #include "txExprParser.h"
12 class txStylesheetCompilerState
;
14 class txPatternParser
: public txExprParser
{
16 static nsresult
createPattern(const nsString
& aPattern
,
17 txIParseContext
* aContext
, txPattern
** aResult
);
20 static nsresult
createUnionPattern(txExprLexer
& aLexer
,
21 txIParseContext
* aContext
,
22 txPattern
*& aPattern
);
23 static nsresult
createLocPathPattern(txExprLexer
& aLexer
,
24 txIParseContext
* aContext
,
25 txPattern
*& aPattern
);
26 static nsresult
createIdPattern(txExprLexer
& aLexer
, txPattern
*& aPattern
);
27 static nsresult
createKeyPattern(txExprLexer
& aLexer
,
28 txIParseContext
* aContext
,
29 txPattern
*& aPattern
);
30 static nsresult
createStepPattern(txExprLexer
& aLexer
,
31 txIParseContext
* aContext
,
32 txPattern
*& aPattern
);
35 #endif // TX_PATTERNPARSER_H