001    /*
002     * Licensed to the Apache Software Foundation (ASF) under one
003     * or more contributor license agreements. See the NOTICE file
004     * distributed with this work for additional information
005     * regarding copyright ownership. The ASF licenses this file
006     * to you under the Apache License, Version 2.0 (the  "License");
007     * you may not use this file except in compliance with the License.
008     * You may obtain a copy of the License at
009     *
010     *     http://www.apache.org/licenses/LICENSE-2.0
011     *
012     * Unless required by applicable law or agreed to in writing, software
013     * distributed under the License is distributed on an "AS IS" BASIS,
014     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
015     * See the License for the specific language governing permissions and
016     * limitations under the License.
017     */
018    /*
019     * $Id: Constants.java 468655 2006-10-28 07:12:06Z minchau $
020     */
021    package org.apache.xml.utils;
022    
023    /**
024     * Primary constants used by the XSLT Processor
025     * @xsl.usage advanced
026     */
027    public class Constants
028    {
029    
030      /** 
031       * Mnemonics for standard XML Namespace URIs, as Java Strings:
032       * <ul>
033       * <li>S_XMLNAMESPACEURI (http://www.w3.org/XML/1998/namespace) is the
034       * URI permanantly assigned to the "xml:" prefix. This is used for some
035       * features built into the XML specification itself, such as xml:space 
036       * and xml:lang. It was defined by the W3C's XML Namespaces spec.</li>
037       * <li>S_XSLNAMESPACEURL (http://www.w3.org/1999/XSL/Transform) is the
038       * URI which indicates that a name may be an XSLT directive. In most
039       * XSLT stylesheets, this is bound to the "xsl:" prefix. It's defined
040       * by the W3C's XSLT Recommendation.</li>
041       * <li>S_OLDXSLNAMESPACEURL (http://www.w3.org/XSL/Transform/1.0) was
042       * used in early prototypes of XSLT processors for much the same purpose
043       * as S_XSLNAMESPACEURL. It is now considered obsolete, and the version
044       * of XSLT which it signified is not fully compatable with the final
045       * XSLT Recommendation, so what it really signifies is a badly obsolete
046       * stylesheet.</li>
047       * </ul> */
048      public static final String 
049            S_XMLNAMESPACEURI = "http://www.w3.org/XML/1998/namespace", 
050            S_XSLNAMESPACEURL = "http://www.w3.org/1999/XSL/Transform", 
051            S_OLDXSLNAMESPACEURL = "http://www.w3.org/XSL/Transform/1.0";
052    
053      /** Authorship mnemonics, as Java Strings. Not standardized, 
054       * as far as I know.
055       * <ul>
056       * <li>S_VENDOR -- the name of the organization/individual who published
057       * this XSLT processor. </li>
058       * <li>S_VENDORURL -- URL where one can attempt to retrieve more
059       * information about this publisher and product.</li>
060       * </ul>
061       */
062      public static final String 
063            S_VENDOR = "Apache Software Foundation", 
064            S_VENDORURL = "http://xml.apache.org";
065    
066      /** S_BUILTIN_EXTENSIONS_URL is a mnemonic for the XML Namespace 
067       *(http://xml.apache.org/xalan) predefined to signify Xalan's
068       * built-in XSLT Extensions. When used in stylesheets, this is often 
069       * bound to the "xalan:" prefix.
070       */
071      public static final String 
072        S_BUILTIN_EXTENSIONS_URL = "http://xml.apache.org/xalan"; 
073    
074      /**
075       * The old built-in extension url. It is still supported for
076       * backward compatibility.
077       */
078      public static final String 
079        S_BUILTIN_OLD_EXTENSIONS_URL = "http://xml.apache.org/xslt"; 
080      
081      /**
082       * Xalan extension namespaces.
083       */
084      public static final String 
085        // The old namespace for Java extension
086        S_EXTENSIONS_OLD_JAVA_URL = "http://xml.apache.org/xslt/java",
087        // The new namespace for Java extension
088        S_EXTENSIONS_JAVA_URL = "http://xml.apache.org/xalan/java",
089        S_EXTENSIONS_LOTUSXSL_JAVA_URL = "http://xsl.lotus.com/java",
090        S_EXTENSIONS_XALANLIB_URL = "http://xml.apache.org/xalan",
091        S_EXTENSIONS_REDIRECT_URL = "http://xml.apache.org/xalan/redirect",
092        S_EXTENSIONS_PIPE_URL = "http://xml.apache.org/xalan/PipeDocument",
093        S_EXTENSIONS_SQL_URL = "http://xml.apache.org/xalan/sql";
094      
095      /**
096       * EXSLT extension namespaces.
097       */
098      public static final String
099        S_EXSLT_COMMON_URL = "http://exslt.org/common",
100        S_EXSLT_MATH_URL = "http://exslt.org/math",
101        S_EXSLT_SETS_URL = "http://exslt.org/sets",
102        S_EXSLT_DATETIME_URL = "http://exslt.org/dates-and-times",
103        S_EXSLT_FUNCTIONS_URL = "http://exslt.org/functions",
104        S_EXSLT_DYNAMIC_URL = "http://exslt.org/dynamic",
105        S_EXSLT_STRINGS_URL = "http://exslt.org/strings";
106        
107        
108      /**
109       * The minimum version of XSLT supported by this processor.
110       */
111      public static final double XSLTVERSUPPORTED = 1.0;
112    }