Skip to content

Commit 61ff93e

Browse files
committed
Separated out NormalizingXmlResolver from Generator.cs
1 parent ecf8195 commit 61ff93e

2 files changed

Lines changed: 39 additions & 35 deletions

File tree

XmlSchemaClassGenerator/Generator.cs

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -9,41 +9,6 @@
99

1010
namespace XmlSchemaClassGenerator;
1111

12-
public class NormalizingXmlResolver(string forceUriScheme) : XmlUrlResolver()
13-
{
14-
// the Uri scheme to force on the resolved Uris
15-
// "none" - do not change Uri scheme
16-
// "same" - force the same Uri scheme as base Uri
17-
// any other string becomes the new Uri scheme of the baseUri
18-
private readonly string forceUriScheme = forceUriScheme;
19-
20-
public override Uri ResolveUri(Uri baseUri, string relativeUri)
21-
{
22-
var resolvedUri = base.ResolveUri(baseUri, relativeUri);
23-
var r = NormalizeUri(baseUri, resolvedUri);
24-
return r;
25-
}
26-
27-
private Uri NormalizeUri(Uri baseUri, Uri resolvedUri)
28-
{
29-
var newScheme = forceUriScheme;
30-
31-
switch (forceUriScheme)
32-
{
33-
case "none": return resolvedUri;
34-
case "same":
35-
{
36-
newScheme = baseUri.Scheme;
37-
break;
38-
}
39-
}
40-
41-
var builder = new UriBuilder(resolvedUri) { Scheme = newScheme, Port = -1 };
42-
43-
return builder.Uri;
44-
}
45-
}
46-
4712
public class Generator
4813
{
4914
private readonly GeneratorConfiguration _configuration = new();
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
using System;
2+
using System.Xml;
3+
4+
namespace XmlSchemaClassGenerator;
5+
6+
public class NormalizingXmlResolver(string forceUriScheme) : XmlUrlResolver()
7+
{
8+
// the Uri scheme to force on the resolved Uris
9+
// "none" - do not change Uri scheme
10+
// "same" - force the same Uri scheme as base Uri
11+
// any other string becomes the new Uri scheme of the baseUri
12+
private readonly string forceUriScheme = forceUriScheme;
13+
14+
public override Uri ResolveUri(Uri baseUri, string relativeUri)
15+
{
16+
var resolvedUri = base.ResolveUri(baseUri, relativeUri);
17+
var r = NormalizeUri(baseUri, resolvedUri);
18+
return r;
19+
}
20+
21+
private Uri NormalizeUri(Uri baseUri, Uri resolvedUri)
22+
{
23+
var newScheme = forceUriScheme;
24+
25+
switch (forceUriScheme)
26+
{
27+
case "none": return resolvedUri;
28+
case "same":
29+
{
30+
newScheme = baseUri.Scheme;
31+
break;
32+
}
33+
}
34+
35+
var builder = new UriBuilder(resolvedUri) { Scheme = newScheme, Port = -1 };
36+
37+
return builder.Uri;
38+
}
39+
}

0 commit comments

Comments
 (0)