-
Notifications
You must be signed in to change notification settings - Fork 17
Fixes a code generation bug failed to generate the required XName fields in a C# class for an element #90
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
16 commits
Select commit
Hold shift + click to select a range
34263d8
Added ParaParse schema for testing.
mamift 646a778
Fixes a bug that occurs with generated code where if the chosen names…
mamift d160ddc
added to solution filter.
mamift ae9bf3e
semantic rename and reformat code.
mamift a0984c7
Refactored getSymbol to keep track if incrementing a symbol identifie…
mamift bb2ac25
added minimal reproducible example for the bad xname code generation …
mamift e59e95f
fixed wrong logic.
mamift dffa311
reformatted for readability.
mamift aa15c65
Oops, this was still wrong. now its right.
mamift b689505
All xname fields are getting generated properly!
mamift bcc0ad3
Regenerated code, re-ran test; all works fine!
mamift 182bae0
Updated version and release notes.
mamift adb0a84
Potential fix for pull request finding
mamift 49fd373
typos.
mamift cd17afb
this test always fails when part of the larger suite, but succeeds on…
mamift c9f9632
updated release notes.
mamift File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
22 changes: 22 additions & 0 deletions
22
GeneratedSchemaLibraries/ParaParserXml/ParaParserXml.csproj
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,22 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <Project Sdk="Microsoft.NET.Sdk"> | ||
| <PropertyGroup> | ||
| <TargetFramework>netstandard2.0</TargetFramework> | ||
| </PropertyGroup> | ||
| <ItemGroup> | ||
| <EmbeddedResource Include="paraparse_xNameBug.xsd" /> | ||
| <EmbeddedResource Include="paraparse.xsd" /> | ||
| <EmbeddedResource Include="paraparse.xsd.config" /> | ||
| <EmbeddedResource Include="paraparse.xsd.cs" /> | ||
| </ItemGroup> | ||
| <ItemGroup> | ||
| <None Remove="paraparse_xNameBug.xsd" /> | ||
| <None Remove="paraparse.xsd" /> | ||
| <None Remove="paraparse.xsd.config" /> | ||
| </ItemGroup> | ||
| <ItemGroup> | ||
| <ProjectReference Include="..\..\XObjectsCore\XObjectsCore.csproj"> | ||
| <SetTargetFramework>TargetFramework=netstandard2.0</SetTargetFramework> | ||
| </ProjectReference> | ||
| </ItemGroup> | ||
| </Project> | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,208 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <xs:schema id="paraparse" targetNamespace="urn:ParaParse.XML" elementFormDefault="qualified" | ||
| xmlns="urn:ParaParse.XML" xmlns:xs="http://www.w3.org/2001/XMLSchema"> | ||
|
|
||
| <xs:complexType name="Rule" abstract="true"> | ||
| <xs:attribute name="Name" type="xs:string" use="optional"/> | ||
| </xs:complexType> | ||
|
|
||
| <xs:element name="Rule" type="Rule" abstract="true"/> | ||
|
|
||
| <xs:group name="RuleGroup"> | ||
| <xs:choice> | ||
| <xs:element ref="NamedRule"/> | ||
| <xs:element ref="RecursiveRule"/> | ||
| <xs:element ref="StringRule"/> | ||
| <xs:element ref="CaseInvariantStringRule"/> | ||
| <xs:element ref="AnyCharRule"/> | ||
| <xs:element ref="CharRangeRule"/> | ||
| <xs:element ref="CharSetRule"/> | ||
| <xs:element ref="CharRule"/> | ||
| <xs:element ref="EndOfInputRule"/> | ||
| <xs:element ref="NodeRule"/> | ||
| <xs:element ref="ZeroOrMoreRule"/> | ||
| <xs:element ref="OneOrMoreRule"/> | ||
| <xs:element ref="CountedRule"/> | ||
| <xs:element ref="OptionalRule"/> | ||
| <xs:element ref="SequenceRule"/> | ||
| <xs:element ref="ChoiceRule"/> | ||
| <xs:element ref="AtRule"/> | ||
| <xs:element ref="NotAtRule"/> | ||
| <xs:element ref="OnFail"/> | ||
| <xs:element ref="BooleanRule"/> | ||
| </xs:choice> | ||
| </xs:group> | ||
|
|
||
| <xs:complexType name="SingleChildRule"> | ||
| <xs:complexContent> | ||
| <xs:extension base="Rule"> | ||
| <xs:sequence> | ||
| <xs:group ref="RuleGroup"/> | ||
| </xs:sequence> | ||
| </xs:extension> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
|
|
||
| <xs:complexType name="MultiChildRule"> | ||
| <xs:complexContent> | ||
| <xs:extension base="Rule"> | ||
| <xs:sequence minOccurs="0" maxOccurs="unbounded"> | ||
| <xs:group ref="RuleGroup"/> | ||
| </xs:sequence> | ||
| </xs:extension> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
|
|
||
| <!-- Concrete Rules --> | ||
|
|
||
| <xs:element name="NamedRule" substitutionGroup="Rule"> | ||
| <xs:complexType> | ||
| <xs:complexContent> | ||
| <xs:extension base="SingleChildRule"> | ||
| <xs:attribute name="RuleName" type="xs:string" use="required"/> | ||
| </xs:extension> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
| </xs:element> | ||
|
|
||
| <xs:element name="RecursiveRule" substitutionGroup="Rule"> | ||
| <xs:complexType> | ||
| <xs:complexContent> | ||
| <xs:extension base="Rule"/> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
| </xs:element> | ||
|
|
||
| <xs:element name="StringRule" substitutionGroup="Rule"> | ||
| <xs:complexType> | ||
| <xs:complexContent> | ||
| <xs:extension base="Rule"> | ||
| <xs:attribute name="Pattern" type="xs:string" use="required"/> | ||
| </xs:extension> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
| </xs:element> | ||
|
|
||
| <xs:element name="CaseInvariantStringRule" substitutionGroup="Rule"> | ||
| <xs:complexType> | ||
| <xs:complexContent> | ||
| <xs:extension base="Rule"> | ||
| <xs:attribute name="Pattern" type="xs:string" use="required"/> | ||
| </xs:extension> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
| </xs:element> | ||
|
|
||
| <xs:element name="AnyCharRule" substitutionGroup="Rule"> | ||
| <xs:complexType> | ||
| <xs:complexContent> | ||
| <xs:extension base="Rule"/> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
| </xs:element> | ||
|
|
||
| <xs:element name="CharRangeRule" substitutionGroup="Rule"> | ||
| <xs:complexType> | ||
| <xs:complexContent> | ||
| <xs:extension base="Rule"> | ||
| <xs:attribute name="From" type="xs:string" use="required"/> | ||
| <xs:attribute name="To" type="xs:string" use="required"/> | ||
| </xs:extension> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
| </xs:element> | ||
|
|
||
| <xs:element name="CharSetRule" substitutionGroup="Rule"> | ||
| <xs:complexType> | ||
| <xs:complexContent> | ||
| <xs:extension base="Rule"> | ||
| <xs:attribute name="Chars" type="xs:string" use="required"/> | ||
| </xs:extension> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
| </xs:element> | ||
|
|
||
| <xs:element name="CharRule" substitutionGroup="Rule"> | ||
| <xs:complexType> | ||
| <xs:complexContent> | ||
| <xs:extension base="Rule"> | ||
| <xs:attribute name="Char" type="xs:string" use="required"/> | ||
| </xs:extension> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
| </xs:element> | ||
|
|
||
| <xs:element name="EndOfInputRule" substitutionGroup="Rule"> | ||
| <xs:complexType> | ||
| <xs:complexContent> | ||
| <xs:extension base="Rule"/> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
| </xs:element> | ||
|
|
||
| <xs:element name="NodeRule" substitutionGroup="Rule"> | ||
| <xs:complexType> | ||
| <xs:complexContent> | ||
| <xs:extension base="SingleChildRule"> | ||
| <xs:attribute name="NodeName" type="xs:string" use="required"/> | ||
| </xs:extension> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
| </xs:element> | ||
|
|
||
| <xs:element name="ZeroOrMoreRule" type="SingleChildRule" substitutionGroup="Rule"/> | ||
|
|
||
| <xs:element name="OneOrMoreRule" type="SingleChildRule" substitutionGroup="Rule"/> | ||
|
|
||
| <xs:element name="CountedRule" substitutionGroup="Rule"> | ||
| <xs:complexType> | ||
| <xs:complexContent> | ||
| <xs:extension base="SingleChildRule"> | ||
| <xs:attribute name="Min" type="xs:int" use="required"/> | ||
| <xs:attribute name="Max" type="xs:int" use="required"/> | ||
| </xs:extension> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
| </xs:element> | ||
|
|
||
| <xs:element name="OptionalRule" type="SingleChildRule" substitutionGroup="Rule"/> | ||
|
|
||
| <xs:element name="SequenceRule" type="MultiChildRule" substitutionGroup="Rule"/> | ||
|
|
||
| <xs:element name="ChoiceRule" type="MultiChildRule" substitutionGroup="Rule"/> | ||
|
|
||
| <xs:element name="AtRule" type="SingleChildRule" substitutionGroup="Rule"/> | ||
|
|
||
| <xs:element name="NotAtRule" type="SingleChildRule" substitutionGroup="Rule"/> | ||
|
|
||
| <xs:element name="OnFail" substitutionGroup="Rule"> | ||
| <xs:complexType> | ||
| <xs:complexContent> | ||
| <xs:extension base="Rule"> | ||
| <xs:sequence> | ||
| <xs:group ref="RuleGroup"/> | ||
| </xs:sequence> | ||
| </xs:extension> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
| </xs:element> | ||
|
|
||
| <xs:element name="BooleanRule" substitutionGroup="Rule"> | ||
| <xs:complexType> | ||
| <xs:complexContent> | ||
| <xs:extension base="Rule"> | ||
| <xs:attribute name="Value" type="xs:boolean" use="required"/> | ||
| </xs:extension> | ||
| </xs:complexContent> | ||
| </xs:complexType> | ||
| </xs:element> | ||
|
|
||
| <xs:element name="grammar"> | ||
| <xs:complexType> | ||
| <xs:sequence maxOccurs="unbounded"> | ||
| <xs:group ref="RuleGroup"/> | ||
| </xs:sequence> | ||
| </xs:complexType> | ||
| </xs:element> | ||
|
|
||
| </xs:schema> |
13 changes: 13 additions & 0 deletions
13
GeneratedSchemaLibraries/ParaParserXml/paraparse.xsd.config
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| <?xml version="1.0" encoding="utf-8"?> | ||
| <Configuration xmlns="http://www.microsoft.com/xml/schema/linq"> | ||
| <Namespaces> | ||
| <Namespace DefaultVisibility="public" Schema="urn:ParaParse.XML" Clr="ParaParse.Xml" /> | ||
| </Namespaces> | ||
| <NullableReferences>false</NullableReferences> | ||
| <Validation> | ||
| <VerifyRequired>false</VerifyRequired> | ||
| </Validation> | ||
| <Transformation> | ||
| <Deanonymize strict="false" /> | ||
| </Transformation> | ||
| </Configuration> |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.