Java Code Examples for javax.xml.transform.Transformer#getErrorListener()

The following examples show how to use javax.xml.transform.Transformer#getErrorListener() . You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: ToXMLStream.java    From Bytecoder with Apache License 2.0 5 votes vote down vote up
/**
 * This method checks for the XML version of output document.
 * If XML version of output document is not specified, then output
 * document is of version XML 1.0.
 * If XML version of output doucment is specified, but it is not either
 * XML 1.0 or XML 1.1, a warning message is generated, the XML Version of
 * output document is set to XML 1.0 and processing continues.
 * @return string (XML version)
 */
private String getXMLVersion()
{
    String xmlVersion = getVersion();
    if(xmlVersion == null || xmlVersion.equals(XMLVERSION10))
    {
        xmlVersion = XMLVERSION10;
    }
    else if(xmlVersion.equals(XMLVERSION11))
    {
        xmlVersion = XMLVERSION11;
    }
    else
    {
        String msg = Utils.messages.createMessage(
                           MsgKey.ER_XML_VERSION_NOT_SUPPORTED,new Object[]{ xmlVersion });
        try
        {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();
            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
                errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
                System.out.println(msg);
        }
        catch (Exception e){}
        xmlVersion = XMLVERSION10;
    }
    return xmlVersion;
}
 
Example 2
Source File: ToXMLStream.java    From jdk1.8-source-analysis with Apache License 2.0 5 votes vote down vote up
/**
 * This method checks for the XML version of output document.
 * If XML version of output document is not specified, then output
 * document is of version XML 1.0.
 * If XML version of output doucment is specified, but it is not either
 * XML 1.0 or XML 1.1, a warning message is generated, the XML Version of
 * output document is set to XML 1.0 and processing continues.
 * @return string (XML version)
 */
private String getXMLVersion()
{
    String xmlVersion = getVersion();
    if(xmlVersion == null || xmlVersion.equals(XMLVERSION10))
    {
        xmlVersion = XMLVERSION10;
    }
    else if(xmlVersion.equals(XMLVERSION11))
    {
        xmlVersion = XMLVERSION11;
    }
    else
    {
        String msg = Utils.messages.createMessage(
                           MsgKey.ER_XML_VERSION_NOT_SUPPORTED,new Object[]{ xmlVersion });
        try
        {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();
            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
                errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
                System.out.println(msg);
        }
        catch (Exception e){}
        xmlVersion = XMLVERSION10;
    }
    return xmlVersion;
}
 
Example 3
Source File: ToStream.java    From TencentKona-8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Sets the character encoding coming from the xsl:output encoding stylesheet attribute.
 * @param encoding the character encoding
 */
public void setEncoding(String encoding)
{
    String old = getEncoding();
    super.setEncoding(encoding);
    if (old == null || !old.equals(encoding)) {
       // If we have changed the setting of the
       m_encodingInfo = Encodings.getEncodingInfo(encoding);

       if (encoding != null && m_encodingInfo.name == null) {
           // We tried to get an EncodingInfo for Object for the given
           // encoding, but it came back with an internall null name
           // so the encoding is not supported by the JDK, issue a message.
           String msg = Utils.messages.createMessage(
                           MsgKey.ER_ENCODING_NOT_SUPPORTED,new Object[]{ encoding });
           try
           {
                   // Prepare to issue the warning message
                   Transformer tran = super.getTransformer();
                   if (tran != null) {
                           ErrorListener errHandler = tran.getErrorListener();
                           // Issue the warning message
                           if (null != errHandler && m_sourceLocator != null)
                                   errHandler.warning(new TransformerException(msg, m_sourceLocator));
                           else
                                   System.out.println(msg);
               }
                   else
                           System.out.println(msg);
           }
           catch (Exception e){}
       }
    }
    return;
}
 
Example 4
Source File: ToXMLStream.java    From openjdk-8 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * This method checks for the XML version of output document.
 * If XML version of output document is not specified, then output
 * document is of version XML 1.0.
 * If XML version of output doucment is specified, but it is not either
 * XML 1.0 or XML 1.1, a warning message is generated, the XML Version of
 * output document is set to XML 1.0 and processing continues.
 * @return string (XML version)
 */
