Feature #6985

Automatic XML Schema conversion: file export support

Added by Marko Luukkainen about 1 year ago. Updated about 1 year ago.

Status:On holdStart date:
Priority:4Due date:
Assignee:Marko Luukkainen% Done:

30%

Category:InteroperabilitySpent time:-
Target version:-
Release notes:
Story points-
Velocity based estimate-

Description

Add necessary features to XML Schema conversion for import and export of OPC UA Node Set files.

Main tasks are:
  • Nested schemas (example files refer to UA Types schema)
  • Exporter generator

Associated revisions

Revision 33432
Added by Marko Luukkainen about 1 year ago

Handling elements that inherit AtomicTypes
Handling Base64 encoded data as ByteArray

refs #6985

Revision 33433
Added by Marko Luukkainen about 1 year ago

Initial support for multi-schema parsers
Parsing multiline Base64 data did not work

refs #6985

Revision 33434
Added by Marko Luukkainen about 1 year ago

Initial support for XML export (order of Elements is not kept)
Ability to rename Elements

refs #6985

Revision 33435
Added by Marko Luukkainen about 1 year ago

XML Elements are exported in the original order (if order is stored during import)

refs #6985

Revision 33436
Added by Marko Luukkainen about 1 year ago

Handling ComplexTypes defined with SimpleContent
Exporting multi-schema data

refs #6985

Revision 33437
Added by Marko Luukkainen about 1 year ago

Handling ComplexTypes inheriting AtomicType
Fixed element specific relation handling

refs #6985

Revision 33438
Added by Marko Luukkainen about 1 year ago

Refactoring Java generator code

refs #6985

Revision 33439
Added by Marko Luukkainen about 1 year ago

Handling choice exporting properly by checking exported resource type

refs #6985

Revision 33440
Added by Marko Luukkainen about 1 year ago

Export XML Namespaces

refs #6985

Revision 33441
Added by Marko Luukkainen about 1 year ago

Export XML Namespaces

refs #6985

Revision 33442
Added by Marko Luukkainen about 1 year ago

Refactoring and preparing the conversion code to handle references between XML schemas.

refs #6985

Revision 057ca542
Added by Marko Luukkainen about 1 year ago

Handling elements that inherit AtomicTypes
Handling Base64 encoded data as ByteArray

refs #6985

git-svn-id: https://www.simantics.org/svn/simantics/interoperability/trunk@33432 ac1ea38d-2e2b-0410-8846-a27921b304fc

Revision 47791aa9
Added by Marko Luukkainen about 1 year ago

Initial support for multi-schema parsers
Parsing multiline Base64 data did not work

refs #6985

git-svn-id: https://www.simantics.org/svn/simantics/interoperability/trunk@33433 ac1ea38d-2e2b-0410-8846-a27921b304fc

Revision dd3b2c7e
Added by Marko Luukkainen about 1 year ago

Initial support for XML export (order of Elements is not kept)
Ability to rename Elements

refs #6985

git-svn-id: https://www.simantics.org/svn/simantics/interoperability/trunk@33434 ac1ea38d-2e2b-0410-8846-a27921b304fc

Revision 28cdb08c
Added by Marko Luukkainen about 1 year ago

XML Elements are exported in the original order (if order is stored during import)

refs #6985

git-svn-id: https://www.simantics.org/svn/simantics/interoperability/trunk@33435 ac1ea38d-2e2b-0410-8846-a27921b304fc

Revision 404be737
Added by Marko Luukkainen about 1 year ago

Handling ComplexTypes defined with SimpleContent
Exporting multi-schema data

refs #6985

git-svn-id: https://www.simantics.org/svn/simantics/interoperability/trunk@33436 ac1ea38d-2e2b-0410-8846-a27921b304fc

Revision 09fb8eaf
Added by Marko Luukkainen about 1 year ago

Handling ComplexTypes inheriting AtomicType
Fixed element specific relation handling

refs #6985

git-svn-id: https://www.simantics.org/svn/simantics/interoperability/trunk@33437 ac1ea38d-2e2b-0410-8846-a27921b304fc

