@@ -11,6 +11,13 @@ class WebConfigXml extends XmlFile {
11
11
WebConfigXml ( ) { this .getName ( ) .matches ( "%Web.config" ) }
12
12
}
13
13
14
+ /**
15
+ * A `Web.config` transformation file.
16
+ */
17
+ class WebConfigReleaseTransformXml extends XmlFile {
18
+ WebConfigReleaseTransformXml ( ) { this .getName ( ) .matches ( "%Web.Release.config" ) }
19
+ }
20
+
14
21
/** DEPRECATED: Alias for WebConfigXml */
15
22
deprecated class WebConfigXML = WebConfigXml ;
16
23
@@ -19,6 +26,11 @@ class ConfigurationXmlElement extends XmlElement {
19
26
ConfigurationXmlElement ( ) { this .getName ( ) .toLowerCase ( ) = "configuration" }
20
27
}
21
28
29
+ /** A `<compilation>` tag in an ASP.NET configuration file. */
30
+ class CompilationXmlElement extends XmlElement {
31
+ CompilationXmlElement ( ) { this .getName ( ) .toLowerCase ( ) = "compilation" }
32
+ }
33
+
22
34
/** DEPRECATED: Alias for ConfigurationXmlElement */
23
35
deprecated class ConfigurationXMLElement = ConfigurationXmlElement ;
24
36
@@ -149,3 +161,15 @@ class HttpCookiesElement extends XmlElement {
149
161
/** DEPRECATED: Alias for isRequireSsl */
150
162
deprecated predicate isRequireSSL ( ) { this .isRequireSsl ( ) }
151
163
}
164
+
165
+ /** A `Transform` attribute in a Web.config transformation file. */
166
+ class TransformXmlAttribute extends XmlAttribute {
167
+ TransformXmlAttribute ( ) { this .getName ( ) .toLowerCase ( ) = "transform" }
168
+
169
+ /**
170
+ * Gets the list of attribute removals in `Transform=RemoveAttributes(list)`.
171
+ */
172
+ string getRemoveAttributes ( ) {
173
+ result = this .getValue ( ) .regexpCapture ( "RemoveAttributes\\((.*)\\)" , 1 ) .splitAt ( "," )
174
+ }
175
+ }
0 commit comments