-
Notifications
You must be signed in to change notification settings - Fork 160
Closed
Labels
Description
hi,
running scalaxb on the schema below leads to several issues. initially its that the generated code contains duplicated declarations for "attributes" such as the one below.
any hint ?
/uwe
case class MetricsPort(name: String,
attributes: org.uwes.vplan2odf.vplanx.AttributesType,
mappingPatterns: org.uwes.vplan2odf.vplanx.MappingPatterns,
attributes: Map[String, scalaxb.DataRecord[Any]] = Map()) {
lazy val id = attributes.get("@id") map { _.as[String] }
}<?xml version="1.0" encoding="UTF-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="expression">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="local"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="elementName" type="xs:string"/>
<xs:element name="annotationReference">
<xs:complexType>
<xs:sequence>
<xs:element ref="spec"/>
<xs:element ref="annotationId"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="hierarchies">
<xs:complexType>
<xs:sequence>
<xs:element ref="hierarchy"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="ignoredLevel" type="xs:byte"/>
<xs:element name="char" type="xs:string"/>
<xs:element name="autoLoadSession">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="sessionName" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="planPath" type="xs:string"/>
<xs:element name="settings">
<xs:complexType>
<xs:sequence>
<xs:element ref="actualInstanceMappings"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="domains">
<xs:complexType>
<xs:sequence>
<xs:element ref="domain"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="metricsTypes">
<xs:complexType>
<xs:sequence>
<xs:element ref="block" minOccurs="0"/>
<xs:element ref="expression" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="checksum" type="xs:int"/>
<xs:element name="logicalInstanceName" type="xs:string"/>
<xs:element name="annotation">
<xs:complexType>
<xs:sequence>
<xs:element ref="header"/>
<xs:element ref="trailer"/>
<xs:element ref="ignoredLevel"/>
<xs:element ref="glyphs" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="id" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="caseSensitivity" type="xs:string"/>
<xs:element name="mappingPatterns">
<xs:complexType>
<xs:sequence>
<xs:element ref="mappingPattern"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="height" type="xs:byte"/>
<xs:element name="autoLoads">
<xs:complexType>
<xs:sequence>
<xs:element ref="autoLoadSession" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="buildTime" type="xs:string"/>
<xs:element name="value" type="xs:string"/>
<xs:element name="pageNumber" type="xs:byte"/>
<xs:element name="verificationScope" type="xs:string"/>
<xs:element name="metaData">
<xs:complexType>
<xs:sequence>
<xs:element ref="name"/>
<xs:element ref="planId"/>
<xs:element ref="sourceTool"/>
<xs:element ref="toolVersion"/>
<xs:element ref="schemaVersion"/>
<xs:element ref="buildTime"/>
<xs:element ref="autoLoads"/>
</xs:sequence>
<xs:attribute type="xs:string" name="id"/>
</xs:complexType>
</xs:element>
<xs:element name="rootElements">
<xs:complexType>
<xs:sequence>
<xs:element ref="section"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="actualInstance" type="xs:string"/>
<xs:element name="toolVersion" type="xs:float"/>
<xs:element name="declaredPlanId" type="xs:string"/>
<xs:element name="width" type="xs:byte"/>
<xs:element name="annotationId" type="xs:string"/>
<xs:element name="dotResolve" type="xs:string"/>
<xs:element name="header" type="xs:string"/>
<xs:element name="planElementReference">
<xs:complexType>
<xs:sequence>
<xs:element ref="name"/>
<xs:element ref="plan"/>
<xs:element ref="elementPaths"/>
<xs:element ref="settings"/>
</xs:sequence>
<xs:attribute type="xs:string" name="id" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="actualInstanceMapping">
<xs:complexType>
<xs:sequence>
<xs:element ref="logicalInstanceName"/>
<xs:element ref="declaredPlanId"/>
<xs:element ref="actualInstances"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="fileName" type="xs:string"/>
<xs:element name="specs">
<xs:complexType>
<xs:sequence>
<xs:element ref="spec"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="spec">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element ref="fileName" minOccurs="0"/>
<xs:element ref="checksum" minOccurs="0"/>
<xs:element ref="annotation" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="trailer" type="xs:string"/>
<xs:element name="actualInstances">
<xs:complexType>
<xs:sequence>
<xs:element ref="actualInstanceInfo"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="attribute">
<xs:complexType>
<xs:sequence>
<xs:element ref="name"/>
<xs:element ref="value"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="block">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute type="xs:string" name="local"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="sourceTool" type="xs:string"/>
<xs:element name="name" type="xs:string"/>
<xs:element name="domain" type="xs:string"/>
<xs:element name="hierarchy" type="xs:string"/>
<xs:element name="metricsPort">
<xs:complexType>
<xs:sequence>
<xs:element ref="name"/>
<xs:element ref="attributes"/>
<xs:element ref="mappingPatterns"/>
</xs:sequence>
<xs:attribute type="xs:string" name="id" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="actualInstanceMappings">
<xs:complexType>
<xs:sequence>
<xs:element ref="actualInstanceMapping"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="planId" type="xs:string"/>
<xs:element name="section">
<xs:complexType>
<xs:sequence>
<xs:element ref="name"/>
<xs:element ref="attributes" minOccurs="0"/>
<xs:element ref="annotationReference" maxOccurs="unbounded" minOccurs="0"/>
<xs:element ref="subElements" minOccurs="0"/>
</xs:sequence>
<xs:attribute type="xs:string" name="id" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="mappingPattern">
<xs:complexType>
<xs:sequence>
<xs:element ref="domains" minOccurs="0"/>
<xs:element ref="hierarchies" minOccurs="0"/>
<xs:element ref="metricsTypes" minOccurs="0"/>
<xs:element ref="pattern"/>
<xs:element ref="dotResolve"/>
<xs:element ref="caseSensitivity"/>
</xs:sequence>
<xs:attribute type="xs:string" name="id" use="optional"/>
</xs:complexType>
</xs:element>
<xs:element name="glyphs">
<xs:complexType>
<xs:sequence>
<xs:element ref="pageNumber"/>
<xs:element ref="x"/>
<xs:element ref="y"/>
<xs:element ref="width"/>
<xs:element ref="height"/>
<xs:element ref="char"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="elementPaths">
<xs:complexType>
<xs:sequence>
<xs:element ref="elementPath"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="plan">
<xs:complexType>
<xs:sequence>
<xs:element ref="planId"/>
<xs:element ref="planPath"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="pattern" type="xs:string"/>
<xs:element name="actualInstanceInfo">
<xs:complexType>
<xs:sequence>
<xs:element ref="actualInstance"/>
<xs:element ref="verificationScope"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="elementPath">
<xs:complexType>
<xs:sequence>
<xs:element ref="elementName"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="subElements">
<xs:complexType>
<xs:sequence>
<xs:element ref="planElementReference" minOccurs="0"/>
<xs:element ref="section" maxOccurs="unbounded" minOccurs="0"/>
<xs:element ref="metricsPort" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="attributes">
<xs:complexType>
<xs:sequence>
<xs:element ref="attribute" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="schemaVersion" type="xs:float"/>
<xs:element name="y" type="xs:short"/>
<xs:element name="x" type="xs:short"/>
</xs:schema>