private String getXMLVersion()
{
    String xmlVersion = getVersion();
    if(xmlVersion == null || xmlVersion.equals(XMLVERSION10))
    {
        xmlVersion = XMLVERSION10;
    }
    else if(xmlVersion.equals(XMLVERSION11))
    {
        xmlVersion = XMLVERSION11;
    }
    else
    {
        String msg = Utils.messages.createMessage(
                           MsgKey.ER_XML_VERSION_NOT_SUPPORTED,new Object[]{ xmlVersion });
        try
        {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();
            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
                errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
                System.out.println(msg);
        }
        catch (Exception e){}
        xmlVersion = XMLVERSION10;
    }
    return xmlVersion;
}
 
Example 5
Source File: ToStream.java    From hottub with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Sets the character encoding coming from the xsl:output encoding stylesheet attribute.
 * @param encoding the character encoding
 */
public void setEncoding(String encoding)
{
    String old = getEncoding();
    super.setEncoding(encoding);
    if (old == null || !old.equals(encoding)) {
       // If we have changed the setting of the
       m_encodingInfo = Encodings.getEncodingInfo(encoding);

       if (encoding != null && m_encodingInfo.name == null) {
           // We tried to get an EncodingInfo for Object for the given
           // encoding, but it came back with an internall null name
           // so the encoding is not supported by the JDK, issue a message.
           String msg = Utils.messages.createMessage(
                           MsgKey.ER_ENCODING_NOT_SUPPORTED,new Object[]{ encoding });
           try
           {
                   // Prepare to issue the warning message
                   Transformer tran = super.getTransformer();
                   if (tran != null) {
                           ErrorListener errHandler = tran.getErrorListener();
                           // Issue the warning message
                           if (null != errHandler && m_sourceLocator != null)
                                   errHandler.warning(new TransformerException(msg, m_sourceLocator));
                           else
                                   System.out.println(msg);
               }
                   else
                           System.out.println(msg);
           }
           catch (Exception e){}
       }
    }
    return;
}
 
Example 6
Source File: ToXMLStream.java    From j2objc with Apache License 2.0 5 votes vote down vote up
/**
 * This method checks for the XML version of output document.
 * If XML version of output document is not specified, then output 
 * document is of version XML 1.0.
 * If XML version of output doucment is specified, but it is not either 
 * XML 1.0 or XML 1.1, a warning message is generated, the XML Version of
 * output document is set to XML 1.0 and processing continues.
 * @return string (XML version)
 */
private String getXMLVersion()
{
    String xmlVersion = getVersion();
    if(xmlVersion == null || xmlVersion.equals(XMLVERSION10))
    {
        xmlVersion = XMLVERSION10;
    }
    else if(xmlVersion.equals(XMLVERSION11))
    {
        xmlVersion = XMLVERSION11;
    }
    else
    {
        String msg = Utils.messages.createMessage(
                           MsgKey.ER_XML_VERSION_NOT_SUPPORTED,new Object[]{ xmlVersion });
        try 
        {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();
            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
                errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
                System.out.println(msg);
        }
        catch (Exception e){}
        xmlVersion = XMLVERSION10;								
    }
    return xmlVersion;
}
 
Example 7
Source File: ToXMLStream.java    From jdk8u60 with GNU General Public License v2.0 5 votes vote down vote up
/**
 * This method checks for the XML version of output document.
 * If XML version of output document is not specified, then output
 * document is of version XML 1.0.
 * If XML version of output doucment is specified, but it is not either
 * XML 1.0 or XML 1.1, a warning message is generated, the XML Version of
 * output document is set to XML 1.0 and processing continues.
 * @return string (XML version)
 */
private String getXMLVersion()
{
    String xmlVersion = getVersion();
    if(xmlVersion == null || xmlVersion.equals(XMLVERSION10))
    {
        xmlVersion = XMLVERSION10;
    }
    else if(xmlVersion.equals(XMLVERSION11))
    {
        xmlVersion = XMLVERSION11;
    }
    else
    {
        String msg = Utils.messages.createMessage(
                           MsgKey.ER_XML_VERSION_NOT_SUPPORTED,new Object[]{ xmlVersion });
        try
        {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();
            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
                errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
                System.out.println(msg);
        }
        catch (Exception e){}
        xmlVersion = XMLVERSION10;
    }
    return xmlVersion;
}
 
