Getting tired, just a quick correction:

   1. Copied the tests of the "xml-schema-1.1-tests" git branch from "src"
   to "*src/test/java*" in the "xml-schema-1.1-dev" branch
   2. Copied the test files of the "xml-schema-1.1-tests"  git branch from
   "data" to "*src/test/resources*" in the "xml-schema-1.1-dev" branch


On Fri, 13 Sept 2024 at 02:28, Svante Schubert <svanteschub...@apache.org>
wrote:

> Dear Xerces-J users,
>
> I enabled a prototype of Maven for Xerces-j on top of the
> "xml-schema-1.1-dev" Git branch to build and test with Netbeans - any IDE
> supporting Maven, see
> https://github.com/svanteschubert/xerces-j/tree/maven-prototype
>
> Aimed to change as little as possible at the beginning:
>
>    1. Moved all Java files of the "src" directory to "src/main/java"
>    2. Moved all *.properties files of the "src" directory to
>    "src/main/resources"
>    3. Copied the tests of the "xml-schema-1.1-tests" git branch from
>    "src" to "src/main/test" in the "xml-schema-1.1-dev" branch
>    4. Copied the test files of the "xml-schema-1.1-tests"  git branch
>    from "data" to "src/main/resources" in the "xml-schema-1.1-dev" branch
>    5. The pom.xml was initialized from
>    
> https://repo1.maven.org/maven2/xerces/xercesImpl/2.12.2/xercesImpl-2.12.2.pom
>    6. Afterwards, the pom.xml was enriched from the pom.xml of the former
>    Apache Incubator project ODF Toolkit/ODFDOM
>    7. The .github directory was overtaken/adapted from the former Apache
>    Incubator project ODF Toolkit/ODFDOM
>    8. Some JARs are yet not on Maven and were still reused locally from
>    the tools directory
>
> By this with every commit regression testing is triggered on GitHub, so
> you might far easier see and reproduce my problem:
>
> https://github.com/svanteschubert/xerces-j/actions/runs/10840565076/job/30083097656#step:4:554
>
> Likely the root problem is that the correct SchemaFactory is not found and
> the JDK 8 internal Xerces is being taken.
> Does anybody know the fix? Likely it is a common problem...
>
> I will discuss the challenges of the Maven build in the next few days on
> the dev list...no need to continue, if nobody is interested...
>
> Greetings from Germany,
> Svante
>
> On Thu, 12 Sept 2024 at 18:45, Svante Schubert <svanteschub...@apache.org>
> wrote:
>
>> Can anyone please provide feedback if it can be produced that the
>> AllXercesXSD11Tests
>> <https://github.com/apache/xerces-j/blob/xml-schema-1.1-tests/src/org/apache/xerces/tests/AllXercesXSD11Tests.java>
>> are failing?
>>
>>    1. for the downloaded Xerces 1.1 version
>>    
>> <https://dlcdn.apache.org//xerces/j/binaries/Xerces-J-bin.2.12.2-xml-schema-1.1.zip>
>>    ?
>>    2. for the Xerces 1.1 dev GitHub branch?
>>    3. that the earlier-mentioned test should fail as it did due to the
>>    duplicated named global element declaration?
>>    Sorry, but I did earlier a shell-game trick to myself and added not
>>    an official Xerces1.1.jar but my previous AllXercesXSD11Tests
>>    
>> <https://github.com/apache/xerces-j/blob/xml-schema-1.1-tests/src/org/apache/xerces/tests/AllXercesXSD11Tests.java>
>>  only
>>    failed correctly in my local test branch, where I added prefix support for
>>    the loaded XSDs at run-time...still, tests fail for the official Xerces 
>> 1.1
>>    release.
>>
>> I tested now two different official Xerces 1.1 versions (and added
>> Netbeans IDE build environment to two commits of my prototype branch
>> smoke-testing)
>>
>>    1. a Netbeans environment using the downloaded Xerces 1.1 version
>>    
>> <https://github.com/apache/xerces-j/commit/1930cbe2ec1a4d5e4df4a685c60b66a86745e285>
>>    2. a Netbeans environment using the Xerces 1.1 dev GitHub branch
>>    
>> <https://github.com/apache/xerces-j/commit/57dcf82032d874c9bed5851349635e7c0a1131f1>
>>
>> Netbeans build and debug environment is easily addable for the
>> xml-schema-1.1-tests GitHub branch of Xerces by creating a new
>> Netbeans project and
>>
>>    - In case Netbeans debug support for downloaded Xerces 1.1 ZIP
>>    
>> <https://dlcdn.apache.org//xerces/j/binaries/Xerces-J-bin.2.12.2-xml-schema-1.1.zip>
>>    :
>>    Add all JARs from the downloaded ZIP of Xerces 1.1 to the classpath -
>>    switch to JDK 8 (as afterwards JDKs API changed, e.g. tools.jar not
>>    available)
>>
>>
>>    - In case Netbeans debug support for Github branch xml-schema-1.1-dev:
>>    Checkout from Github the xml-schema-1.1-dev branch and add in
>>    Netbeans src and sample as source directories, use JDK 8 and add the JARs
>>    from the tools directory (aside from XercesImp.jar), which will be built.
>>    Afterwards, add the newly created Xerces JAR and the previously added
>>    JARs to your other xml-schema-1.1-tests Netbeans project.
>>    JUnit and Hamcrest will be added by Netbeans automatically
>>    when problems are resolved
>>
>> Quite cumbersome, I think it's about time to add Maven support... :-)
>>
>> Two questions in the end regarding the current GitHub branch structure:
>>
>>    1. Why is the xml-schema-1.1-dev GitHub branch not placed at the top
>>    of the main branch? XSD 1.1 specs states to be backward compatible with 
>> XSD
>>    1.0.
>>    2. Why are the tests of the xml-schema-1.1-tests GitHub branch not
>>    added as well to the main branch?
>>    3. In case a Maven to build (and test) is being added, regression
>>    tests could be made on GitHub for every commit to keep the branches from
>>    becoming red.
>>
>> Currently, there are multiple versions of sources for Xerces
>> The different Xerces sources able to be downloaded as ZIP and the
>> differences between Subversion and the GitHub branches make it complex for
>> newcomers.
>> Is there still a reason that prevents these minimize the amount of Xerces
>> sources, I suggest the main branch of GitHub as the latest and greatest
>> source, using Git labels for releases.
>>
>> Thanks for any feedback,
>> Svante
>>
>>
>> On Thu, 12 Sept 2024 at 13:58, Svante Schubert <svante.schub...@gmail.com>
>> wrote:
>>
>>> PS:
>>> To ease reproduction, I have added a stack trace (below) - note below is
>>> just the German-translated version of the error message mentioned earlier:
>>> "*sch-props-correct.2: An XSD schema cannot contain two global
>>> components with the same name.*"
>>> and the SaxParseException is already thrown when creating the Schema,
>>> even before the test:
>>>
>>> https://github.com/svanteschubert/xerces-j/blob/smoke-testing/src/org/apache/xerces/tests/ConditionalInclusionTests.java#L81
>>>
>>> org.xml.sax.SAXParseException; systemId:
>>> file:///E:/dev/tausch/xml/xsd-debug/xml-schema-1.1-tests/data/version-control/test37.xsd;
>>> lineNumber: 7; columnNumber: 46;
>>> *sch-props-correct.2: Ein Schema kann nicht zwei globale Komponenten mit
>>> demselben Namen enthalten. Dieses Schema enth�lt zwei Vorkommen von
>>> ',test'.*
>>> at
>>> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:204)
>>> at
>>> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:135)
>>> at
>>> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:396)
>>> at
>>> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaErr(XSDHandler.java:4204)
>>> at
>>> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.reportSchemaError(XSDHandler.java:4187)
>>> at
>>> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.checkForDuplicateNames(XSDHandler.java:3820)
>>> at
>>> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.buildGlobalNameRegistries(XSDHandler.java:1362)
>>> at
>>> com.sun.org.apache.xerces.internal.impl.xs.traversers.XSDHandler.parseSchema(XSDHandler.java:651)
>>> at
>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadSchema(XMLSchemaLoader.java:610)
>>> at
>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:569)
>>> at
>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaLoader.loadGrammar(XMLSchemaLoader.java:535)
>>> at
>>> com.sun.org.apache.xerces.internal.jaxp.validation.XMLSchemaFactory.newSchema(XMLSchemaFactory.java:269)
>>> at javax.xml.validation.SchemaFactory.newSchema(SchemaFactory.java:638)
>>> * at
>>> org.apache.xerces.tests.ConditionalInclusionTests.testVersionControl3(ConditionalInclusionTests.java:81)
>>> <https://github.com/svanteschubert/xerces-j/blob/smoke-testing/src/org/apache/xerces/tests/ConditionalInclusionTests.java#L81>*
>>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>>> at
>>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>>> at
>>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>>> at java.lang.reflect.Method.invoke(Method.java:498)
>>> at junit.framework.TestCase.runTest(TestCase.java:177)
>>> at junit.framework.TestCase.runBare(TestCase.java:142)
>>> at junit.framework.TestResult$1.protect(TestResult.java:122)
>>> at junit.framework.TestResult.runProtected(TestResult.java:142)
>>> at junit.framework.TestResult.run(TestResult.java:125)
>>> at junit.framework.TestCase.run(TestCase.java:130)
>>> at junit.framework.TestSuite.runTest(TestSuite.java:241)
>>> at junit.framework.TestSuite.run(TestSuite.java:236)
>>> at junit.framework.TestSuite.runTest(TestSuite.java:241)
>>> at junit.framework.TestSuite.run(TestSuite.java:236)
>>> at
>>> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:535)
>>> at
>>> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1197)
>>> at
>>> org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:1042)
>>>
>>> On Thu, 12 Sept 2024 at 08:24, Svante Schubert <
>>> svanteschub...@apache.org> wrote:
>>>
>>>> Dear Xerces user group,
>>>>
>>>> Let me add the specification reference to the invalidness of the test
>>>> file
>>>> <https://github.com/apache/xerces-j/blob/xml-schema-1.1-tests/data/version-control/test37.xsd#L5>
>>>> : https://www.w3.org/TR/xmlschema11-1/#concepts-nameSymbolSpaces
>>>> *"But it is not possible for ... two distinct top-level element
>>>> declarations, to share the name my:abc"*
>>>>
>>>> If the build were in Maven and nightly tests were run by GitHub, I
>>>> would not ask this question. Perhaps it is worth considering a switch from
>>>> Ant to Maven?
>>>> In general, invalid test files should be explicitly marked as such like
>>>> within a subfolder 'invalid'.
>>>> Would be helpful to download groups of test files from Maven, like
>>>> versions of deliverables as well (but this might be a topic for Maven's
>>>> user's list)...
>>>>
>>>> Still, I believe I am doing an oversight...
>>>>
>>>> Best regards,
>>>> Svante
>>>>
>>>> PS: Used my Apache email now and am uncertain if I should have started
>>>> on the dev list right away instead of users - I would join these lists for
>>>> software in general... (as you want to users become developers..)
>>>>
>>>> On Wed, 11 Sept 2024 at 15:25, Svante Schubert <
>>>> svante.schub...@gmail.com> wrote:
>>>>
>>>>> Dear experts,
>>>>>
>>>>> I am in need of some advice using the new Xerces xml-schema-1.1-tests
>>>>> <https://github.com/apache/xerces-j/tree/xml-schema-1.1-tests>.
>>>>>
>>>>> The test suite of org.apache.xerces.tests.AllXercesXSD11Tests
>>>>> <https://github.com/apache/xerces-j/blob/xml-schema-1.1-tests/src/org/apache/xerces/tests/AllXercesXSD11Tests.java#L31>
>>>>> fails for me using my Xerces Jar from a build of Xerces 1.1 GitHub
>>>>> branch <https://github.com/apache/xerces-j/tree/xml-schema-1.1-dev>
>>>>> and likely I am missing something obvious.
>>>>> The error given is "*sch-props-correct.2: An XSD schema cannot
>>>>> contain two global components with the same name.*" and *the test
>>>>> file does have two global element name declarations with the same name*
>>>>> <https://github.com/apache/xerces-j/blob/xml-schema-1.1-tests/data/version-control/test37.xsd#L5>,
>>>>> still the test is not meant to fail.
>>>>>
>>>>> What did I miss?
>>>>>
>>>>> My steps to do my smoke testing:
>>>>>
>>>>>    1. As I am not able to easily build & debug with my IDEs (like
>>>>>    with Maven) using the existing ANT scripts, I generated an easy build &
>>>>>    debug environment for my set of IDEs (Apache Netbeans & Intellij IDEA)
>>>>>    represented by a single commit of noise
>>>>>    
>>>>> <https://github.com/svanteschubert/xerces-j/commit/7e32264aabbb366360d6a354d2589e1e154fb58f>
>>>>>    .
>>>>>    2. Instead of setting an environment variable, I hard coded the
>>>>>    path to my tests
>>>>>    
>>>>> <https://github.com/svanteschubert/xerces-j/commit/2c50b9c6dc88c5394af95d12f6cad9cced822e9e>
>>>>>    .
>>>>>    3. Executed in Netbeans test suite
>>>>>    org.apache.xerces.tests.AllXercesXSD11Tests
>>>>>    
>>>>> <https://github.com/apache/xerces-j/blob/xml-schema-1.1-tests/src/org/apache/xerces/tests/AllXercesXSD11Tests.java#L31>
>>>>>  and
>>>>>    getting aside of the above so many errors that I must have done 
>>>>> something
>>>>>    basic wrong.
>>>>>
>>>>> Thanks for any help!
>>>>> Svante
>>>>>
>>>>

Reply via email to