Revision 90d821c6
Added by Marko Luukkainen about 1 year ago

Refactoring Java generator code

refs #6985

git-svn-id: https://www.simantics.org/svn/simantics/interoperability/trunk@33438 ac1ea38d-2e2b-0410-8846-a27921b304fc

Revision 5a2849a5
Added by Marko Luukkainen about 1 year ago

Handling choice exporting properly by checking exported resource type

refs #6985

git-svn-id: https://www.simantics.org/svn/simantics/interoperability/trunk@33439 ac1ea38d-2e2b-0410-8846-a27921b304fc

Revision 85432497
Added by Marko Luukkainen about 1 year ago

Export XML Namespaces

refs #6985

git-svn-id: https://www.simantics.org/svn/simantics/interoperability/trunk@33440 ac1ea38d-2e2b-0410-8846-a27921b304fc

Revision fb01c218
Added by Marko Luukkainen about 1 year ago

Export XML Namespaces

refs #6985

git-svn-id: https://www.simantics.org/svn/simantics/interoperability/trunk@33441 ac1ea38d-2e2b-0410-8846-a27921b304fc

Revision d788a05e
Added by Marko Luukkainen about 1 year ago

Refactoring and preparing the conversion code to handle references between XML schemas.

refs #6985

git-svn-id: https://www.simantics.org/svn/simantics/interoperability/trunk@33442 ac1ea38d-2e2b-0410-8846-a27921b304fc

Revision df5314af
Added by Marko Luukkainen about 1 year ago

.gitignore files

refs #6985

Change-Id: I51aa9df6cfdfcd30c58481119ecfa9f77d2a3384

Revision f11cbe76
Added by Marko Luukkainen about 1 year ago

Schema parsing can access data from other schemas (work in progress)

refs #6985

Change-Id: Ieb98b942605b85ab81e25c7fa93fcc62e387ed32

Revision 7f59891d
Added by Marko Luukkainen about 1 year ago

Dependency analysis for XML-schemas consisting of multiple files

refs #6985

Change-Id: I4462e565f49233faee581bdbfe2529bc158255a7

History

#1 Updated by Marko Luukkainen about 1 year ago

  • Status changed from New to In Progress

r33437 is able to handle import and export of Opc.Ua.NodeSet2.Part14.xml completely and Opc.Ua.NodeSet2.xml export seems to be missing only references to the Types schema (for elements defined in that schema).

Supporting multi-schema imports and exports requires manual editing of generated UANodeSet_xsdParser and UANodeSet_xsdWriter classes by adding references to the Types schema's parser or writer.

Example:

public UANodeSet_xsdParser()  {
      setSchemaURI("http://opcfoundation.org/UA/2011/03/UANodeSet.xsd");
      add(new org.simantics.opcua.ontology.UANodeSet_xsd_elem.UANodeSet());
      add(new org.simantics.opcua.ontology.UANodeSet_xsd_elem.UANodeSetChanges());
      add(new org.simantics.opcua.ontology.UANodeSet_xsd_elem.UANodeSetChangesStatus());
      add(new org.simantics.opcua.ontology.UANodeSet_xsd_elem.ComplexTypes_ListOfExtensions_Extension());
      add(new org.simantics.opcua.ontology.UANodeSet_xsd_elem.ComplexTypes_UAVariable_Value());
      add(new org.simantics.opcua.ontology.UANodeSet_xsd_elem.ComplexTypes_UAVariableType_Value());
      add(new Types_xsdParser()); // this line must be added manually
   }

#2 Updated by Marko Luukkainen about 1 year ago

r33441 writes xmlns references to export data automatically when instances are from different schema/ontology

#3 Updated by Marko Luukkainen about 1 year ago

  • Status changed from In Progress to On hold
  • % Done changed from 0 to 30

Processing XML schemas rerenceing other schemas does not work, some of the changes allow the conversion tool to process the schemas, but the results will not be correct.

Also available in: Atom PDF