1/************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23#ifndef __com_sun_star_xml_sax_XFastAttributeList_idl__ 24#define __com_sun_star_xml_sax_XFastAttributeList_idl__ 25 26#ifndef __com_sun_star_uno_XInterface_idl__ 27#include <com/sun/star/uno/XInterface.idl> 28#endif 29 30#ifndef __com_sun_star_xml_Attribute_idl__ 31#include <com/sun/star/xml/Attribute.idl> 32#endif 33 34#ifndef __com_sun_star_xml_FastAttribute_idl__ 35#include <com/sun/star/xml/FastAttribute.idl> 36#endif 37 38#ifndef __com_sun_star_xml_sax_SAXException_idl__ 39#include <com/sun/star/xml/sax/SAXException.idl> 40#endif 41 42//============================================================================= 43 44module com { module sun { module star { module xml { module sax { 45 46//============================================================================= 47 48/** a container for the attributes of an xml element. 49 50 <br>Attributes are seperated into known attributes and unknown attributes. 51 <p>Known attributes have a local name that is known to the <type>XFastTokenHandler</token> 52 registered at the <type>XFastParser</type> which created the sax event containing 53 this attributes. If an attribute also has a namespace, that must be registered 54 at the <type>XFastParser</type>, else this attribute is also unknown even if 55 the local name is known. 56 */ 57interface XFastAttributeList: com::sun::star::uno::XInterface 58{ 59 /** checks if an attribute is available.<br> 60 61 @param Token 62 contains the integer token from the <type>XFastTokenHandler</type> 63 registered at the <type>XFastParser</type>.<br> 64 65 If the attribute name has a namespace that was registered with the 66 <type>XFastParser</type>, Token contains the integer token of the 67 attributes local name from the <type>XFastTokenHandler</type> and 68 the integer token of the namespace combined with an arithmetic 69 <b>or</b> operation. 70 71 @returns 72 <TRUE/>, if the attribute is available 73 */ 74 boolean hasAttribute( [in] long Token ); 75 76 /** retrieves the token of an attributes value.<br> 77 78 @param Token 79 contains the integer token from the <type>XFastTokenHandler</type> 80 registered at the <type>XFastParser</type>.<br> 81 82 If the attribute name has a namespace that was registered with the 83 <type>XFastParser</type>, Token contains the integer token of the 84 attributes local name from the <type>XFastTokenHandler</type> and 85 the integer token of the namespace combined with an arithmetic 86 <b>or</b> operation. 87 88 @returns 89 The integer token of the value from the attribute or <const>FastToken::Invalid</const> 90 91 @throws SAXEXception 92 if the attribute is not available 93 94 */ 95 long getValueToken( [in] long Token ) 96 raises( SAXException ); 97 98 /**retrieves the token of an attributes value.<br> 99 100 @param Token 101 contains the integer token from the <type>XFastTokenHandler</type> 102 registered at the <type>XFastParser</type>.<br> 103 104 If the attribute name has a namespace that was registered with the 105 <type>XFastParser</type>, Token contains the integer token of the 106 attributes local name from the <type>XFastTokenHandler</type> and 107 the integer token of the namespace combined with an arithmetic 108 <b>or</b> operation. 109 110 @param Default 111 This value will be returned if the attribute is not available 112 113 @returns 114 If the attribute is available it returns the integer token of the value 115 from the attribute or <const>FastToken::Invalid</const>. 116 If not the value of <param>Default</param> is returned. 117 118 */ 119 long getOptionalValueToken( [in] long Token, [in] long Default ); 120 121 /** retrieves the value of an attributes.<br> 122 123 @param Token 124 contains the integer token from the <type>XFastTokenHandler</type> 125 registered at the <type>XFastParser</type>.<br> 126 127 If the attribute name has a namespace that was registered with the 128 <type>XFastParser</type>, Token contains the integer token of the 129 attributes local name from the <type>XFastTokenHandler</type> and 130 the integer token of the namespace combined with an arithmetic 131 <b>or</b> operation. 132 133 @returns 134 The string value from the attribute. 135 136 @throws SAXEXception 137 if the attribute is not available 138 139 */ 140 string getValue( [in] long Token ) 141 raises( SAXException ); 142 143 /** retrieves the value of an attributes.<br> 144 145 @param Token 146 contains the integer token from the <type>XFastTokenHandler</type> 147 registered at the <type>XFastParser</type>.<br> 148 149 If the attribute name has a namespace that was registered with the 150 <type>XFastParser</type>, Token contains the integer token of the 151 attributes local name from the <type>XFastTokenHandler</type> and 152 the integer token of the namespace combined with an arithmetic 153 <b>or</b> operation. 154 155 @returns 156 The string value from the attribute or an empty string if the 157 attribute is not available. 158 */ 159 string getOptionalValue( [in] long Token ); 160 161 /** returns a sequence of attributes which names and or namespaces URLS 162 can not be translated to tokens. 163 */ 164 sequence< ::com::sun::star::xml::Attribute > getUnknownAttributes(); 165 166 /** returns a sequence of attributes which names and or namespaces URLS 167 are translated to tokens. 168 */ 169 sequence< ::com::sun::star::xml::FastAttribute > getFastAttributes(); 170}; 171 172//============================================================================= 173 174}; }; }; }; }; 175 176#endif 177