Example 8
Source File: ToStream.java    From jdk1.8-source-analysis with Apache License 2.0 5 votes vote down vote up
/**
 * Sets the character encoding coming from the xsl:output encoding stylesheet attribute.
 * @param encoding the character encoding
 */
public void setEncoding(String encoding)
{
    String old = getEncoding();
    super.setEncoding(encoding);
    if (old == null || !old.equals(encoding)) {
       // If we have changed the setting of the
       m_encodingInfo = Encodings.getEncodingInfo(encoding);

       if (encoding != null && m_encodingInfo.name == null) {
           // We tried to get an EncodingInfo for Object for the given
           // encoding, but it came back with an internall null name
           // so the encoding is not supported by the JDK, issue a message.
           String msg = Utils.messages.createMessage(
                           MsgKey.ER_ENCODING_NOT_SUPPORTED,new Object[]{ encoding });
           try
           {
                   // Prepare to issue the warning message
                   Transformer tran = super.getTransformer();
                   if (tran != null) {
                           ErrorListener errHandler = tran.getErrorListener();
                           // Issue the warning message
                           if (null != errHandler && m_sourceLocator != null)
                                   errHandler.warning(new TransformerException(msg, m_sourceLocator));
                           else
                                   System.out.println(msg);
               }
                   else
                           System.out.println(msg);
           }
           catch (Exception e){}
       }
    }
    return;
}
 
Example 9
Source File: ToXMLStream.java    From openjdk-8-source with GNU General Public License v2.0 5 votes vote down vote up
/**
 * This method checks for the XML version of output document.
 * If XML version of output document is not specified, then output
 * document is of version XML 1.0.
 * If XML version of output doucment is specified, but it is not either
 * XML 1.0 or XML 1.1, a warning message is generated, the XML Version of
 * output document is set to XML 1.0 and processing continues.
 * @return string (XML version)
 */
private String getXMLVersion()
{
    String xmlVersion = getVersion();
    if(xmlVersion == null || xmlVersion.equals(XMLVERSION10))
    {
        xmlVersion = XMLVERSION10;
    }
    else if(xmlVersion.equals(XMLVERSION11))
    {
        xmlVersion = XMLVERSION11;
    }
    else
    {
        String msg = Utils.messages.createMessage(
                           MsgKey.ER_XML_VERSION_NOT_SUPPORTED,new Object[]{ xmlVersion });
        try
        {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();
            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
                errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
                System.out.println(msg);
        }
        catch (Exception e){}
        xmlVersion = XMLVERSION10;
    }
    return xmlVersion;
}
 
Example 10
Source File: ToStream.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
/**
 * Sets the character encoding coming from the xsl:output encoding stylesheet attribute.
 * @param encoding the character encoding
 */
public void setEncoding(String encoding)
{
    String old = getEncoding();
    super.setEncoding(encoding);
    if (old == null || !old.equals(encoding)) {
       // If we have changed the setting of the
       m_encodingInfo = Encodings.getEncodingInfo(encoding);

       if (encoding != null && m_encodingInfo.name == null) {
           // We tried to get an EncodingInfo for Object for the given
           // encoding, but it came back with an internall null name
           // so the encoding is not supported by the JDK, issue a message.
           String msg = Utils.messages.createMessage(
                           MsgKey.ER_ENCODING_NOT_SUPPORTED,new Object[]{ encoding });
           try
           {
                   // Prepare to issue the warning message
                   Transformer tran = super.getTransformer();
                   if (tran != null) {
                           ErrorListener errHandler = tran.getErrorListener();
                           // Issue the warning message
                           if (null != errHandler && m_sourceLocator != null)
                                   errHandler.warning(new TransformerException(msg, m_sourceLocator));
                           else
                                   System.out.println(msg);
               }
                   else
                           System.out.println(msg);
           }
           catch (Exception e){}
       }
    }
    return;
}
 
Example 11
Source File: ToXMLStream.java    From openjdk-jdk8u with GNU General Public License v2.0 5 votes vote down vote up
/**
 * This method checks for the XML version of output document.
 * If XML version of output document is not specified, then output
 * document is of version XML 1.0.
 * If XML version of output doucment is specified, but it is not either
 * XML 1.0 or XML 1.1, a warning message is generated, the XML Version of
 * output document is set to XML 1.0 and processing continues.
 * @return string (XML version)
 */
