@@ -11,6 +11,13 @@ class WebConfigXml extends XmlFile {
1111 WebConfigXml ( ) { this .getName ( ) .matches ( "%Web.config" ) }
1212}
1313
14+ /**
15+ * A `Web.config` transformation file.
16+ */
17+ class WebConfigReleaseTransformXml extends XmlFile {
18+ WebConfigReleaseTransformXml ( ) { this .getName ( ) .matches ( "%Web.Release.config" ) }
19+ }
20+
1421/** DEPRECATED: Alias for WebConfigXml */
1522deprecated class WebConfigXML = WebConfigXml ;
1623
@@ -19,6 +26,11 @@ class ConfigurationXmlElement extends XmlElement {
1926 ConfigurationXmlElement ( ) { this .getName ( ) .toLowerCase ( ) = "configuration" }
2027}
2128
29+ /** A `<compilation>` tag in an ASP.NET configuration file. */
30+ class CompilationXmlElement extends XmlElement {
31+ CompilationXmlElement ( ) { this .getName ( ) .toLowerCase ( ) = "compilation" }
32+ }
33+
2234/** DEPRECATED: Alias for ConfigurationXmlElement */
2335deprecated class ConfigurationXMLElement = ConfigurationXmlElement ;
2436
@@ -149,3 +161,15 @@ class HttpCookiesElement extends XmlElement {
149161 /** DEPRECATED: Alias for isRequireSsl */
150162 deprecated predicate isRequireSSL ( ) { this .isRequireSsl ( ) }
151163}
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