19f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson/* 29f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * Licensed to the Apache Software Foundation (ASF) under one 39f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * or more contributor license agreements. See the NOTICE file 49f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * distributed with this work for additional information 59f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * regarding copyright ownership. The ASF licenses this file 69f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * to you under the Apache License, Version 2.0 (the "License"); 79f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * you may not use this file except in compliance with the License. 89f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * You may obtain a copy of the License at 99f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * 109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * http://www.apache.org/licenses/LICENSE-2.0 119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * 129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * Unless required by applicable law or agreed to in writing, software 139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * distributed under the License is distributed on an "AS IS" BASIS, 149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * See the License for the specific language governing permissions and 169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * limitations under the License. 179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson/* 199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * $Id: XSLTSchema.java 476466 2006-11-18 08:22:31Z minchau $ 209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonpackage org.apache.xalan.processor; 229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 239f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport java.util.HashMap; 249f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 259f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.Constants; 269f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemApplyImport; 279f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemApplyTemplates; 289f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemAttribute; 299f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemCallTemplate; 309f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemChoose; 319f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemComment; 329f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemCopy; 339f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemCopyOf; 349f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemElement; 359f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemExsltFuncResult; 369f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemExsltFunction; 379f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemExtensionDecl; 389f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemExtensionScript; 399f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemFallback; 409f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemForEach; 419f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemIf; 429f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemLiteralResult; 439f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemMessage; 449f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemNumber; 459f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemOtherwise; 469f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemPI; 479f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemParam; 489f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemSort; 499f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemTemplate; 509f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemText; 519f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemTextLiteral; 529f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemUnknown; 539f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemValueOf; 549f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemVariable; 559f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemWhen; 569f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xalan.templates.ElemWithParam; 579f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonimport org.apache.xml.utils.QName; 589f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 599f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson/** 609f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * This class defines the allowed structure for a stylesheet, and the 619f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * mapping between Xalan classes and the markup elements in the stylesheet. 629f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @see <a href="http://www.w3.org/TR/xslt#dtd">XSLT DTD</a> 639f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 649f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilsonpublic class XSLTSchema extends XSLTElementDef 659f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson{ 669f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 679f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson /** 689f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * Construct a XSLTSchema which represents the XSLT "schema". 699f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 709f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTSchema() 719f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson { 729f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson build(); 739f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson } 749f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 759f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson /** 769f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * This method builds an XSLT "schema" according to http://www.w3.org/TR/xslt#dtd. This 779f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * schema provides instructions for building the Xalan Stylesheet (Templates) structure. 789f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 799f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson void build() 809f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson { 819f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:import, xsl:include 829f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef hrefAttr = new XSLTAttributeDef(null, "href", 839f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_URL, true, false,XSLTAttributeDef.ERROR); 849f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 859f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:preserve-space, xsl:strip-space 869f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef elementsAttr = new XSLTAttributeDef(null, "elements", 879f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_SIMPLEPATTERNLIST, 889f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson true, false, XSLTAttributeDef.ERROR); 899f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 909f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // XSLTAttributeDef anyNamespacedAttr = new XSLTAttributeDef("*", "*", 919f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // XSLTAttributeDef.T_CDATA, false); 929f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 939f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:output 949f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef methodAttr = new XSLTAttributeDef(null, "method", 959f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_QNAME, false, false,XSLTAttributeDef.ERROR); 969f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef versionAttr = new XSLTAttributeDef(null, "version", 979f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_NMTOKEN, false, false,XSLTAttributeDef.ERROR); 989f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef encodingAttr = new XSLTAttributeDef(null, "encoding", 999f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CDATA, false, false,XSLTAttributeDef.ERROR); 1009f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef omitXmlDeclarationAttr = new XSLTAttributeDef(null, 1019f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "omit-xml-declaration", 1029f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_YESNO, 1039f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson false, false,XSLTAttributeDef.ERROR); 1049f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef standaloneAttr = new XSLTAttributeDef(null, 1059f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "standalone", 1069f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_YESNO, false, false,XSLTAttributeDef.ERROR); 1079f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef doctypePublicAttr = new XSLTAttributeDef(null, 1089f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "doctype-public", 1099f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CDATA, false, false,XSLTAttributeDef.ERROR); 1109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef doctypeSystemAttr = new XSLTAttributeDef(null, 1119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "doctype-system", 1129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CDATA, false, false,XSLTAttributeDef.ERROR); 1139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef cdataSectionElementsAttr = new XSLTAttributeDef(null, 1149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "cdata-section-elements", 1159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_QNAMES_RESOLVE_NULL, 1169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson false, false,XSLTAttributeDef.ERROR); 1179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef indentAttr = new XSLTAttributeDef(null, "indent", 1189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_YESNO, false, false,XSLTAttributeDef.ERROR); 1199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef mediaTypeAttr = new XSLTAttributeDef(null, "media-type", 1209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CDATA, false, false,XSLTAttributeDef.ERROR); 1219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 1229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 1239f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // Required. 1249f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // It is an error if the name attribute is invalid on any of these elements 1259f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:key, xsl:attribute-set, xsl:call-template, xsl:with-param, xsl:variable, xsl:param 1269f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef nameAttrRequired = new XSLTAttributeDef(null, "name", 1279f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_QNAME, true, false,XSLTAttributeDef.ERROR); 1289f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // Required. 1299f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // Support AVT 1309f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:element, xsl:attribute 1319f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef nameAVTRequired = new XSLTAttributeDef(null, "name", 1329f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_AVT_QNAME, true, true,XSLTAttributeDef.WARNING); 1339f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 1349f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 1359f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // Required. 1369f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // Support AVT 1379f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:processing-instruction 1389f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef nameAVT_NCNAMERequired = new XSLTAttributeDef(null, "name", 1399f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_NCNAME, true, true,XSLTAttributeDef.WARNING); 1409f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 1419f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // Optional. 1429f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // Static error if invalid 1439f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:template, xsl:decimal-format 1449f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef nameAttrOpt_ERROR = new XSLTAttributeDef(null, "name", 1459f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_QNAME, false, false,XSLTAttributeDef.ERROR); 1469f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 1479f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:key 1489f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef useAttr = new XSLTAttributeDef(null, "use", 1499f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_EXPR, true, false,XSLTAttributeDef.ERROR); 1509f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 1519f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:element, xsl:attribute 1529f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef namespaceAVTOpt = new XSLTAttributeDef(null, 1539f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "namespace",XSLTAttributeDef.T_URL, 1549f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson false, true,XSLTAttributeDef.WARNING); 1559f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:decimal-format 1569f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef decimalSeparatorAttr = new XSLTAttributeDef(null, 1579f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "decimal-separator", 1589f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CHAR, false,XSLTAttributeDef.ERROR, "."); 1599f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef infinityAttr = new XSLTAttributeDef(null, "infinity", 1609f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CDATA, false,XSLTAttributeDef.ERROR,"Infinity"); 1619f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef minusSignAttr = new XSLTAttributeDef(null, "minus-sign", 1629f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CHAR, false,XSLTAttributeDef.ERROR,"-"); 1639f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef NaNAttr = new XSLTAttributeDef(null, "NaN", 1649f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CDATA, false,XSLTAttributeDef.ERROR, "NaN"); 1659f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef percentAttr = new XSLTAttributeDef(null, "percent", 1669f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CHAR, false,XSLTAttributeDef.ERROR, "%"); 1679f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef perMilleAttr = new XSLTAttributeDef(null, "per-mille", 1689f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CHAR, 1699f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson false, false,XSLTAttributeDef.ERROR /* ,"‰" */); 1709f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef zeroDigitAttr = new XSLTAttributeDef(null, "zero-digit", 1719f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CHAR, false,XSLTAttributeDef.ERROR, "0"); 1729f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef digitAttr = new XSLTAttributeDef(null, "digit", 1739f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CHAR, false,XSLTAttributeDef.ERROR, "#"); 1749f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef patternSeparatorAttr = new XSLTAttributeDef(null, 1759f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "pattern-separator", 1769f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CHAR, false,XSLTAttributeDef.ERROR, ";"); 1779f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:decimal-format 1789f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef groupingSeparatorAttr = new XSLTAttributeDef(null, 1799f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "grouping-separator", 1809f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CHAR, false,XSLTAttributeDef.ERROR,","); 1819f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 1829f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 1839f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:element, xsl:attribute-set, xsl:copy 1849f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef useAttributeSetsAttr = new XSLTAttributeDef(null, 1859f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "use-attribute-sets", 1869f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_QNAMES, 1879f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson false, false, XSLTAttributeDef.ERROR); 1889f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 1899f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:if, xsl:when 1909f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef testAttrRequired = new XSLTAttributeDef(null, "test", 1919f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_EXPR, true, false,XSLTAttributeDef.ERROR); 1929f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 1939f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 1949f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // Required. 1959f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:value-of, xsl:for-each, xsl:copy-of 1969f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef selectAttrRequired = new XSLTAttributeDef(null, 1979f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "select", 1989f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_EXPR, true, false,XSLTAttributeDef.ERROR); 1999f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 2009f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // Optional. 2019f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:variable, xsl:param, xsl:with-param 2029f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef selectAttrOpt = new XSLTAttributeDef(null, "select", 2039f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_EXPR, false, false,XSLTAttributeDef.ERROR); 2049f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 2059f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // Optional. 2069f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // Default: "node()" 2079f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:apply-templates 2089f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef selectAttrDefNode = new XSLTAttributeDef(null, "select", 2099f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_EXPR, false,XSLTAttributeDef.ERROR, "node()"); 2109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // Optional. 2119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // Default: "." 2129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:sort 2139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef selectAttrDefDot = new XSLTAttributeDef(null, "select", 2149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_EXPR, false,XSLTAttributeDef.ERROR, "."); 2159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:key 2169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef matchAttrRequired = new XSLTAttributeDef(null, "match", 2179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_PATTERN, true, false,XSLTAttributeDef.ERROR); 2189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:template 2199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef matchAttrOpt = new XSLTAttributeDef(null, "match", 2209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_PATTERN, false, false,XSLTAttributeDef.ERROR); 2219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:template 2229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef priorityAttr = new XSLTAttributeDef(null, "priority", 2239f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_NUMBER, false, false,XSLTAttributeDef.ERROR); 2249f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 2259f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:template, xsl:apply-templates 2269f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef modeAttr = new XSLTAttributeDef(null, "mode", 2279f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_QNAME, false, false,XSLTAttributeDef.ERROR); 2289f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 2299f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef spaceAttr = 2309f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef(Constants.S_XMLNAMESPACEURI, "space", false, false, false, XSLTAttributeDef.WARNING, 2319f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "default", Constants.ATTRVAL_STRIP, "preserve", 2329f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.ATTRVAL_PRESERVE); 2339f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 2349f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 2359f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef spaceAttrLiteral = 2369f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef(Constants.S_XMLNAMESPACEURI, "space", 2379f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_URL, false, true,XSLTAttributeDef.ERROR); 2389f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:namespace-alias 2399f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef stylesheetPrefixAttr = new XSLTAttributeDef(null, 2409f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "stylesheet-prefix", 2419f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CDATA, true, false,XSLTAttributeDef.ERROR); 2429f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef resultPrefixAttr = new XSLTAttributeDef(null, 2439f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "result-prefix", 2449f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CDATA, true, false,XSLTAttributeDef.ERROR); 2459f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 2469f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:text, xsl:value-of 2479f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef disableOutputEscapingAttr = new XSLTAttributeDef(null, 2489f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "disable-output-escaping", 2499f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_YESNO, 2509f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson false, false,XSLTAttributeDef.ERROR); 2519f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 2529f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:number 2539f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef levelAttr = new XSLTAttributeDef(null, "level", false, false, false, XSLTAttributeDef.ERROR, 2549f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "single", Constants.NUMBERLEVEL_SINGLE, 2559f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "multiple", Constants.NUMBERLEVEL_MULTI, 2569f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "any", Constants.NUMBERLEVEL_ANY); 2579f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson levelAttr.setDefault("single"); 2589f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef countAttr = new XSLTAttributeDef(null, "count", 2599f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_PATTERN, false, false,XSLTAttributeDef.ERROR); 2609f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef fromAttr = new XSLTAttributeDef(null, "from", 2619f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_PATTERN, false, false,XSLTAttributeDef.ERROR); 2629f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef valueAttr = new XSLTAttributeDef(null, "value", 2639f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_EXPR, false, false,XSLTAttributeDef.ERROR); 2649f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef formatAttr = new XSLTAttributeDef(null, "format", 2659f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CDATA, false, true,XSLTAttributeDef.ERROR); 2669f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson formatAttr.setDefault("1"); 2679f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 2689f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:number, xsl:sort 2699f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef langAttr = new XSLTAttributeDef(null, "lang", 2709f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_NMTOKEN, false, true,XSLTAttributeDef.ERROR); 2719f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 2729f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:number 2739f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef letterValueAttr = new XSLTAttributeDef(null, 2749f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "letter-value", 2759f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson false, true, false, XSLTAttributeDef.ERROR, 2769f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "alphabetic", Constants.NUMBERLETTER_ALPHABETIC, 2779f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "traditional", Constants.NUMBERLETTER_TRADITIONAL); 2789f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:number 2799f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef groupingSeparatorAVT = new XSLTAttributeDef(null, 2809f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "grouping-separator", 2819f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CHAR, false, true,XSLTAttributeDef.ERROR); 2829f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:number 2839f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef groupingSizeAttr = new XSLTAttributeDef(null, 2849f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "grouping-size", 2859f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_NUMBER, false, true,XSLTAttributeDef.ERROR); 2869f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 2879f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:sort 2889f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef dataTypeAttr = new XSLTAttributeDef(null, "data-type", false, true, true, XSLTAttributeDef.ERROR, 2899f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "text", Constants.SORTDATATYPE_TEXT ,"number", Constants.SORTDATATYPE_TEXT); 2909f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson dataTypeAttr.setDefault("text"); 2919f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 2929f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:sort 2939f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef orderAttr = new XSLTAttributeDef(null, "order", false, true, false,XSLTAttributeDef.ERROR, 2949f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "ascending", Constants.SORTORDER_ASCENDING, 2959f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "descending", Constants.SORTORDER_DESCENDING); 2969f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson orderAttr.setDefault("ascending"); 2979f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 2989f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:sort 2999f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef caseOrderAttr = new XSLTAttributeDef(null, "case-order", false, true, false,XSLTAttributeDef.ERROR, 3009f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "upper-first", Constants.SORTCASEORDER_UPPERFIRST , 3019f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "lower-first", Constants.SORTCASEORDER_LOWERFIRST); 3029f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 3039f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // xsl:message 3049f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef terminateAttr = new XSLTAttributeDef(null, "terminate", 3059f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_YESNO, false, false,XSLTAttributeDef.ERROR); 3069f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson terminateAttr.setDefault("no"); 3079f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 3089f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // top level attributes 3099f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef xslExcludeResultPrefixesAttr = 3109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef(Constants.S_XSLNAMESPACEURL, 3119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "exclude-result-prefixes", 3129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_PREFIXLIST, false, false,XSLTAttributeDef.ERROR); 3139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef xslExtensionElementPrefixesAttr = 3149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef(Constants.S_XSLNAMESPACEURL, 3159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "extension-element-prefixes", 3169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_PREFIX_URLLIST, false, false,XSLTAttributeDef.ERROR); 3179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // result-element-atts 3189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef xslUseAttributeSetsAttr = 3199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef(Constants.S_XSLNAMESPACEURL, "use-attribute-sets", 3209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_QNAMES, false, false,XSLTAttributeDef.ERROR); 3219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef xslVersionAttr = 3229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef(Constants.S_XSLNAMESPACEURL, "version", 3239f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_NMTOKEN, false, false,XSLTAttributeDef.ERROR); 3249f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 3259f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef charData = new XSLTElementDef(this, null, "text()", 3269f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, null /* elements */, null, /* attributes */ 3279f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorCharacters(), 3289f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemTextLiteral.class /* class object */); 3299f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 3309f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charData.setType(XSLTElementDef.T_PCDATA); 3319f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 3329f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef whiteSpaceOnly = new XSLTElementDef(this, null, "text()", 3339f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, null /* elements */, 3349f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null, /* attributes */ 3359f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null, 3369f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemTextLiteral.class /* should be null? -sb */); 3379f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 3389f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charData.setType(XSLTElementDef.T_PCDATA); 3399f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 3409f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef resultAttr = new XSLTAttributeDef(null, "*", 3419f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_AVT, false, true,XSLTAttributeDef.WARNING); 3429f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef xslResultAttr = 3439f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef(Constants.S_XSLNAMESPACEURL, "*", 3449f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CDATA, false, false,XSLTAttributeDef.WARNING); 3459f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 3469f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef[] templateElements = new XSLTElementDef[23]; 3479f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef[] templateElementsAndParams = new XSLTElementDef[24]; 3489f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef[] templateElementsAndSort = new XSLTElementDef[24]; 3499f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson //exslt 3509f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef[] exsltFunctionElements = new XSLTElementDef[24]; 3519f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 3529f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef[] charTemplateElements = new XSLTElementDef[15]; 3539f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef resultElement = new XSLTElementDef(this, null, "*", 3549f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 3559f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements /* elements */, 3569f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 3579f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson spaceAttrLiteral, // special 3589f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson xslExcludeResultPrefixesAttr, 3599f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson xslExtensionElementPrefixesAttr, 3609f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson xslUseAttributeSetsAttr, 3619f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson xslVersionAttr, 3629f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson xslResultAttr, 3639f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson resultAttr }, 3649f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorLRE(), 3659f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemLiteralResult.class /* class object */, 20, true); 3669f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef unknownElement = 3679f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef(this, "*", "unknown", null /*alias */, 3689f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElementsAndParams /* elements */, 3699f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ xslExcludeResultPrefixesAttr, 3709f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson xslExtensionElementPrefixesAttr, 3719f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson xslUseAttributeSetsAttr, 3729f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson xslVersionAttr, 3739f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson xslResultAttr, 3749f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson resultAttr }, 3759f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorUnknown(), 3769f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemUnknown.class /* class object */, 20, true); 3779f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslValueOf = new XSLTElementDef(this, 3789f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "value-of", 3799f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, null /* elements */, 3809f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ selectAttrRequired, 3819f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson disableOutputEscapingAttr }, 3829f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 3839f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemValueOf.class /* class object */, 20, true); 3849f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslCopyOf = new XSLTElementDef(this, 3859f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "copy-of", 3869f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, null /* elements */, 3879f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ selectAttrRequired }, 3889f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 3899f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemCopyOf.class /* class object */, 20, true); 3909f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslNumber = new XSLTElementDef(this, 3919f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "number", 3929f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, null /* elements */, 3939f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ levelAttr, 3949f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson countAttr, 3959f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson fromAttr, 3969f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson valueAttr, 3979f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson formatAttr, 3989f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson langAttr, 3999f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson letterValueAttr, 4009f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson groupingSeparatorAVT, 4019f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson groupingSizeAttr }, 4029f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 4039f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemNumber.class /* class object */, 20, true); 4049f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 4059f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // <!-- xsl:sort cannot occur after any other elements or 4069f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // any non-whitespace character --> 4079f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslSort = new XSLTElementDef(this, 4089f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 4099f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "sort", null /*alias */, 4109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* elements */, 4119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 4129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson selectAttrDefDot, 4139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson langAttr, 4149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson dataTypeAttr, 4159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson orderAttr, 4169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson caseOrderAttr }, 4179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 4189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemSort.class/* class object */, 19, true ); 4199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslWithParam = new XSLTElementDef(this, 4209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 4219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "with-param", null /*alias */, 4229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements /* elements */, // %template;> 4239f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ nameAttrRequired, 4249f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson selectAttrOpt }, new ProcessorTemplateElem(), 4259f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemWithParam.class /* class object */, 19, true); 4269f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslApplyTemplates = new XSLTElementDef(this, 4279f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 4289f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "apply-templates", null /*alias */, 4299f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef[]{ xslSort, 4309f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson xslWithParam } /* elements */, new XSLTAttributeDef[]{ 4319f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson selectAttrDefNode, 4329f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson modeAttr }, 4339f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 4349f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemApplyTemplates.class /* class object */, 20, true); 4359f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslApplyImports = 4369f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef(this, Constants.S_XSLNAMESPACEURL, "apply-imports", 4379f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, null /* elements */, 4389f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{}, 4399f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 4409f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemApplyImport.class /* class object */); 4419f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslForEach = new XSLTElementDef(this, 4429f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "for-each", 4439f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, templateElementsAndSort, // (#PCDATA %instructions; %result-elements; | xsl:sort)* 4449f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ selectAttrRequired, 4459f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson spaceAttr }, 4469f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 4479f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemForEach.class /* class object */, true, false, true, 20, true); 4489f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslIf = new XSLTElementDef(this, 4499f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 4509f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "if", null /*alias */, 4519f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements /* elements */, // %template; 4529f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 4539f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson testAttrRequired, 4549f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson spaceAttr }, new ProcessorTemplateElem(), 4559f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemIf.class /* class object */, 20, true); 4569f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslWhen = 4579f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef(this, Constants.S_XSLNAMESPACEURL, "when", 4589f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, templateElements /* elements */, // %template;> 4599f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 4609f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson testAttrRequired, 4619f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson spaceAttr }, new ProcessorTemplateElem(), 4629f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemWhen.class /* class object */, 4639f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson false, true, 1, true); 4649f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslOtherwise = new XSLTElementDef(this, 4659f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "otherwise", 4669f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 4679f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements /* elements */, // %template;> 4689f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ spaceAttr }, 4699f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 4709f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemOtherwise.class /* class object */, 4719f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson false, false, 2, false); 4729f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslChoose = new XSLTElementDef(this, 4739f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "choose", 4749f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 4759f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef[]{ xslWhen, 4769f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson xslOtherwise } /* elements */, 4779f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ spaceAttr }, 4789f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 4799f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemChoose.class /* class object */, true, false, true, 20, true); 4809f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslAttribute = new XSLTElementDef(this, 4819f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "attribute", 4829f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 4839f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements /* elements */, // %char-template;> 4849f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ nameAVTRequired, 4859f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson namespaceAVTOpt, 4869f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson spaceAttr }, 4879f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 4889f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemAttribute.class /* class object */, 20, true); 4899f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslCallTemplate = 4909f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef(this, Constants.S_XSLNAMESPACEURL, "call-template", 4919f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 4929f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef[]{ xslWithParam } /* elements */, 4939f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ nameAttrRequired }, 4949f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 4959f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemCallTemplate.class /* class object */, 20, true); 4969f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslVariable = new XSLTElementDef(this, 4979f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "variable", 4989f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 4999f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements /* elements */, // %template;> 5009f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ nameAttrRequired, 5019f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson selectAttrOpt }, 5029f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 5039f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemVariable.class /* class object */, 20, true); 5049f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslParam = new XSLTElementDef(this, 5059f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "param", 5069f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 5079f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements /* elements */, // %template;> 5089f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ nameAttrRequired, 5099f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson selectAttrOpt }, 5109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 5119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemParam.class /* class object */, 19, true); 5129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslText = 5139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef(this, Constants.S_XSLNAMESPACEURL, "text", 5149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 5159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef[]{ charData } /* elements */, 5169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ disableOutputEscapingAttr }, 5179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorText(), 5189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemText.class /* class object */, 20, true); 5199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslProcessingInstruction = 5209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef(this, Constants.S_XSLNAMESPACEURL, 5219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "processing-instruction", null /*alias */, 5229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements /* elements */, // %char-template;> 5239f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 5249f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson nameAVT_NCNAMERequired, 5259f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson spaceAttr }, 5269f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 5279f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemPI.class /* class object */, 20, true); 5289f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslElement = new XSLTElementDef(this, 5299f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "element", 5309f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 5319f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements /* elements */, // %template; 5329f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ nameAVTRequired, 5339f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson namespaceAVTOpt, 5349f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson useAttributeSetsAttr, 5359f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson spaceAttr }, 5369f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 5379f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemElement.class /* class object */, 20, true); 5389f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslComment = new XSLTElementDef(this, 5399f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "comment", 5409f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 5419f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements /* elements */, // %char-template;> 5429f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ spaceAttr }, 5439f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 5449f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemComment.class /* class object */, 20, true); 5459f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslCopy = 5469f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef(this, Constants.S_XSLNAMESPACEURL, "copy", 5479f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, templateElements /* elements */, // %template;> 5489f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 5499f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson spaceAttr, 5509f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson useAttributeSetsAttr }, 5519f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 5529f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemCopy.class /* class object */, 20, true); 5539f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslMessage = new XSLTElementDef(this, 5549f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "message", 5559f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 5569f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements /* elements */, // %template;> 5579f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ terminateAttr }, 5589f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 5599f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemMessage.class /* class object */, 20, true); 5609f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef xslFallback = new XSLTElementDef(this, 5619f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "fallback", 5629f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 5639f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements /* elements */, // %template;> 5649f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ spaceAttr }, 5659f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplateElem(), 5669f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemFallback.class /* class object */, 20, true); 5679f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson //exslt 5689f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef exsltFunction = 5699f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef(this, 5709f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_EXSLT_FUNCTIONS_URL, 5719f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "function", 5729f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 5739f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson exsltFunctionElements /* elements */, 5749f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ nameAttrRequired }, 5759f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorExsltFunction(), 5769f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemExsltFunction.class /* class object */); 5779f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef exsltResult = 5789f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef(this, 5799f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_EXSLT_FUNCTIONS_URL, 5809f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "result", 5819f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 5829f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements /* elements */, 5839f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ selectAttrOpt }, 5849f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorExsltFuncResult(), 5859f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemExsltFuncResult.class /* class object */); 5869f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 5879f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 5889f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson int i = 0; 5899f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 5909f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = charData; // #PCDATA 5919f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 5929f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // char-instructions 5939f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslApplyTemplates; 5949f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslCallTemplate; 5959f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslApplyImports; 5969f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslForEach; 5979f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslValueOf; 5989f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslCopyOf; 5999f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslNumber; 6009f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslChoose; 6019f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslIf; 6029f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslText; 6039f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslCopy; 6049f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslVariable; 6059f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslMessage; 6069f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslFallback; 6079f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 6089f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // instructions 6099f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslProcessingInstruction; 6109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslComment; 6119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslElement; 6129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = xslAttribute; 6139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = resultElement; 6149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = unknownElement; 6159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = exsltFunction; 6169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements[i++] = exsltResult; 6179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 6189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson System.arraycopy(templateElements, 0, templateElementsAndParams, 0, i); 6199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson System.arraycopy(templateElements, 0, templateElementsAndSort, 0, i); 6209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson System.arraycopy(templateElements, 0, exsltFunctionElements, 0, i); 6219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 6229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElementsAndParams[i] = xslParam; 6239f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElementsAndSort[i] = xslSort; 6249f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson exsltFunctionElements[i] = xslParam; 6259f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 6269f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson i = 0; 6279f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = charData; // #PCDATA 6289f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 6299f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // char-instructions 6309f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = xslApplyTemplates; 6319f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = xslCallTemplate; 6329f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = xslApplyImports; 6339f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = xslForEach; 6349f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = xslValueOf; 6359f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = xslCopyOf; 6369f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = xslNumber; 6379f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = xslChoose; 6389f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = xslIf; 6399f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = xslText; 6409f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = xslCopy; 6419f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = xslVariable; 6429f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = xslMessage; 6439f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charTemplateElements[i++] = xslFallback; 6449f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 6459f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef importDef = new XSLTElementDef(this, 6469f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "import", 6479f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, null /* elements */, 6489f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ hrefAttr }, // EMPTY 6499f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorImport(), 6509f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* class object */, 6519f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 1, true); 6529f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef includeDef = new XSLTElementDef(this, 6539f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, "include", 6549f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, null /* elements */, // EMPTY 6559f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ hrefAttr }, 6569f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorInclude(), 6579f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* class object */, 6589f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 20, true); 6599f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 6609f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef[] scriptAttrs = new XSLTAttributeDef[]{ 6619f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef(null, "lang", XSLTAttributeDef.T_NMTOKEN, 6629f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson true, false,XSLTAttributeDef.WARNING), 6639f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef(null, "src", XSLTAttributeDef.T_URL, 6649f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson false, false,XSLTAttributeDef.WARNING)}; 6659f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 6669f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef[] componentAttrs = new XSLTAttributeDef[]{ 6679f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef(null, "prefix", XSLTAttributeDef.T_NMTOKEN, 6689f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson true, false,XSLTAttributeDef.WARNING), 6699f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef(null, "elements", XSLTAttributeDef.T_STRINGLIST, 6709f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson false, false,XSLTAttributeDef.WARNING), 6719f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef(null, "functions", XSLTAttributeDef.T_STRINGLIST, 6729f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson false, false,XSLTAttributeDef.WARNING) }; 6739f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 6749f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef[] topLevelElements = new XSLTElementDef[] 6759f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson {includeDef, 6769f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson importDef, 6779f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson // resultElement, 6789f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson whiteSpaceOnly, 6799f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson unknownElement, 6809f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef( 6819f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this, 6829f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 6839f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "strip-space", 6849f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 6859f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* elements */, 6869f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 6879f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson elementsAttr }, 6889f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorStripSpace(), 6899f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* class object */, 20, true), 6909f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef( 6919f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this, 6929f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 6939f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "preserve-space", 6949f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 6959f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* elements */, 6969f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 6979f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson elementsAttr }, 6989f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorPreserveSpace(), 6999f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* class object */, 20, true), 7009f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef( 7019f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this, 7029f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 7039f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "output", 7049f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 7059f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* elements */, 7069f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 7079f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson methodAttr, 7089f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson versionAttr, 7099f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson encodingAttr, 7109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson omitXmlDeclarationAttr, 7119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson standaloneAttr, 7129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson doctypePublicAttr, 7139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson doctypeSystemAttr, 7149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson cdataSectionElementsAttr, 7159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson indentAttr, 7169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson mediaTypeAttr, 7179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.m_foreignAttr }, 7189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorOutputElem(), null /* class object */, 20, true), 7199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef( 7209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this, 7219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 7229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "key", 7239f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 7249f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* elements */, // EMPTY 7259f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ nameAttrRequired, 7269f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson matchAttrRequired, 7279f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson useAttr }, 7289f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorKey(), null /* class object */, 20, true), 7299f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef( 7309f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this, 7319f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 7329f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "decimal-format", 7339f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 7349f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* elements */, // EMPTY 7359f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 7369f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson nameAttrOpt_ERROR, 7379f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson decimalSeparatorAttr, 7389f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson groupingSeparatorAttr, 7399f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson infinityAttr, 7409f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson minusSignAttr, 7419f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson NaNAttr, 7429f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson percentAttr, 7439f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson perMilleAttr, 7449f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson zeroDigitAttr, 7459f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson digitAttr, 7469f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson patternSeparatorAttr }, 7479f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorDecimalFormat(), 7489f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* class object */, 20, true), 7499f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef( 7509f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this, 7519f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 7529f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "attribute-set", 7539f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 7549f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef[]{ 7559f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson xslAttribute } /* elements */, 7569f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 7579f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson nameAttrRequired, 7589f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson useAttributeSetsAttr }, 7599f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorAttributeSet(), 7609f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* class object */, 20, true), 7619f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef( 7629f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this, 7639f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 7649f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "variable", 7659f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 7669f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements /* elements */, 7679f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 7689f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson nameAttrRequired, 7699f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson selectAttrOpt }, 7709f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorGlobalVariableDecl(), 7719f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemVariable.class /* class object */, 20, true), 7729f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef( 7739f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this, 7749f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 7759f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "param", 7769f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 7779f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElements /* elements */, 7789f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 7799f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson nameAttrRequired, 7809f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson selectAttrOpt }, 7819f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorGlobalParamDecl(), 7829f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemParam.class /* class object */, 20, true), 7839f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef( 7849f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this, 7859f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 7869f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "template", 7879f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 7889f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson templateElementsAndParams /* elements */, 7899f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 7909f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson matchAttrOpt, 7919f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson nameAttrOpt_ERROR, 7929f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson priorityAttr, 7939f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson modeAttr, 7949f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson spaceAttr }, 7959f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorTemplate(), ElemTemplate.class /* class object */, true, 20, true), 7969f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef( 7979f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this, 7989f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 7999f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "namespace-alias", 8009f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 8019f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* elements */, // EMPTY 8029f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 8039f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson stylesheetPrefixAttr, 8049f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson resultPrefixAttr }, 8059f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorNamespaceAlias(), null /* class object */, 20, true), 8069f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef( 8079f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this, 8089f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_BUILTIN_EXTENSIONS_URL, 8099f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "component", 8109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 8119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef[]{ 8129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef( 8139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this, 8149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_BUILTIN_EXTENSIONS_URL, 8159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "script", 8169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 8179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef[]{ 8189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charData } /* elements */, 8199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson scriptAttrs, 8209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorLRE(), 8219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemExtensionScript.class /* class object */, 20, true) }, // EMPTY 8229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson componentAttrs, 8239f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorLRE(), ElemExtensionDecl.class /* class object */), 8249f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef( 8259f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this, 8269f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_BUILTIN_OLD_EXTENSIONS_URL, 8279f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "component", 8289f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 8299f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef[]{ 8309f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef( 8319f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson this, 8329f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_BUILTIN_OLD_EXTENSIONS_URL, 8339f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "script", 8349f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /*alias */, 8359f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTElementDef[]{ 8369f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson charData } /* elements */, 8379f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson scriptAttrs, 8389f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorLRE(), 8399f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ElemExtensionScript.class /* class object */, 20, true) }, // EMPTY 8409f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson componentAttrs, 8419f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorLRE(), ElemExtensionDecl.class /* class object */), 8429f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson exsltFunction}/* exslt */; //end of topevelElements 8439f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 8449f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef excludeResultPrefixesAttr = 8459f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef(null, "exclude-result-prefixes", 8469f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_PREFIXLIST, false,false,XSLTAttributeDef.WARNING); 8479f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef extensionElementPrefixesAttr = 8489f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef(null, "extension-element-prefixes", 8499f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_PREFIX_URLLIST, false,false,XSLTAttributeDef.WARNING); 8509f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef idAttr = new XSLTAttributeDef(null, "id", 8519f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_CDATA, false,false,XSLTAttributeDef.WARNING); 8529f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef versionAttrRequired = new XSLTAttributeDef(null, 8539f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "version", 8549f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTAttributeDef.T_NMTOKEN, 8559f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson true,false,XSLTAttributeDef.WARNING); 8569f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson XSLTElementDef stylesheetElemDef = new XSLTElementDef(this, 8579f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson Constants.S_XSLNAMESPACEURL, 8589f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson "stylesheet", "transform", 8599f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson topLevelElements, 8609f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new XSLTAttributeDef[]{ 8619f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson extensionElementPrefixesAttr, 8629f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson excludeResultPrefixesAttr, 8639f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson idAttr, 8649f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson versionAttrRequired, 8659f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson spaceAttr }, new ProcessorStylesheetElement(), /* ContentHandler */ 8669f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* class object */, 8679f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson true, -1, false); 8689f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 8699f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson importDef.setElements(new XSLTElementDef[]{ stylesheetElemDef, 8709f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson resultElement, 8719f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson unknownElement }); 8729f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson includeDef.setElements(new XSLTElementDef[]{ stylesheetElemDef, 8739f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson resultElement, 8749f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson unknownElement }); 8759f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson build(null, null, null, new XSLTElementDef[]{ stylesheetElemDef, 8769f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson whiteSpaceOnly, 8779f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson resultElement, 8789f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson unknownElement }, null, 8799f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson new ProcessorStylesheetDoc(), /* ContentHandler */ 8809f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson null /* class object */ 8819f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson ); 8829f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson } 8839f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 8849f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson /** 8859f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * A hashtable of all available built-in elements for use by the element-available 8869f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * function. 8879f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * TODO: When we convert to Java2, this should be a Set. 8889f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 8899f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson private HashMap m_availElems = new HashMap(); 8909f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 8919f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson /** 8929f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * Get the table of available elements. 8939f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * 8949f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @return table of available elements, keyed by qualified names, and with 8959f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * values of the same qualified names. 8969f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 8979f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson public HashMap getElemsAvailable() 8989f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson { 8999f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson return m_availElems; 9009f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson } 9019f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 9029f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson /** 9039f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * Adds a new element name to the Hashtable of available elements. 9049f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @param elemName The name of the element to add to the Hashtable of available elements. 9059f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 9069f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson void addAvailableElement(QName elemName) 9079f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson { 9089f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson m_availElems.put(elemName, elemName); 9099f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson } 9109f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 9119f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson /** 9129f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * Determines whether the passed element name is present in the list of available elements. 9139f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @param elemName The name of the element to look up. 9149f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * 9159f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson * @return true if an element corresponding to elemName is available. 9169f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson */ 9179f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson public boolean elementAvailable(QName elemName) 9189f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson { 9199f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson return m_availElems.containsKey(elemName); 9209f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson } 9219f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson} 9229f8118474e9513f7a5b7d2a05e4a0fb15d1a6569Jesse Wilson 923