private String getXMLVersion()
{
    String xmlVersion = getVersion();
    if(xmlVersion == null || xmlVersion.equals(XMLVERSION10))
    {
        xmlVersion = XMLVERSION10;
    }
    else if(xmlVersion.equals(XMLVERSION11))
    {
        xmlVersion = XMLVERSION11;
    }
    else
    {
        String msg = Utils.messages.createMessage(
                           MsgKey.ER_XML_VERSION_NOT_SUPPORTED,new Object[]{ xmlVersion });
        try
        {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();
            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
                errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
                System.out.println(msg);
        }
        catch (Exception e){}
        xmlVersion = XMLVERSION10;
    }
    return xmlVersion;
}
 
Example 12
Source File: ToXMLStream.java    From j2objc with Apache License 2.0 4 votes vote down vote up
/**
 * Add an attribute to the current element.
 * @param uri the URI associated with the element name
 * @param localName local part of the attribute name
 * @param rawName   prefix:localName
 * @param type
 * @param value the value of the attribute
 * @param xslAttribute true if this attribute is from an xsl:attribute,
 * false if declared within the elements opening tag.
 * @throws SAXException
 */
public void addAttribute(
    String uri,
    String localName,
    String rawName,
    String type,
    String value,
    boolean xslAttribute)
    throws SAXException
{
    if (m_elemContext.m_startTagOpen)
    {
        boolean was_added = addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);
        

        /*
         * We don't run this block of code if:
         * 1. The attribute value was only replaced (was_added is false).
         * 2. The attribute is from an xsl:attribute element (that is handled
         *    in the addAttributeAlways() call just above.
         * 3. The name starts with "xmlns", i.e. it is a namespace declaration.
         */
        if (was_added && !xslAttribute && !rawName.startsWith("xmlns"))
        {
            String prefixUsed =
                ensureAttributesNamespaceIsDeclared(
                    uri,
                    localName,
                    rawName);
            if (prefixUsed != null
                && rawName != null
                && !rawName.startsWith(prefixUsed))
            {
                // use a different raw name, with the prefix used in the
                // generated namespace declaration
                rawName = prefixUsed + ":" + localName;

            }
        }
        addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);
    }
    else
    {
        /*
         * The startTag is closed, yet we are adding an attribute?
         *
         * Section: 7.1.3 Creating Attributes Adding an attribute to an
         * element after a PI (for example) has been added to it is an
         * error. The attributes can be ignored. The spec doesn't explicitly
         * say this is disallowed, as it does for child elements, but it
         * makes sense to have the same treatment.
         *
         * We choose to ignore the attribute which is added too late.
         */
        // Generate a warning of the ignored attributes

        // Create the warning message
        String msg = Utils.messages.createMessage(
                MsgKey.ER_ILLEGAL_ATTRIBUTE_POSITION,new Object[]{ localName });

        try {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();


            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
              errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
              System.out.println(msg);
            }
        catch (TransformerException e){
            // A user defined error handler, errHandler, may throw
            // a TransformerException if it chooses to, and if it does
            // we will wrap it with a SAXException and re-throw.
            // Of course if the handler throws another type of
            // exception, like a RuntimeException, then that is OK too.
            SAXException se = new SAXException(e);
            throw se;                
        }             
    }
}
 
Example 13
Source File: ToXMLStream.java    From Bytecoder with Apache License 2.0 4 votes vote down vote up
/**
 * Add an attribute to the current element.
 * @param uri the URI associated with the element name
 * @param localName local part of the attribute name
 * @param rawName   prefix:localName
 * @param type
 * @param value the value of the attribute
 * @param xslAttribute true if this attribute is from an xsl:attribute,
 * false if declared within the elements opening tag.
 * @throws SAXException
 */
