summaryrefslogtreecommitdiff
path: root/transex3/source/tagtest.cxx
diff options
context:
space:
mode:
authorGregor Hartmann <gh@openoffice.org>2001-12-05 10:12:31 +0000
committerGregor Hartmann <gh@openoffice.org>2001-12-05 10:12:31 +0000
commit031ef7dbc2fbb8bc25f4d04e23ccb640cbc6bdc6 (patch)
tree36037f3afc36468ca36b3cbebb423c6c15dd3326 /transex3/source/tagtest.cxx
parent8b3ebde9d3e093c4463a6ab49a6e91981235dd59 (diff)
new handling of meta tags
Diffstat (limited to 'transex3/source/tagtest.cxx')
-rw-r--r--transex3/source/tagtest.cxx22
1 files changed, 16 insertions, 6 deletions
diff --git a/transex3/source/tagtest.cxx b/transex3/source/tagtest.cxx
index 7997d52639..f206498751 100644
--- a/transex3/source/tagtest.cxx
+++ b/transex3/source/tagtest.cxx
@@ -2,9 +2,9 @@
*
* $RCSfile: tagtest.cxx,v $
*
- * $Revision: 1.3 $
+ * $Revision: 1.4 $
*
- * last change: $Author: gh $ $Date: 2001-11-28 13:03:52 $
+ * last change: $Author: gh $ $Date: 2001-12-05 11:12:31 $
*
* The Contents of this file are made available subject to the terms of
* either of the following licenses
@@ -739,38 +739,48 @@ void LingTest::CheckTags( TokenList aReference, TokenList aTestee, ParserMessage
*/
// filter uninteresting Tags
+ Token aMetaTokens = 0;
i=0;
while ( i < aReference.Count() )
{
Token aToken = aReference.GetObject( i );
Token aTokenGroup = TAG_GROUP( aToken );
if ( TAG_GROUP_PROGSWITCH == aTokenGroup
- || TAG_GROUP_META == aTokenGroup
|| TAG_REFINSERT == aToken
|| TAG_REFSTART == aToken
|| TAG_NAME == aToken
|| TAG_HREF == aToken
|| TAG_AVIS == aToken
- || TAG_AHID == aToken )
+ || TAG_AHID == aToken
+ || ( TAG_GROUP_META == aTokenGroup && (aMetaTokens & aToken) == aToken ) )
+ {
i++;
+ if ( TAG_GROUP_META == aTokenGroup )
+ aMetaTokens |= aToken;
+ }
else
aReference.Remove( i );
}
+ aMetaTokens = 0;
i=0;
while ( i < aTestee.Count() )
{
Token aToken = aTestee.GetObject( i );
Token aTokenGroup = TAG_GROUP( aToken );
if ( TAG_GROUP_PROGSWITCH == aTokenGroup
- || TAG_GROUP_META == aTokenGroup
|| TAG_REFINSERT == aToken
|| TAG_REFSTART == aToken
|| TAG_NAME == aToken
|| TAG_HREF == aToken
|| TAG_AVIS == aToken
- || TAG_AHID == aToken )
+ || TAG_AHID == aToken
+ || ( TAG_GROUP_META == aTokenGroup && (aMetaTokens & aToken) == aToken ) )
+ {
i++;
+ if ( TAG_GROUP_META == aTokenGroup )
+ aMetaTokens |= aToken;
+ }
else
aTestee.Remove( i );
}