Bool TIDY_CALL tidyNodeHasText( TidyDoc tdoc, TidyNode tnod ) { TidyDocImpl* doc = tidyDocToImpl( tdoc ); if ( doc ) return TY_(nodeHasText)( doc, tidyNodeToImpl(tnod) ); return no; }
Bool TIDY_CALL tidyNodeGetText( TidyDoc tdoc, TidyNode tnod, TidyBuffer* outbuf ) { TidyDocImpl* doc = tidyDocToImpl( tdoc ); Node* nimp = tidyNodeToImpl( tnod ); if ( doc && nimp && outbuf ) { uint outenc = cfg( doc, TidyOutCharEncoding ); uint nl = cfg( doc, TidyNewline ); StreamOut* out = TY_(BufferOutput)( doc, outbuf, outenc, nl ); Bool xmlOut = cfgBool( doc, TidyXmlOut ); Bool xhtmlOut = cfgBool( doc, TidyXhtmlOut ); doc->docOut = out; if ( xmlOut && !xhtmlOut ) TY_(PPrintXMLTree)( doc, NORMAL, 0, nimp ); else TY_(PPrintTree)( doc, NORMAL, 0, nimp ); TY_(PFlushLine)( doc, 0 ); doc->docOut = NULL; TidyDocFree( doc, out ); return yes; } return no; }
Bool TIDY_CALL tidyNodeGetValue( TidyDoc tdoc, TidyNode tnod, TidyBuffer* buf ) { TidyDocImpl *doc = tidyDocToImpl( tdoc ); Node *node = tidyNodeToImpl( tnod ); if ( doc == NULL || node == NULL || buf == NULL ) return no; switch( node->type ) { case TextNode: case CDATATag: case CommentTag: case ProcInsTag: case SectionTag: case AspTag: case JsteTag: case PhpTag: { tidyBufClear( buf ); tidyBufAppend( buf, doc->lexer->lexbuf + node->start, node->end - node->start ); break; } default: /* The node doesn't have a value */ return no; } return yes; }
/* Node info */ TidyNodeType TIDY_CALL tidyNodeGetType( TidyNode tnod ) { Node* nimp = tidyNodeToImpl( tnod ); TidyNodeType ntyp = TidyNode_Root; if ( nimp ) ntyp = (TidyNodeType) nimp->type; return ntyp; }
uint TIDY_CALL tidyNodeLine( TidyNode tnod ) { Node* nimp = tidyNodeToImpl( tnod ); uint line = 0; if ( nimp ) line = nimp->line; return line; }
uint TIDY_CALL tidyNodeColumn( TidyNode tnod ) { Node* nimp = tidyNodeToImpl( tnod ); uint col = 0; if ( nimp ) col = nimp->column; return col; }
ctmbstr TIDY_CALL tidyNodeGetName( TidyNode tnod ) { Node* nimp = tidyNodeToImpl( tnod ); ctmbstr nnam = NULL; if ( nimp ) nnam = nimp->element; return nnam; }
/* Iterate over attribute values */ TidyAttr TIDY_CALL tidyAttrFirst( TidyNode tnod ) { Node* nimp = tidyNodeToImpl( tnod ); AttVal* attval = NULL; if ( nimp ) attval = nimp->attributes; return tidyImplToAttr( attval ); }
TidyTagId TIDY_CALL tidyNodeGetId(TidyNode tnod) { Node* nimp = tidyNodeToImpl(tnod); TidyTagId tagId = TidyTag_UNKNOWN; if (nimp && nimp->tag) tagId = nimp->tag->id; return tagId; }
Bool TIDY_CALL tidyNodeIsProp( TidyDoc ARG_UNUSED(tdoc), TidyNode tnod ) { Node* nimp = tidyNodeToImpl( tnod ); Bool isProprietary = yes; if ( nimp ) { switch ( nimp->type ) { case RootNode: case DocTypeTag: case CommentTag: case XmlDecl: case ProcInsTag: case TextNode: case CDATATag: isProprietary = no; break; case SectionTag: case AspTag: case JsteTag: case PhpTag: isProprietary = yes; break; case StartTag: case EndTag: case StartEndTag: isProprietary = ( nimp->tag ? (nimp->tag->versions&VERS_PROPRIETARY)!=0 : yes ); break; } } return isProprietary; }
/* tagask.c -- Interrogate node type (c) 1998-2006 (W3C) MIT, ERCIM, Keio University See tidy.h for the copyright notice. */ #include "tidy-int.h" #include "tags.h" #include "tidy.h" Bool TIDY_CALL tidyNodeIsText( TidyNode tnod ) { return TY_(nodeIsText)( tidyNodeToImpl(tnod) ); } Bool tidyNodeCMIsBlock( TidyNode tnod ); /* not exported yet */ Bool tidyNodeCMIsBlock( TidyNode tnod ) { return TY_(nodeCMIsBlock)( tidyNodeToImpl(tnod) ); } Bool tidyNodeCMIsInline( TidyNode tnod ); /* not exported yet */ Bool tidyNodeCMIsInline( TidyNode tnod ) { return TY_(nodeCMIsInline)( tidyNodeToImpl(tnod) ); } Bool tidyNodeCMIsEmpty( TidyNode tnod ); /* not exported yet */ Bool tidyNodeCMIsEmpty( TidyNode tnod ) { return TY_(nodeCMIsEmpty)( tidyNodeToImpl(tnod) ); }
Bool TIDY_CALL tidyNodeIsSELECT( TidyNode tnod ) { return nodeIsSELECT( tidyNodeToImpl(tnod) ); }
Bool TIDY_CALL tidyNodeIsADDRESS( TidyNode tnod ) { return nodeIsADDRESS( tidyNodeToImpl(tnod) ); }
Bool TIDY_CALL tidyNodeIsMARQUEE( TidyNode tnod ) { return nodeIsMARQUEE( tidyNodeToImpl(tnod) ); }
Bool TIDY_CALL tidyNodeIsBLINK( TidyNode tnod ) { return nodeIsBLINK( tidyNodeToImpl(tnod) ); }
Bool TIDY_CALL tidyNodeIsFRAMESET( TidyNode tnod ) { return nodeIsFRAMESET( tidyNodeToImpl(tnod) ); }
Bool TIDY_CALL tidyNodeIsBASEFONT( TidyNode tnod ) { return nodeIsBASEFONT( tidyNodeToImpl(tnod) ); }
TidyNode TIDY_CALL tidyGetChild( TidyNode tnod ) { Node* nimp = tidyNodeToImpl( tnod ); return tidyImplToNode( nimp->content ); }
/* siblings */ TidyNode TIDY_CALL tidyGetNext( TidyNode tnod ) { Node* nimp = tidyNodeToImpl( tnod ); return tidyImplToNode( nimp->next ); }
Bool TIDY_CALL tidyNodeIsAPPLET( TidyNode tnod ) { return nodeIsAPPLET( tidyNodeToImpl(tnod) ); }
/* parent / child */ TidyNode TIDY_CALL tidyGetParent( TidyNode tnod ) { Node* nimp = tidyNodeToImpl( tnod ); return tidyImplToNode( nimp->parent ); }
Bool TIDY_CALL tidyNodeIsISINDEX( TidyNode tnod ) { return nodeIsISINDEX( tidyNodeToImpl(tnod) ); }
Bool TIDY_CALL tidyNodeIsLISTING( TidyNode tnod ) { return nodeIsLISTING( tidyNodeToImpl(tnod) ); }
Bool TIDY_CALL tidyNodeIsNOFRAMES( TidyNode tnod ) { return nodeIsNOFRAMES( tidyNodeToImpl(tnod) ); }
Bool TIDY_CALL tidyNodeIsLABEL( TidyNode tnod ) { return nodeIsLABEL( tidyNodeToImpl(tnod) ); }
TidyNode TIDY_CALL tidyGetPrev( TidyNode tnod ) { Node* nimp = tidyNodeToImpl( tnod ); return tidyImplToNode( nimp->prev ); }
Bool TIDY_CALL tidyNodeIsDD( TidyNode tnod ) { return nodeIsDD( tidyNodeToImpl(tnod) ); }
Bool TIDY_CALL tidyNodeIsHeader( TidyNode tnod ) { return TY_(nodeIsHeader)( tidyNodeToImpl(tnod) ); }
Bool TIDY_CALL tidyNodeIsTABLE( TidyNode tnod ) { return nodeIsTABLE( tidyNodeToImpl(tnod) ); }
Bool TIDY_CALL tidyNodeIsBLOCKQUOTE( TidyNode tnod ) { return nodeIsBLOCKQUOTE( tidyNodeToImpl(tnod) ); }