public void addAttribute(
    String uri,
    String localName,
    String rawName,
    String type,
    String value,
    boolean xslAttribute)
    throws SAXException
{
    if (m_elemContext.m_startTagOpen)
    {
        boolean was_added = addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);


        /*
         * We don't run this block of code if:
         * 1. The attribute value was only replaced (was_added is false).
         * 2. The attribute is from an xsl:attribute element (that is handled
         *    in the addAttributeAlways() call just above.
         * 3. The name starts with "xmlns", i.e. it is a namespace declaration.
         */
        if (was_added && !xslAttribute && !rawName.startsWith("xmlns"))
        {
            String prefixUsed =
                ensureAttributesNamespaceIsDeclared(
                    uri,
                    localName,
                    rawName);
            if (prefixUsed != null
                && rawName != null
                && !rawName.startsWith(prefixUsed))
            {
                // use a different raw name, with the prefix used in the
                // generated namespace declaration
                rawName = prefixUsed + ":" + localName;

            }
        }
        addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);
    }
    else
    {
        /*
         * The startTag is closed, yet we are adding an attribute?
         *
         * Section: 7.1.3 Creating Attributes Adding an attribute to an
         * element after a PI (for example) has been added to it is an
         * error. The attributes can be ignored. The spec doesn't explicitly
         * say this is disallowed, as it does for child elements, but it
         * makes sense to have the same treatment.
         *
         * We choose to ignore the attribute which is added too late.
         */
        // Generate a warning of the ignored attributes

        // Create the warning message
        String msg = Utils.messages.createMessage(
                MsgKey.ER_ILLEGAL_ATTRIBUTE_POSITION,new Object[]{ localName });

        try {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();


            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
              errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
              System.out.println(msg);
            }
        catch (Exception e){}
    }
}
 
Example 14
Source File: ToXMLStream.java    From openjdk-jdk8u-backup with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Add an attribute to the current element.
 * @param uri the URI associated with the element name
 * @param localName local part of the attribute name
 * @param rawName   prefix:localName
 * @param type
 * @param value the value of the attribute
 * @param xslAttribute true if this attribute is from an xsl:attribute,
 * false if declared within the elements opening tag.
 * @throws SAXException
 */
public void addAttribute(
    String uri,
    String localName,
    String rawName,
    String type,
    String value,
    boolean xslAttribute)
    throws SAXException
{
    if (m_elemContext.m_startTagOpen)
    {
        boolean was_added = addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);


        /*
         * We don't run this block of code if:
         * 1. The attribute value was only replaced (was_added is false).
         * 2. The attribute is from an xsl:attribute element (that is handled
         *    in the addAttributeAlways() call just above.
         * 3. The name starts with "xmlns", i.e. it is a namespace declaration.
         */
        if (was_added && !xslAttribute && !rawName.startsWith("xmlns"))
        {
            String prefixUsed =
                ensureAttributesNamespaceIsDeclared(
                    uri,
                    localName,
                    rawName);
            if (prefixUsed != null
                && rawName != null
                && !rawName.startsWith(prefixUsed))
            {
                // use a different raw name, with the prefix used in the
                // generated namespace declaration
                rawName = prefixUsed + ":" + localName;

            }
        }
        addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);
    }
    else
    {
        /*
         * The startTag is closed, yet we are adding an attribute?
         *
         * Section: 7.1.3 Creating Attributes Adding an attribute to an
         * element after a PI (for example) has been added to it is an
         * error. The attributes can be ignored. The spec doesn't explicitly
         * say this is disallowed, as it does for child elements, but it
         * makes sense to have the same treatment.
         *
         * We choose to ignore the attribute which is added too late.
         */
        // Generate a warning of the ignored attributes

        // Create the warning message
        String msg = Utils.messages.createMessage(
                MsgKey.ER_ILLEGAL_ATTRIBUTE_POSITION,new Object[]{ localName });

        try {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();


            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
              errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
              System.out.println(msg);
            }
        catch (Exception e){}
    }
}
 
Example 15
Source File: ToXMLStream.java    From openjdk-jdk9 with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Add an attribute to the current element.
 * @param uri the URI associated with the element name
 * @param localName local part of the attribute name
 * @param rawName   prefix:localName
 * @param type
 * @param value the value of the attribute
 * @param xslAttribute true if this attribute is from an xsl:attribute,
 * false if declared within the elements opening tag.
 * @throws SAXException
 */
