diff --git a/include/tidy.h b/include/tidy.h index 512b563..2f3dabd 100755 --- a/include/tidy.h +++ b/include/tidy.h @@ -823,6 +823,9 @@ TIDY_EXPORT TidyNode TIDY_CALL tidyGetHtml( TidyDoc tdoc ); TIDY_EXPORT TidyNode TIDY_CALL tidyGetHead( TidyDoc tdoc ); TIDY_EXPORT TidyNode TIDY_CALL tidyGetBody( TidyDoc tdoc ); +/* remove a node */ +TIDY_EXPORT TidyNode TIDY_CALL tidyDiscardElement( TidyDoc tdoc, TidyNode tnod ); + /* parent / child */ TIDY_EXPORT TidyNode TIDY_CALL tidyGetParent( TidyNode tnod ); TIDY_EXPORT TidyNode TIDY_CALL tidyGetChild( TidyNode tnod ); @@ -844,6 +847,8 @@ TIDY_EXPORT TidyAttr TIDY_CALL tidyAttrNext( TidyAttr tattr ); TIDY_EXPORT ctmbstr TIDY_CALL tidyAttrName( TidyAttr tattr ); TIDY_EXPORT ctmbstr TIDY_CALL tidyAttrValue( TidyAttr tattr ); +TIDY_EXPORT void TIDY_CALL tidyAttrDiscard( TidyDoc itdoc, TidyNode tnod, TidyAttr tattr ); + /* Null for pure HTML TIDY_EXPORT ctmbstr tidyAttrNsLocal( TidyAttr tattr ); TIDY_EXPORT ctmbstr tidyAttrNsPrefix( TidyAttr tattr ); diff --git a/src/tidylib.c b/src/tidylib.c index e02193b..15e9596 100755 --- a/src/tidylib.c +++ b/src/tidylib.c @@ -1924,6 +1924,15 @@ TidyNode TIDY_CALL tidyGetChild( TidyNode tnod ) return tidyImplToNode( nimp->content ); } +/* remove a node */ +TidyNode TIDY_CALL tidyDiscardElement( TidyDoc tdoc, TidyNode tnod ) +{ + TidyDocImpl* doc = tidyDocToImpl( tdoc ); + Node* nimp = tidyNodeToImpl( tnod ); + Node* next = TY_(DiscardElement)( doc, nimp ); + return tidyImplToNode( next ); +} + /* siblings */ TidyNode TIDY_CALL tidyGetNext( TidyNode tnod ) { @@ -2135,6 +2144,14 @@ ctmbstr TIDY_CALL tidyAttrValue( TidyAttr tattr ) return aval; } +void TIDY_CALL tidyAttrDiscard( TidyDoc tdoc, TidyNode tnod, TidyAttr tattr ) +{ + TidyDocImpl* impl = tidyDocToImpl( tdoc ); + Node* nimp = tidyNodeToImpl( tnod ); + AttVal* attval = tidyAttrToImpl( tattr ); + TY_(RemoveAttribute)( impl, nimp, attval ); +} + /* Null for pure HTML ctmbstr tidyAttrNsLocal( TidyAttr tattr ) {