blob: d6765d658c52d8048f846fb17cfe7e0dc0e59ae1 [file] [log] [blame]
/**************************************************************
*
* 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.
*
*************************************************************/
#ifndef __com_sun_star_xml_sax_XFastAttributeList_idl__
#define __com_sun_star_xml_sax_XFastAttributeList_idl__
#ifndef __com_sun_star_uno_XInterface_idl__
#include <com/sun/star/uno/XInterface.idl>
#endif
#ifndef __com_sun_star_xml_Attribute_idl__
#include <com/sun/star/xml/Attribute.idl>
#endif
#ifndef __com_sun_star_xml_FastAttribute_idl__
#include <com/sun/star/xml/FastAttribute.idl>
#endif
#ifndef __com_sun_star_xml_sax_SAXException_idl__
#include <com/sun/star/xml/sax/SAXException.idl>
#endif
//=============================================================================
module com { module sun { module star { module xml { module sax {
//=============================================================================
/** a container for the attributes of an xml element.
<br>Attributes are seperated into known attributes and unknown attributes.
<p>Known attributes have a local name that is known to the <type>XFastTokenHandler</token>
registered at the <type>XFastParser</type> which created the sax event containing
this attributes. If an attribute also has a namespace, that must be registered
at the <type>XFastParser</type>, else this attribute is also unknown even if
the local name is known.
*/
interface XFastAttributeList: com::sun::star::uno::XInterface
{
/** checks if an attribute is available.<br>
@param Token
contains the integer token from the <type>XFastTokenHandler</type>
registered at the <type>XFastParser</type>.<br>
If the attribute name has a namespace that was registered with the
<type>XFastParser</type>, Token contains the integer token of the
attributes local name from the <type>XFastTokenHandler</type> and
the integer token of the namespace combined with an arithmetic
<b>or</b> operation.
@returns
<TRUE/>, if the attribute is available
*/
boolean hasAttribute( [in] long Token );
/** retrieves the token of an attributes value.<br>
@param Token
contains the integer token from the <type>XFastTokenHandler</type>
registered at the <type>XFastParser</type>.<br>
If the attribute name has a namespace that was registered with the
<type>XFastParser</type>, Token contains the integer token of the
attributes local name from the <type>XFastTokenHandler</type> and
the integer token of the namespace combined with an arithmetic
<b>or</b> operation.
@returns
The integer token of the value from the attribute or <const>FastToken::Invalid</const>
@throws SAXEXception
if the attribute is not available
*/
long getValueToken( [in] long Token )
raises( SAXException );
/**retrieves the token of an attributes value.<br>
@param Token
contains the integer token from the <type>XFastTokenHandler</type>
registered at the <type>XFastParser</type>.<br>
If the attribute name has a namespace that was registered with the
<type>XFastParser</type>, Token contains the integer token of the
attributes local name from the <type>XFastTokenHandler</type> and
the integer token of the namespace combined with an arithmetic
<b>or</b> operation.
@param Default
This value will be returned if the attribute is not available
@returns
If the attribute is available it returns the integer token of the value
from the attribute or <const>FastToken::Invalid</const>.
If not the value of <param>Default</param> is returned.
*/
long getOptionalValueToken( [in] long Token, [in] long Default );
/** retrieves the value of an attributes.<br>
@param Token
contains the integer token from the <type>XFastTokenHandler</type>
registered at the <type>XFastParser</type>.<br>
If the attribute name has a namespace that was registered with the
<type>XFastParser</type>, Token contains the integer token of the
attributes local name from the <type>XFastTokenHandler</type> and
the integer token of the namespace combined with an arithmetic
<b>or</b> operation.
@returns
The string value from the attribute.
@throws SAXEXception
if the attribute is not available
*/
string getValue( [in] long Token )
raises( SAXException );
/** retrieves the value of an attributes.<br>
@param Token
contains the integer token from the <type>XFastTokenHandler</type>
registered at the <type>XFastParser</type>.<br>
If the attribute name has a namespace that was registered with the
<type>XFastParser</type>, Token contains the integer token of the
attributes local name from the <type>XFastTokenHandler</type> and
the integer token of the namespace combined with an arithmetic
<b>or</b> operation.
@returns
The string value from the attribute or an empty string if the
attribute is not available.
*/
string getOptionalValue( [in] long Token );
/** returns a sequence of attributes which names and or namespaces URLS
can not be translated to tokens.
*/
sequence< ::com::sun::star::xml::Attribute > getUnknownAttributes();
/** returns a sequence of attributes which names and or namespaces URLS
are translated to tokens.
*/
sequence< ::com::sun::star::xml::FastAttribute > getFastAttributes();
};
//=============================================================================
}; }; }; }; };
#endif