public void addAttribute(
    String uri,
    String localName,
    String rawName,
    String type,
    String value,
    boolean xslAttribute)
    throws SAXException
{
    if (m_elemContext.m_startTagOpen)
    {
        boolean was_added = addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);


        /*
         * We don't run this block of code if:
         * 1. The attribute value was only replaced (was_added is false).
         * 2. The attribute is from an xsl:attribute element (that is handled
         *    in the addAttributeAlways() call just above.
         * 3. The name starts with "xmlns", i.e. it is a namespace declaration.
         */
        if (was_added && !xslAttribute && !rawName.startsWith("xmlns"))
        {
            String prefixUsed =
                ensureAttributesNamespaceIsDeclared(
                    uri,
                    localName,
                    rawName);
            if (prefixUsed != null
                && rawName != null
                && !rawName.startsWith(prefixUsed))
            {
                // use a different raw name, with the prefix used in the
                // generated namespace declaration
                rawName = prefixUsed + ":" + localName;

            }
        }
        addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);
    }
    else
    {
        /*
         * The startTag is closed, yet we are adding an attribute?
         *
         * Section: 7.1.3 Creating Attributes Adding an attribute to an
         * element after a PI (for example) has been added to it is an
         * error. The attributes can be ignored. The spec doesn't explicitly
         * say this is disallowed, as it does for child elements, but it
         * makes sense to have the same treatment.
         *
         * We choose to ignore the attribute which is added too late.
         */
        // Generate a warning of the ignored attributes

        // Create the warning message
        String msg = Utils.messages.createMessage(
                MsgKey.ER_ILLEGAL_ATTRIBUTE_POSITION,new Object[]{ localName });

        try {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();


            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
              errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
              System.out.println(msg);
            }
        catch (Exception e){}
    }
}
 
Example 16
Source File: ToXMLStream.java    From openjdk-jdk8u with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Add an attribute to the current element.
 * @param uri the URI associated with the element name
 * @param localName local part of the attribute name
 * @param rawName   prefix:localName
 * @param type
 * @param value the value of the attribute
 * @param xslAttribute true if this attribute is from an xsl:attribute,
 * false if declared within the elements opening tag.
 * @throws SAXException
 */
public void addAttribute(
    String uri,
    String localName,
    String rawName,
    String type,
    String value,
    boolean xslAttribute)
    throws SAXException
{
    if (m_elemContext.m_startTagOpen)
    {
        boolean was_added = addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);


        /*
         * We don't run this block of code if:
         * 1. The attribute value was only replaced (was_added is false).
         * 2. The attribute is from an xsl:attribute element (that is handled
         *    in the addAttributeAlways() call just above.
         * 3. The name starts with "xmlns", i.e. it is a namespace declaration.
         */
        if (was_added && !xslAttribute && !rawName.startsWith("xmlns"))
        {
            String prefixUsed =
                ensureAttributesNamespaceIsDeclared(
                    uri,
                    localName,
                    rawName);
            if (prefixUsed != null
                && rawName != null
                && !rawName.startsWith(prefixUsed))
            {
                // use a different raw name, with the prefix used in the
                // generated namespace declaration
                rawName = prefixUsed + ":" + localName;

            }
        }
        addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);
    }
    else
    {
        /*
         * The startTag is closed, yet we are adding an attribute?
         *
         * Section: 7.1.3 Creating Attributes Adding an attribute to an
         * element after a PI (for example) has been added to it is an
         * error. The attributes can be ignored. The spec doesn't explicitly
         * say this is disallowed, as it does for child elements, but it
         * makes sense to have the same treatment.
         *
         * We choose to ignore the attribute which is added too late.
         */
        // Generate a warning of the ignored attributes

        // Create the warning message
        String msg = Utils.messages.createMessage(
                MsgKey.ER_ILLEGAL_ATTRIBUTE_POSITION,new Object[]{ localName });

        try {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();


            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
              errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
              System.out.println(msg);
            }
        catch (Exception e){}
    }
}
 
Example 17
Source File: ToXMLStream.java    From openjdk-8-source with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Add an attribute to the current element.
 * @param uri the URI associated with the element name
 * @param localName local part of the attribute name
 * @param rawName   prefix:localName
 * @param type
 * @param value the value of the attribute
 * @param xslAttribute true if this attribute is from an xsl:attribute,
 * false if declared within the elements opening tag.
 * @throws SAXException
 */
