Class MicrosoftConditionalCommentTagTypes
Officially there are only two types of conditional comment,
downlevel-hidden and
downlevel-revealed,
with each defining a start tag containing an "if" expression and an end tag containing the text "endif".
These four official tags are represented by the tag types
DOWNLEVEL_HIDDEN_IF, DOWNLEVEL_HIDDEN_ENDIF, DOWNLEVEL_REVEALED_IF and DOWNLEVEL_REVEALED_ENDIF.
The conditional expression of an instance of any of the "if" tag types can be extracted using the StartTag.getTagContent() method.
For example, if the variable conditionalCommentIfTag represents the tag <![if !IE]>, then the expression
conditionalCommentIfTag.getTagContent().toString().trim() yields the string "!IE".
Conditional comments are only recognised by Internet Explorer. All other browsers recognise downlevel-hidden conditional comments as normal comments, and ignore downlevel-revealed conditional comment tags as unrecognised.
The use of downlevel-revealed conditional comments
is generally avoided because they represent invalid HTML code. They can however be replaced by functionally equivalent syntactical constructs based on
downlevel-hidden conditional comments
so that the HTML remains valid.
These composite constructs are represented by the tag types
DOWNLEVEL_REVEALED_VALIDATING_IF, DOWNLEVEL_REVEALED_VALIDATING_ENDIF and DOWNLEVEL_REVEALED_VALIDATING_SIMPLIFIED_IF.
Because none of the conditional comment end tags start with "</", they are represented in this library as
start tag types, and the parser makes no attempt to match if-endif tag pairs to form elements.
The tag types defined in this class are not registered by default.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StartTagTypestatic final StartTagTypestatic final StartTagTypestatic final StartTagTypestatic final StartTagTypeThe tag type given to a validating downlevel-revealed conditional commentendiftag (<!--<![endif]-->).static final StartTagTypeThe tag type given to a validating downlevel-revealed conditional commentiftag (<!--[if ... ]><!-->).static final StartTagTypeThe tag type given to a validating simplified downlevel-revealed conditional commentiftag (<!--[if ... ]>-->). -
Method Summary
Modifier and TypeMethodDescriptionstatic booleanIndicates whether the specified tag type is defined in this class.static voidDeregisters all of the tag types defined in this class at once.static voidregister()Registers all of the tag types defined in this class at once.
-
Field Details
-
DOWNLEVEL_HIDDEN_IF
The tag type given to a downlevel-hidden conditional commentiftag (<!--[if ... ]>).The corresponding end tag is represented by the tag type
DOWNLEVEL_HIDDEN_ENDIF.- Properties:
-
Property Value DescriptionMicrosoft downlevel-hidden conditional comment IF StartDelimiter<!--[ifClosingDelimiter]>IsServerTagfalseNamePrefix!--[ifCorrespondingEndTagTypenullHasAttributesfalseIsNameAfterPrefixRequiredfalse - Example:
<!--[if IE]>
-
DOWNLEVEL_HIDDEN_ENDIF
The tag type given to a downlevel-hidden conditional commentendiftag (<![endif]-->).The corresponding start tag is represented by the tag type
DOWNLEVEL_HIDDEN_IF.Although this functions as an end tag, it is represented in this library as a start tag type because it does not start with the characters "
</".- Properties:
-
Property Value DescriptionMicrosoft downlevel-hidden conditional comment ENDIF StartDelimiter<![endif]-->ClosingDelimiter(empty string) IsServerTagfalseNamePrefix![endif]-->CorrespondingEndTagTypenullHasAttributesfalseIsNameAfterPrefixRequiredfalse - Example:
<![endif]>
-
DOWNLEVEL_REVEALED_IF
The tag type given to a downlevel-revealed conditional commentiftag (<![if ... ]>).The corresponding end tag is represented by the tag type
DOWNLEVEL_REVEALED_ENDIF.- Properties:
-
Property Value DescriptionMicrosoft downlevel-revealed conditional comment IF StartDelimiter<![ifClosingDelimiter]>IsServerTagfalseNamePrefix![ifCorrespondingEndTagTypenullHasAttributesfalseIsNameAfterPrefixRequiredfalse - Example:
<![if !IE]>
-
DOWNLEVEL_REVEALED_ENDIF
The tag type given to a downlevel-revealed conditional commentendiftag (<![endif]>).The corresponding start tag is represented by the tag type
DOWNLEVEL_REVEALED_IF.Although this functions as an end tag, it is represented in this library as a start tag type because it does not start with the characters "
</".- Properties:
-
Property Value DescriptionMicrosoft downlevel-revealed conditional comment ENDIF StartDelimiter<![endif]>ClosingDelimiter(empty string) IsServerTagfalseNamePrefix![endif]>CorrespondingEndTagTypenullHasAttributesfalseIsNameAfterPrefixRequiredfalse - Example:
<![endif]>
-
DOWNLEVEL_REVEALED_VALIDATING_IF
The tag type given to a validating downlevel-revealed conditional commentiftag (<!--[if ... ]><!-->).The corresponding end tag is represented by the tag type
DOWNLEVEL_REVEALED_VALIDATING_ENDIF.This tag is actually a composite syntactical construct containing a downlevel-hidden conditional comment
iftag.- Properties:
-
Property Value DescriptionMicrosoft downlevel-revealed validating conditional comment IF StartDelimiter<!--[ifClosingDelimiter]><!-->IsServerTagfalseNamePrefix!--[ifCorrespondingEndTagTypenullHasAttributesfalseIsNameAfterPrefixRequiredfalse - Example:
<!--[if !(IE 5)]><!-->
-
DOWNLEVEL_REVEALED_VALIDATING_ENDIF
The tag type given to a validating downlevel-revealed conditional commentendiftag (<!--<![endif]-->).The corresponding start tag is represented by the tag type
DOWNLEVEL_REVEALED_VALIDATING_IF.This tag is actually a composite syntactical construct containing a downlevel-hidden conditional comment
endiftag.Although this functions as an end tag, it is represented in this library as a start tag type because it does not start with the characters "
</".- Properties:
-
Property Value DescriptionMicrosoft downlevel-revealed validating conditional comment ENDIF StartDelimiter<!--<![endif]-->ClosingDelimiter(empty string) IsServerTagfalseNamePrefix!--<![endif]-->CorrespondingEndTagTypenullHasAttributesfalseIsNameAfterPrefixRequiredfalse - Example:
<!--<![endif]-->
-
DOWNLEVEL_REVEALED_VALIDATING_SIMPLIFIED_IF
The tag type given to a validating simplified downlevel-revealed conditional commentiftag (<!--[if ... ]>-->).This form of validating downlevel-revealed conditional comment must only be used when the condition always evaluated to false in Internet Explorer, which means the condition should be either "
false" or "!IE".The corresponding end tag is represented by the tag type
DOWNLEVEL_REVEALED_VALIDATING_ENDIF, which is identical to the corresponding end tag ofDOWNLEVEL_REVEALED_VALIDATING_IF.This tag is actually a composite syntactical construct containing a downlevel-hidden conditional comment
iftag.- Properties:
-
Property Value DescriptionMicrosoft downlevel-revealed validating simplified conditional comment IF StartDelimiter<!--[ifClosingDelimiter]>-->IsServerTagfalseNamePrefix!--[ifCorrespondingEndTagTypenullHasAttributesfalseIsNameAfterPrefixRequiredfalse - Example:
<!--[if !IE]>-->
-
-
Method Details
-
register
public static void register()Registers all of the tag types defined in this class at once.The tag types must be registered before the parser will recognise them.
-
deregister
public static void deregister()Deregisters all of the tag types defined in this class at once. -
defines
-