Skip to content

Commit 76c0284

Browse files
authored
Merge pull request #2 from BigBang1112/dev
Add apostrophe support for attributes
2 parents c27da0d + f7f5be0 commit 76c0284

File tree

6 files changed

+32
-12
lines changed

6 files changed

+32
-12
lines changed

.github/workflows/dotnet.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@ jobs:
2222
uses: actions/setup-dotnet@v4
2323
with:
2424
dotnet-version: |
25+
9.0.x
2526
8.0.x
2627
2728
- name: Restore dependencies

.github/workflows/publish.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@ jobs:
2727
uses: actions/setup-dotnet@v4
2828
with:
2929
dotnet-version: |
30+
9.0.x
3031
8.0.x
3132
3233
- name: Restore dependencies

MinimalXmlReader.Benchmarks/MinimalXmlReader.Benchmarks.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<OutputType>Exe</OutputType>
5-
<TargetFrameworks>net8.0</TargetFrameworks>
5+
<TargetFrameworks>net9.0;net8.0</TargetFrameworks>
66
<ImplicitUsings>enable</ImplicitUsings>
77
<Nullable>enable</Nullable>
88
<LangVersion>11</LangVersion>

MinimalXmlReader.Tests/MinimalXmlReader.Tests.csproj

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22

33
<PropertyGroup>
4-
<TargetFrameworks>net8.0</TargetFrameworks>
4+
<TargetFrameworks>net9.0;net8.0</TargetFrameworks>
55
<ImplicitUsings>enable</ImplicitUsings>
66
<Nullable>enable</Nullable>
77

@@ -11,13 +11,13 @@
1111
</PropertyGroup>
1212

1313
<ItemGroup>
14-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
15-
<PackageReference Include="xunit" Version="2.9.0" />
16-
<PackageReference Include="xunit.runner.visualstudio" Version="2.8.2">
14+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
15+
<PackageReference Include="xunit" Version="2.9.2" />
16+
<PackageReference Include="xunit.runner.visualstudio" Version="3.0.0">
1717
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
1818
<PrivateAssets>all</PrivateAssets>
1919
</PackageReference>
20-
<PackageReference Include="coverlet.collector" Version="6.0.2">
20+
<PackageReference Include="coverlet.collector" Version="6.0.3">
2121
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2222
<PrivateAssets>all</PrivateAssets>
2323
</PackageReference>

MinimalXmlReader/MiniXmlReader.cs

Lines changed: 22 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -308,12 +308,21 @@ private Dictionary<string, string> ReadAttributes(bool expectsProcessingInstruct
308308

309309
Advance();
310310

311+
var isApostrophe = false;
312+
311313
if (!SkipChar('"'))
312314
{
313-
throw new Exception("Expected \"");
315+
if (SkipChar('\''))
316+
{
317+
isApostrophe = true;
318+
}
319+
else
320+
{
321+
throw new Exception("Expected \" or '");
322+
}
314323
}
315324

316-
var attValue = ReadUntilChar('"', includeSpaces: true);
325+
var attValue = ReadUntilChar(isApostrophe ? '\'' : '"', includeSpaces: true);
317326

318327
Advance();
319328

@@ -407,12 +416,21 @@ private void SkipAttributes(bool expectsProcessingInstruction = false)
407416

408417
Advance();
409418

419+
var isApostrophe = false;
420+
410421
if (!SkipChar('"'))
411422
{
412-
throw new Exception("Expected \"");
423+
if (SkipChar('\''))
424+
{
425+
isApostrophe = true;
426+
}
427+
else
428+
{
429+
throw new Exception("Expected \" or '");
430+
}
413431
}
414432

415-
SkipUntilChar('"', includeSpaces: true);
433+
SkipUntilChar(isApostrophe ? '\'' : '"', includeSpaces: true);
416434

417435
Advance();
418436

MinimalXmlReader/MinimalXmlReader.csproj

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
<PropertyGroup>
44
<PackageId>MinimalXmlReader</PackageId>
5-
<Version>0.1.1</Version>
5+
<Version>0.1.2</Version>
66
<Authors>BigBang1112</Authors>
77
<Description>Simple, lightweight, and fast XML reader for .NET, mainly viable for NativeAOT, and for those that don't want to waste 6MB of executable binary just to read a few XML lines.</Description>
88
<Copyright>Copyright (c) 2024 Petr Pivoňka</Copyright>
@@ -14,7 +14,7 @@
1414
</PropertyGroup>
1515

1616
<PropertyGroup>
17-
<TargetFrameworks>net8.0</TargetFrameworks>
17+
<TargetFrameworks>net9.0;net8.0</TargetFrameworks>
1818
<ImplicitUsings>enable</ImplicitUsings>
1919
<Nullable>enable</Nullable>
2020
<LangVersion>12</LangVersion>

0 commit comments

Comments
 (0)