public void addAttribute(
    String uri,
    String localName,
    String rawName,
    String type,
    String value,
    boolean xslAttribute)
    throws SAXException
{
    if (m_elemContext.m_startTagOpen)
    {
        boolean was_added = addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);


        /*
         * We don't run this block of code if:
         * 1. The attribute value was only replaced (was_added is false).
         * 2. The attribute is from an xsl:attribute element (that is handled
         *    in the addAttributeAlways() call just above.
         * 3. The name starts with "xmlns", i.e. it is a namespace declaration.
         */
        if (was_added && !xslAttribute && !rawName.startsWith("xmlns"))
        {
            String prefixUsed =
                ensureAttributesNamespaceIsDeclared(
                    uri,
                    localName,
                    rawName);
            if (prefixUsed != null
                && rawName != null
                && !rawName.startsWith(prefixUsed))
            {
                // use a different raw name, with the prefix used in the
                // generated namespace declaration
                rawName = prefixUsed + ":" + localName;

            }
        }
        addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);
    }
    else
    {
        /*
         * The startTag is closed, yet we are adding an attribute?
         *
         * Section: 7.1.3 Creating Attributes Adding an attribute to an
         * element after a PI (for example) has been added to it is an
         * error. The attributes can be ignored. The spec doesn't explicitly
         * say this is disallowed, as it does for child elements, but it
         * makes sense to have the same treatment.
         *
         * We choose to ignore the attribute which is added too late.
         */
        // Generate a warning of the ignored attributes

        // Create the warning message
        String msg = Utils.messages.createMessage(
                MsgKey.ER_ILLEGAL_ATTRIBUTE_POSITION,new Object[]{ localName });

        try {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();


            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
              errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
              System.out.println(msg);
            }
        catch (Exception e){}
    }
}
 
Example 18
Source File: ToXMLStream.java    From jdk8u60 with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Add an attribute to the current element.
 * @param uri the URI associated with the element name
 * @param localName local part of the attribute name
 * @param rawName   prefix:localName
 * @param type
 * @param value the value of the attribute
 * @param xslAttribute true if this attribute is from an xsl:attribute,
 * false if declared within the elements opening tag.
 * @throws SAXException
 */
public void addAttribute(
    String uri,
    String localName,
    String rawName,
    String type,
    String value,
    boolean xslAttribute)
    throws SAXException
{
    if (m_elemContext.m_startTagOpen)
    {
        boolean was_added = addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);


        /*
         * We don't run this block of code if:
         * 1. The attribute value was only replaced (was_added is false).
         * 2. The attribute is from an xsl:attribute element (that is handled
         *    in the addAttributeAlways() call just above.
         * 3. The name starts with "xmlns", i.e. it is a namespace declaration.
         */
        if (was_added && !xslAttribute && !rawName.startsWith("xmlns"))
        {
            String prefixUsed =
                ensureAttributesNamespaceIsDeclared(
                    uri,
                    localName,
                    rawName);
            if (prefixUsed != null
                && rawName != null
                && !rawName.startsWith(prefixUsed))
            {
                // use a different raw name, with the prefix used in the
                // generated namespace declaration
                rawName = prefixUsed + ":" + localName;

            }
        }
        addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);
    }
    else
    {
        /*
         * The startTag is closed, yet we are adding an attribute?
         *
         * Section: 7.1.3 Creating Attributes Adding an attribute to an
         * element after a PI (for example) has been added to it is an
         * error. The attributes can be ignored. The spec doesn't explicitly
         * say this is disallowed, as it does for child elements, but it
         * makes sense to have the same treatment.
         *
         * We choose to ignore the attribute which is added too late.
         */
        // Generate a warning of the ignored attributes

        // Create the warning message
        String msg = Utils.messages.createMessage(
                MsgKey.ER_ILLEGAL_ATTRIBUTE_POSITION,new Object[]{ localName });

        try {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();


            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
              errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
              System.out.println(msg);
            }
        catch (Exception e){}
    }
}
 
Example 19
Source File: ToXMLStream.java    From TencentKona-8 with GNU General Public License v2.0 4 votes vote down vote up
/**
 * Add an attribute to the current element.
 * @param uri the URI associated with the element name
 * @param localName local part of the attribute name
 * @param rawName   prefix:localName
 * @param type
 * @param value the value of the attribute
 * @param xslAttribute true if this attribute is from an xsl:attribute,
 * false if declared within the elements opening tag.
 * @throws SAXException
 */
