All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.apache.xml.serializer.ElemDesc Maven / Gradle / Ivy

Go to download

Xalan-Java is an XSLT processor for transforming XML documents into HTML, text, or other XML document types. It implements XSL Transformations (XSLT) Version 1.0 and XML Path Language (XPath) Version 1.0 and can be used from the command line, in an applet or a servlet, or as a module in other program.

There is a newer version: 2.7.3
Show newest version
/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements. See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership. The ASF licenses this file
 * to you under the Apache License, Version 2.0 (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.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */
/*
 * $Id: ElemDesc.java 468654 2006-10-28 07:09:23Z minchau $
 */
package org.apache.xml.serializer;

import org.apache.xml.serializer.utils.StringToIntTable;

/**
 * This class has a series of flags (bit values) that describe an HTML element
 * 

* This class is not a public API. * It is public because it is used outside of this package. * * @xsl.usage internal */ public final class ElemDesc { /** Bit flags to tell about this element type. */ private int m_flags; /** * Table of attribute names to integers, which contain bit flags telling about * the attributes. */ private StringToIntTable m_attrs = null; /** Bit position if this element type is empty. */ static final int EMPTY = (1 << 1); /** Bit position if this element type is a flow. */ private static final int FLOW = (1 << 2); /** Bit position if this element type is a block. */ static final int BLOCK = (1 << 3); /** Bit position if this element type is a block form. */ static final int BLOCKFORM = (1 << 4); /** Bit position if this element type is a block form field set. */ static final int BLOCKFORMFIELDSET = (1 << 5); /** Bit position if this element type is CDATA. */ private static final int CDATA = (1 << 6); /** Bit position if this element type is PCDATA. */ private static final int PCDATA = (1 << 7); /** Bit position if this element type is should be raw characters. */ static final int RAW = (1 << 8); /** Bit position if this element type should be inlined. */ private static final int INLINE = (1 << 9); /** Bit position if this element type is INLINEA. */ private static final int INLINEA = (1 << 10); /** Bit position if this element type is an inline label. */ static final int INLINELABEL = (1 << 11); /** Bit position if this element type is a font style. */ static final int FONTSTYLE = (1 << 12); /** Bit position if this element type is a phrase. */ static final int PHRASE = (1 << 13); /** Bit position if this element type is a form control. */ static final int FORMCTRL = (1 << 14); /** Bit position if this element type is ???. */ static final int SPECIAL = (1 << 15); /** Bit position if this element type is ???. */ static final int ASPECIAL = (1 << 16); /** Bit position if this element type is an odd header element. */ static final int HEADMISC = (1 << 17); /** Bit position if this element type is a head element (i.e. H1, H2, etc.) */ static final int HEAD = (1 << 18); /** Bit position if this element type is a list. */ static final int LIST = (1 << 19); /** Bit position if this element type is a preformatted type. */ static final int PREFORMATTED = (1 << 20); /** Bit position if this element type is whitespace sensitive. */ static final int WHITESPACESENSITIVE = (1 << 21); /** Bit position if this element type is a header element (i.e. HEAD). */ static final int HEADELEM = (1 << 22); /** Bit position if this element is the "HTML" element */ static final int HTMLELEM = (1 << 23); /** Bit position if this attribute type is a URL. */ public static final int ATTRURL = (1 << 1); /** Bit position if this attribute type is an empty type. */ public static final int ATTREMPTY = (1 << 2); /** * Construct an ElemDesc from a set of bit flags. * * * @param flags Bit flags that describe the basic properties of this element type. */ ElemDesc(int flags) { m_flags = flags; } /** * Tell if this element type has the basic bit properties that are passed * as an argument. * * @param flags Bit flags that describe the basic properties of interest. * * @return true if any of the flag bits are true. */ private boolean is(int flags) { // int which = (m_flags & flags); return (m_flags & flags) != 0; } int getFlags() { return m_flags; } /** * Set an attribute name and it's bit properties. * * * @param name non-null name of attribute, in upper case. * @param flags flag bits. */ void setAttr(String name, int flags) { if (null == m_attrs) m_attrs = new StringToIntTable(); m_attrs.put(name, flags); } /** * Tell if any of the bits of interest are set for a named attribute type. * * @param name non-null reference to attribute name, in any case. * @param flags flag mask. * * @return true if any of the flags are set for the named attribute. */ public boolean isAttrFlagSet(String name, int flags) { return (null != m_attrs) ? ((m_attrs.getIgnoreCase(name) & flags) != 0) : false; } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy