2008-10-28

[Opsware] Unhappy CML loop or block syntax.

I just hit this one. I have no idea what the problem might be right now. The syntax snippet.

@1[;ordered-lines@
<IfModule mod_alias.c>
@2*script_alias@
ScriptAlias @.url_path;dir@ @.file_ath;dir@
@2]@
@2*alias@
Alias @.url_path;dir@ @.file_path;dir@
@2]@
</IfModule>
@1]@


Here is the error message on a Preview operation in the SAS client.

com.opsware.acm.CMLFileGenerationException: Did not find a match for: "TextTag(<IfModule)" line: 99

Update:


The problem was the loops (alias and script_alias) not being optional and not having any values specified.

If I want the entire stanza, including the IfModule section delimiters, to not appear if there are no values, then the correct syntax is:

@1[;optional@
<IfModule mod_alias.c>
@2*script_alias;;;optional@
ScriptAlias @.url_path;dir@ @.file_ath;dir@
@2]@
</IfModule>
@1]@


If I want the IfModule section delimiters to appear even if there is nothing between them, then this syntax works without errors.

<IfModule mod_alias.c>
@2*script_alias;;;optional@
ScriptAlias @.url_path;dir@ @.file_ath;dir@
@2]@
</IfModule>


But using the optional option with just the loop and not the block will still cause the error I described above.

No comments:

Post a Comment