public void addAttribute(
    String uri,
    String localName,
    String rawName,
    String type,
    String value,
    boolean xslAttribute)
    throws SAXException
{
    if (m_elemContext.m_startTagOpen)
    {
        boolean was_added = addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);


        /*
         * We don't run this block of code if:
         * 1. The attribute value was only replaced (was_added is false).
         * 2. The attribute is from an xsl:attribute element (that is handled
         *    in the addAttributeAlways() call just above.
         * 3. The name starts with "xmlns", i.e. it is a namespace declaration.
         */
        if (was_added && !xslAttribute && !rawName.startsWith("xmlns"))
        {
            String prefixUsed =
                ensureAttributesNamespaceIsDeclared(
                    uri,
                    localName,
                    rawName);
            if (prefixUsed != null
                && rawName != null
                && !rawName.startsWith(prefixUsed))
            {
                // use a different raw name, with the prefix used in the
                // generated namespace declaration
                rawName = prefixUsed + ":" + localName;

            }
        }
        addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);
    }
    else
    {
        /*
         * The startTag is closed, yet we are adding an attribute?
         *
         * Section: 7.1.3 Creating Attributes Adding an attribute to an
         * element after a PI (for example) has been added to it is an
         * error. The attributes can be ignored. The spec doesn't explicitly
         * say this is disallowed, as it does for child elements, but it
         * makes sense to have the same treatment.
         *
         * We choose to ignore the attribute which is added too late.
         */
        // Generate a warning of the ignored attributes

        // Create the warning message
        String msg = Utils.messages.createMessage(
                MsgKey.ER_ILLEGAL_ATTRIBUTE_POSITION,new Object[]{ localName });

        try {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();


            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
              errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
              System.out.println(msg);
            }
        catch (Exception e){}
    }
}
 
Example 20
Source File: ToXMLStream.java    From jdk1.8-source-analysis with Apache License 2.0 4 votes vote down vote up
/**
 * Add an attribute to the current element.
 * @param uri the URI associated with the element name
 * @param localName local part of the attribute name
 * @param rawName   prefix:localName
 * @param type
 * @param value the value of the attribute
 * @param xslAttribute true if this attribute is from an xsl:attribute,
 * false if declared within the elements opening tag.
 * @throws SAXException
 */
public void addAttribute(
    String uri,
    String localName,
    String rawName,
    String type,
    String value,
    boolean xslAttribute)
    throws SAXException
{
    if (m_elemContext.m_startTagOpen)
    {
        boolean was_added = addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);


        /*
         * We don't run this block of code if:
         * 1. The attribute value was only replaced (was_added is false).
         * 2. The attribute is from an xsl:attribute element (that is handled
         *    in the addAttributeAlways() call just above.
         * 3. The name starts with "xmlns", i.e. it is a namespace declaration.
         */
        if (was_added && !xslAttribute && !rawName.startsWith("xmlns"))
        {
            String prefixUsed =
                ensureAttributesNamespaceIsDeclared(
                    uri,
                    localName,
                    rawName);
            if (prefixUsed != null
                && rawName != null
                && !rawName.startsWith(prefixUsed))
            {
                // use a different raw name, with the prefix used in the
                // generated namespace declaration
                rawName = prefixUsed + ":" + localName;

            }
        }
        addAttributeAlways(uri, localName, rawName, type, value, xslAttribute);
    }
    else
    {
        /*
         * The startTag is closed, yet we are adding an attribute?
         *
         * Section: 7.1.3 Creating Attributes Adding an attribute to an
         * element after a PI (for example) has been added to it is an
         * error. The attributes can be ignored. The spec doesn't explicitly
         * say this is disallowed, as it does for child elements, but it
         * makes sense to have the same treatment.
         *
         * We choose to ignore the attribute which is added too late.
         */
        // Generate a warning of the ignored attributes

        // Create the warning message
        String msg = Utils.messages.createMessage(
                MsgKey.ER_ILLEGAL_ATTRIBUTE_POSITION,new Object[]{ localName });

        try {
            // Prepare to issue the warning message
            Transformer tran = super.getTransformer();
            ErrorListener errHandler = tran.getErrorListener();


            // Issue the warning message
            if (null != errHandler && m_sourceLocator != null)
              errHandler.warning(new TransformerException(msg, m_sourceLocator));
            else
              System.out.println(msg);
            }
        catch (Exception e){}
    }
}