Index: Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/AssemblyGmlWriterTest.cs =================================================================== diff -u -r6987efa7ae64f10c5c00802ca6b3ba0c08cd5ab7 -r452d2a4774cf89c6dce7ee4d7cbd482c26d14569 --- Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/AssemblyGmlWriterTest.cs (.../AssemblyGmlWriterTest.cs) (revision 6987efa7ae64f10c5c00802ca6b3ba0c08cd5ab7) +++ Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/AssemblyGmlWriterTest.cs (.../AssemblyGmlWriterTest.cs) (revision 452d2a4774cf89c6dce7ee4d7cbd482c26d14569) @@ -22,6 +22,8 @@ using System; using System.IO; using System.Linq; +using System.Xml.Linq; +using System.Xml.Schema; using Core.Common.Base.Geometry; using Core.Common.IO.Exceptions; using Core.Common.TestUtil; @@ -136,6 +138,57 @@ } } + [Test] + [Explicit("Use for writer validation after changes. XSD validation requires internet connection and takes about 20 seconds to complete.")] + public void GivenFullyConfiguredAssembly_WhenWrittenToFile_ThenValidFileCreated() + { + // Given + string folderPath = TestHelper.GetScratchPadPath(nameof(GivenFullyConfiguredAssembly_WhenWrittenToFile_ThenValidFileCreated)); + Directory.CreateDirectory(folderPath); + string filePath = Path.Combine(folderPath, "actualAssembly.gml"); + + ExportableAssembly assembly = CreateExportableAssembly(); + + try + { + // When + using (var writer = new AssemblyGmlWriter(filePath)) + { + writer.Write(assembly); + } + + // Then + Assert.IsTrue(File.Exists(filePath)); + string fileContent = File.ReadAllText(filePath); + Console.WriteLine(fileContent); + + var schema = new XmlSchemaSet(); + schema.Add("http://www.aquo.nl/BOI2023/uitwisselmodel/v20210113", + Path.Combine(testDataPath, "xsd", "BOI2023", "uitwisselmodel", "v20210113", + "BOI2023_Uitwisselmodel_v1_0.xsd")); + + XDocument doc = XDocument.Parse(fileContent); + + var msg = string.Empty; + doc.Validate(schema, (o, e) => + { + msg += e.Message + Environment.NewLine; + }); + if (msg == string.Empty) + { + Assert.Pass("Serialized document is valid" + Environment.NewLine); + } + else + { + Assert.Fail("Serialized document is invalid:" + Environment.NewLine + msg); + } + } + finally + { + File.Delete(filePath); + } + } + private static ExportableAssembly CreateExportableAssembly() { var failureMechanismSection = new ExportableFailureMechanismSection("vak_GABI_1", new[] Index: Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/1998/namespace/xml.xsd =================================================================== diff -u --- Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/1998/namespace/xml.xsd (revision 0) +++ Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/1998/namespace/xml.xsd (revision 452d2a4774cf89c6dce7ee4d7cbd482c26d14569) @@ -0,0 +1,140 @@ + + + + + See http://www.w3.org/XML/1998/namespace.html and + http://www.w3.org/TR/REC-xml for information about this namespace. + + This schema document describes the XML namespace, in a form + suitable for import by other schema documents. + + Note that local names in this namespace are intended to be defined + only by the World Wide Web Consortium or its subgroups. The + following names are currently defined in this namespace and should + not be used with conflicting semantics by any Working Group, + specification, or document instance: + + base (as an attribute name): denotes an attribute whose value + provides a URI to be used as the base for interpreting any + relative URIs in the scope of the element on which it + appears; its value is inherited. This name is reserved + by virtue of its definition in the XML Base specification. + + id (as an attribute name): denotes an attribute whose value + should be interpreted as if declared to be of type ID. + This name is reserved by virtue of its definition in the + xml:id specification. + + lang (as an attribute name): denotes an attribute whose value + is a language code for the natural language of the content of + any element; its value is inherited. This name is reserved + by virtue of its definition in the XML specification. + + space (as an attribute name): denotes an attribute whose + value is a keyword indicating what whitespace processing + discipline is intended for the content of the element; its + value is inherited. This name is reserved by virtue of its + definition in the XML specification. + + Father (in any context at all): denotes Jon Bosak, the chair of + the original XML Working Group. This name is reserved by + the following decision of the W3C XML Plenary and + XML Coordination groups: + + In appreciation for his vision, leadership and dedication + the W3C XML Plenary on this 10th day of February, 2000 + reserves for Jon Bosak in perpetuity the XML name + xml:Father + + + + This schema defines attributes and an attribute group + suitable for use by + schemas wishing to allow xml:base, xml:lang, xml:space or xml:id + attributes on elements they define. + + To enable this, such a schema must import this schema + for the XML namespace, e.g. as follows: + <schema . . .> + . . . + <import namespace="http://www.w3.org/XML/1998/namespace" + schemaLocation="http://www.w3.org/2001/xml.xsd"/> + + Subsequently, qualified reference to any of the attributes + or the group defined below will have the desired effect, e.g. + + <type . . .> + . . . + <attributeGroup ref="xml:specialAttrs"/> + + will define a type which will schema-validate an instance + element with any of those attributes + + + In keeping with the XML Schema WG's standard versioning + policy, this schema document will persist at + http://www.w3.org/2007/08/xml.xsd. + At the date of issue it can also be found at + http://www.w3.org/2001/xml.xsd. + The schema document at that URI may however change in the future, + in order to remain compatible with the latest version of XML Schema + itself, or with the XML namespace itself. In other words, if the XML + Schema or XML namespaces change, the version of this document at + http://www.w3.org/2001/xml.xsd will change + accordingly; the version at + http://www.w3.org/2007/08/xml.xsd will not change. + + + + + Attempting to install the relevant ISO 2- and 3-letter + codes as the enumerated possible values is probably never + going to be a realistic possibility. See + RFC 3066 at http://www.ietf.org/rfc/rfc3066.txt and the IANA registry + at http://www.iana.org/assignments/lang-tag-apps.htm for + further information. + + The union allows for the 'un-declaration' of xml:lang with + the empty string. + + + + + + + + + + + + + + + + + + + + + + See http://www.w3.org/TR/xmlbase/ for + information about this attribute. + + + + + See http://www.w3.org/TR/xml-id/ for + information about this attribute. + + + + + + + + + Index: Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/BOI2023/imwaproxies/v20210113/BOI2023_IMWA Proxies_v1_0.xsd =================================================================== diff -u --- Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/BOI2023/imwaproxies/v20210113/BOI2023_IMWA Proxies_v1_0.xsd (revision 0) +++ Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/BOI2023/imwaproxies/v20210113/BOI2023_IMWA Proxies_v1_0.xsd (revision 452d2a4774cf89c6dce7ee4d7cbd482c26d14569) @@ -0,0 +1,157 @@ + + + + SIM + BOI2023 + 20210113 + 1.0 + 1 + http://www.aquo.nl/BOI2023/imwaproxies + 2022-07-12T10:06:07Z + BOI2023/imwaproxies/v20210113/BOI2023_IMWA%20Proxies_v1_0.xsd + July 12, 2022 at 10:06:07 + 1.67.1 + BOI2023/imwaproxies/v20210113/BOI2023_IMWA%20Proxies_v1_0.xsd + + This schema is based on an UML specification, which is transformed by the Imvertor software. Imvertor modules are in the public domain, see http://www.imvertor.org. + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + Definition: Geometrische representatie van het object als lijn. + + + + + + WaterkeringsectieType + www.aquo.nl + + Definition: Nadere aanduiding van het type waterkeringsectie. + + + + + Definition: Afstand (in meters) van het begin van de sectie t.o.v. het nulpunt van het referentiestelsel van de waterkering. + + + + + Definition: Afstand (in meters) van het einde van de sectie t.o.v. het nulpunt van het referentiestelsel van de waterkering. + + + + + Definition: Lengte van een waterkeringsectie. + + + + + + + + + + + + + + + + + + + + + + Definition: Geometrische representatie van het object als lijn of vlak. + + + + + + WaterkeringstelselType + www.aquo.nl + + Definition: Nadere aanduiding van het type waterkeringstelsel. + + + + + Definition: Naam van het waterkeringstelsel. + + + + + Definition: Lengte van het waterkeringstelsel. 09042018 multiplicity aangepast naar 0..1 + + + + + + + + + + + + + + Index: Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/BOI2023/uitwisselmodel/v20210113/BOI2023_Uitwisselmodel_v1_0.xsd =================================================================== diff -u --- Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/BOI2023/uitwisselmodel/v20210113/BOI2023_Uitwisselmodel_v1_0.xsd (revision 0) +++ Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/BOI2023/uitwisselmodel/v20210113/BOI2023_Uitwisselmodel_v1_0.xsd (revision 452d2a4774cf89c6dce7ee4d7cbd482c26d14569) @@ -0,0 +1,572 @@ + + + + SIM + BOI2023 + 20210113 + 1.0 + 1 + http://www.aquo.nl/BOI2023/uitwisselmodel + 2022-07-12T10:06:07Z + BOI2023/uitwisselmodel/v20210113/BOI2023_Uitwisselmodel_v1_0.xsd + July 12, 2022 at 10:06:07 + 1.67.1 + BOI2023/uitwisselmodel/v20210113/BOI2023_Uitwisselmodel_v1_0.xsd + + This schema is based on an UML specification, which is transformed by the Imvertor software. Imvertor modules are in the public domain, see http://www.imvertor.org. + + + + + 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + Definition: Definitie: geheel van activiteiten gericht op het (periodiek) beoordelen of de momentane toestand van een object voldoet aan de vigerende functionele en/of wettelijke eisen. + + + + + + + + + Definition: Jaartal begin van de beoordelingsronde. Toelichting: een waterkering wordt in meerdere beoordelingsrondes beoordeeld (in de tijd). Bijvoorbeeld de beoordelingsronde die loopt van 2017 tot en met 2023. + + + + + Definition: Jaartal einde van de beoordelingsronde. Toelichting: een waterkering wordt in meerdere beoordelingsrondes beoordeeld (in de tijd). Bijvoorbeeld de beoordelingsronde die loopt van 2017 tot en met 2023. + + + + + Definition: Toelichting van het beoordelingsproces. + + + + + + + + + + + + + + + + + Definition: Definitie: De relatie tussen de overstromings- of faalkans van een dijktraject tot de omgevingswaarde en signaleringsparameter van het dijktraject uitgedrukt in categorieën. (De mate waarin het dijktraject voldoet aan de norm.) + + + + + + + + + + Veiligheidsoordeel + www.aquo.nl + + Definition: Definitie: geeft de categorie van het veiligheidsoordeel. Categorieën zijn beschreven in OR Bijlage XXXIIA. + + + + + + Assemblagemethode + www.aquo.nl + + Definition: Definitie: methode voor het combineren van ongelijksoortige analyseresultaten per vak en per faalmechanisme tot analyseresultaten per traject en per faalmechanisme of tot het veiligheidsoordeel. + + + + + Definition: Definitie: Kans op een ongewenste gebeurtenis (falen). + + + + + + Assemblagemethode + www.aquo.nl + + Definition: Definitie: methode voor het combineren van ongelijksoortige analyseresultaten per vak en per faalmechanisme tot analyseresultaten per traject en per faalmechanisme of tot het veiligheidsoordeel. + + + + + + OordeelStatus + www.aquo.nl + + Definition: Definitie: status van het veiligheidsoordeel. geeft aan of het een tussentijdse of een volledige beoordeling betreft. + + + + + + + + + + + + + + + + + Definition: Definitie: De verzameling van faalpaden met gemeenschappelijk initieel mechanisme. + + + + + + + + + + Duidingsklasse + www.aquo.nl + + Definition: de verhouding van de bijdragen van de verschillende faalpaden aan de overstromings- of faalkans van het dijktraject. + + + + + Definition: Kans op een ongewenste gebeurtenis (falen). + + + + + + Assemblagemethode + www.aquo.nl + + Definition: methode voor het combineren van ongelijksoortige analyseresultaten per vak en per faalmechanisme tot analyseresultaten per traject en per faalmechanisme of tot het veiligheidsoordeel. + + + + + + Assemblagemethode + www.aquo.nl + + Definition: methode voor het combineren van ongelijksoortige analyseresultaten per vak en per faalmechanisme tot analyseresultaten per traject en per faalmechanisme of tot het veiligheidsoordeel. + + + + + + OordeelStatus + www.aquo.nl + + Definition: geeft aan of het een tussentijdse of een volledige beoordeling betreft. + + + + + + + + + + + + + + + + + Definition: Definitie: De verzameling van faalpaden met gemeenschappelijk initieel mechanisme. + + + + + + + + + + Faalmechanisme + www.aquo.nl + + Definition: Naam van het generiek faalmechanisme, als het een generiek faalmechanisme betreft. Als het geen generiek faalmechanisme betreft, dan is dit attribuut leeg. + + + + + + + + + + + + + + + + Definition: Definitie: Analyse van faalpaden of (faal)mechanisme. Toelichting: De analyse vindt plaats per kunstwerk of vak op een representatief dwarsprofiel binnen het vak. + + + + + + + + + + Duidingsklasse + www.aquo.nl + + Definition: de verhouding van de bijdragen van de verschillende faalpaden aan de overstromings- of faalkans van het dijktraject. + + + + + Definition: Kans op een ongewenste gebeurtenis (falen). + + + + + + Assemblagemethode + www.aquo.nl + + Definition: methode voor het combineren van ongelijksoortige analyseresultaten per vak en per faalmechanisme tot analyseresultaten per traject en per faalmechanisme of tot het veiligheidsoordeel. + + + + + + Assemblagemethode + www.aquo.nl + + Definition: methode voor het combineren van ongelijksoortige analyseresultaten per vak en per faalmechanisme tot analyseresultaten per traject en per faalmechanisme of tot het veiligheidsoordeel. + + + + + + OordeelStatus + www.aquo.nl + + Definition: geeft aan of het een tussentijdse of een volledige beoordeling betreft. + + + + + + + + + + + + + + + + + + Definition: Definitie: De verzameling van faalpaden met gemeenschappelijk initieel mechanisme. + + + + + + + + + Definition: Naam van het generiek faalmechanisme, als het een generiek faalmechanisme betreft. Als het geen generiek faalmechanisme betreft, dan is dit attribuut leeg. + + + + + + + + + + + + + + + + Definition: Afgeleide analyse van faalpaden of (faal)mechanisme voor een deelvak . + + + + + + + + + + Duidingsklasse + www.aquo.nl + + Definition: de verhouding van de bijdragen van de verschillende faalpaden aan de overstromings- of faalkans van het dijktraject. + + + + + + Assemblagemethode + www.aquo.nl + + Definition: methode voor het combineren van ongelijksoortige analyseresultaten per vak en per faalmechanisme tot analyseresultaten per traject en per faalmechanisme of tot het veiligheidsoordeel. + + + + + + OordeelStatus + www.aquo.nl + + Definition: geeft aan of het een tussentijdse of een volledige beoordeling betreft. + + + + + + + + + + + + + + + + + + Definition: Definitie: Grootste gemene deelvak op basis van verschillende vakindelingen van alle betrokken faalmechanismen. + + + + + + + + + + Assemblagemethode + www.aquo.nl + + Definition: methode voor het combineren van ongelijksoortige analyseresultaten per vak en per faalmechanisme tot analyseresultaten per traject en per faalmechanisme of tot het veiligheidsoordeel. + + + + + + + + + + + + + + + + + + + + + + Duidingsklasse + www.aquo.nl + + Definition: de verhouding van de bijdragen van de verschillende faalpaden aan de overstromings- of faalkans van het dijktraject. + + + + + + Assemblagemethode + www.aquo.nl + + Definition: methode voor het combineren van ongelijksoortige analyseresultaten per vak en per faalmechanisme tot analyseresultaten per traject en per faalmechanisme of tot het veiligheidsoordeel. + + + + + + OordeelStatus + www.aquo.nl + + Definition: geeft aan of het een tussentijdse of een volledige beoordeling betreft. + + + + + + + + + + + + + + + + Index: Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/gml/3.2/ihw-gml.xsd =================================================================== diff -u --- Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/gml/3.2/ihw-gml.xsd (revision 0) +++ Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/gml/3.2/ihw-gml.xsd (revision 452d2a4774cf89c6dce7ee4d7cbd482c26d14569) @@ -0,0 +1,856 @@ + + + + GML profile for Kadaster + + + + + The AbstractCurve element is the abstract head of the substitution group for all (continuous) curve elements. + + + + + A curve segment defines a homogeneous segment of a curve. +The attributes numDerivativesAtStart, numDerivativesAtEnd and numDerivativesInterior specify the type of continuity as specified in ISO 19107:2003, 6.4.9.3. +The AbstractCurveSegment element is the abstract head of the substituition group for all curve segment elements, i.e. continuous segments of the same interpolation mechanism. +All curve segments shall have an attribute interpolation with type gml:CurveInterpolationType specifying the curve interpolation mechanism used for this segment. This mechanism uses the control points and control parameters to determine the position of this curve segment. + + + + + + + + + + gml:AbstractCurveType is an abstraction of a curve to support the different levels of complexity. The curve may always be viewed as a geometric primitive, i.e. is continuous. + + + + + + + + The basic feature model is given by the gml:AbstractFeatureType. + The content model for gml:AbstractFeatureType adds two specific properties suitable for geographic features to the content model defined in gml:AbstractGMLType. + The value of the gml:boundedBy property describes an envelope that encloses the entire feature instance, and is primarily useful for supporting rapid searching for features that occur in a particular location. + The value of the gml:location property describes the extent, position or relative location of the feature. + + + + + + + + + + + + This abstract element serves as the head of a substitution group which may contain any elements whose content model is derived from gml:AbstractFeatureType. This may be used as a variable in the construction of content models. + gml:AbstractFeature may be thought of as "anything that is a GML feature" and may be used to define variables or templates in which the value of a GML property is "any feature". This occurs in particular in a GML feature collection where the feature member properties contain one or multiple copies of gml:AbstractFeature respectively. + + + + + The abstract element gml:AbstractGML is "any GML object having identity". It acts as the head of an XML Schema substitution group, which may include any element which is a GML feature, or other object, with identity. This is used as a variable in content models in GML core and application schemas. It is effectively an abstract superclass for all GML objects. + + + + + + + + + + + gml:AbstractGeometricAggregate is the abstract head of the substitution group for all geometric aggregates. + + + + + + + + + + + + The AbstractGeometricPrimitive element is the abstract head of the substitution group for all (pre- and user-defined) geometric primitives. + + + + + gml:AbstractGeometricPrimitiveType is the abstract root type of the geometric primitives. A geometric primitive is a geometric object that is not decomposed further into other primitives in the system. All primitives are oriented in the direction implied by the sequence of their coordinate tuples. + + + + + + + + The AbstractGeometry element is the abstract head of the substitution group for all geometry elements of GML. This includes pre-defined and user-defined geometry elements. Any geometry element shall be a direct or indirect extension/restriction of AbstractGeometryType and shall be directly or indirectly in the substitution group of AbstractGeometry. + + + + + All geometry elements are derived directly or indirectly from this abstract supertype. A geometry element may have an identifying attribute (gml:id), one or more names (elements identifier and name) and a description (elements description and descriptionReference) . It may be associated with a spatial reference system (attribute group gml:SRSReferenceGroup). +The following rules shall be adhered to: +- Every geometry type shall derive from this abstract type. +- Every geometry element (i.e. an element of a geometry type) shall be directly or indirectly in the substitution group of AbstractGeometry. + + + + + + + + + + deprecated + + + + + deprecated + + + + + + + This element has no type defined, and is therefore implicitly (according to the rules of W3C XML Schema) an XML Schema anyType. It is used as the head of an XML Schema substitution group which unifies complex content and certain simple content elements used for datatypes in GML, including the gml:AbstractGML substitution group. + + + + + An abstraction of a ring to support surface boundaries of different complexity. +The AbstractRing element is the abstract head of the substituition group for all closed boundaries of a surface patch. + + + + + A property with the content model of gml:AbstractRingPropertyType encapsulates a ring to represent the surface boundary property of a surface. + + + + + + + + + + + + + + + The AbstractSurface element is the abstract head of the substitution group for all (continuous) surface elements. + + + + + A surface patch defines a homogenuous portion of a surface. +The AbstractSurfacePatch element is the abstract head of the substituition group for all surface patch elements describing a continuous portion of a surface. +All surface patches shall have an attribute interpolation (declared in the types derived from gml:AbstractSurfacePatchType) specifying the interpolation mechanism used for the patch using gml:SurfaceInterpolationType. + + + + + + gml:AbstractSurfaceType is an abstraction of a surface to support the different levels of complexity. A surface is always a continuous region of a plane. + + + + + + + + A GML Object Collection is any GML Object with a property element in its content model whose content model is derived by extension from gml:AbstractMemberType. +In addition, the complex type describing the content model of the GML Object Collection may also include a reference to the attribute group gml:AggregationAttributeGroup to provide additional information about the semantics of the object collection. This information may be used by applications to group GML objects, and optionally to order and index them. +The allowed values for the aggregationType attribute are defined by gml:AggregationType. See 8.4 of ISO/IEC 11404:1996 for the meaning of the values in the enumeration. + + + + + + + + + + + + + + + + XLink components are the standard method to support hypertext referencing in XML. An XML Schema attribute group, gml:AssociationAttributeGroup, is provided to support the use of Xlinks as the method for indicating the value of a property by reference in a uniform manner in GML. + + + + + + deprecated + + + + + + gml:CodeType is a generalized type to be used for a term, keyword or name. +It adds a XML attribute codeSpace to a term, where the value of the codeSpace attribute (if present) shall indicate a dictionary, thesaurus, classification scheme, authority, or pattern for the term. + + + + + + + + + + gml:CodeWithAuthorityType requires that the codeSpace attribute is provided in an instance. + + + + + + + + + + This type is deprecated for tuples with ordinate values that are numbers. +CoordinatesType is a text string, intended to be used to record an array of tuples or coordinates. +While it is not possible to enforce the internal structure of the string through schema validation, some optional attributes have been provided in previous versions of GML to support a description of the internal structure. These attributes are deprecated. The attributes were intended to be used as follows: +Decimal symbol used for a decimal point (default="." a stop or period) +cs symbol used to separate components within a tuple or coordinate string (default="," a comma) +ts symbol used to separate tuples or coordinate strings (default=" " a space) +Since it is based on the XML Schema string type, CoordinatesType may be used in the construction of tables of tuples or arrays of tuples, including ones that contain mixed text and numeric values. + + + + + + + + + + + + A curve is a 1-dimensional primitive. Curves are continuous, connected, and have a measurable length in terms of the coordinate system. +A curve is composed of one or more curve segments. Each curve segment within a curve may be defined using a different interpolation method. The curve segments are connected to one another, with the end point of each segment except the last being the start point of the next segment in the segment list. +The orientation of the curve is positive. +The element segments encapsulates the segments of the curve. + + + + + A container for an array of curves. The elements are always contained in the array property, referencing geometry elements or arrays of geometry elements via XLinks is not supported. + + + + + + + + + A property that has a curve as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none. + + + + + + + + + + gml:CurveSegmentArrayPropertyType is a container for an array of curve segments. + + + + + + + + + + + + + + + + + posList instances (and other instances with the content model specified by DirectPositionListType) hold the coordinates for a sequence of direct positions within the same coordinate reference system (CRS). +if no srsName attribute is given, the CRS shall be specified as part of the larger context this geometry element is part of, typically a geometric object like a point, curve, etc. +The optional attribute count specifies the number of direct positions in the list. If the attribute count is present then the attribute srsDimension shall be present, too. +The number of entries in the list is equal to the product of the dimensionality of the coordinate reference system (i.e. it is a derived value of the coordinate reference system definition) and the number of direct positions. + + + + + + + + + + + Direct position instances hold the coordinates for a position within some coordinate reference system (CRS). Since direct positions, as data types, will often be included in larger objects (such as geometry elements) that have references to CRS, the srsName attribute will in general be missing, if this particular direct position is included in a larger element with such a reference to a CRS. In this case, the CRS is implicitly assumed to take on the value of the containing object's CRS. +if no srsName attribute is given, the CRS shall be specified as part of the larger context this geometry element is part of, typically a geometric object like a point, curve, etc. + + + + + + + + + + A LineString is a special curve that consists of a single segment with linear interpolation. It is defined by two or more coordinate tuples, with linear interpolation between them. The number of direct positions in the list shall be at least two. + + + + + + + + + + + + + + + + + + + + + + A LinearRing is defined by four or more coordinate tuples, with linear interpolation between them; the first and last coordinates shall be coincident. The number of direct positions in the list shall be at least four. + + + + + A property with the content model of gml:LinearRingPropertyType encapsulates a linear ring to represent a component of a surface boundary. + + + + + + + + + + + + + + + + + + + + + + + + + deprecated + + + + + + + + + + A gml:MultiCurve is defined by one or more gml:AbstractCurves. +The members of the geometric aggregate may be specified either using the "standard" property (gml:curveMember) or the array property (gml:curveMembers). It is also valid to use both the "standard" and the array properties in the same collection. + + + + + A property that has a collection of curves as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none. + + + + + + + + + + + + + + + + + + + + A gml:MultiPoint consists of one or more gml:Points. +The members of the geometric aggregate may be specified either using the "standard" property (gml:pointMember) or the array property (gml:pointMembers). It is also valid to use both the "standard" and the array properties in the same collection. + + + + + A property that has a collection of points as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none. + + + + + + + + + + + + + + + + + + + + A gml:MultiSurface is defined by one or more gml:AbstractSurfaces. +The members of the geometric aggregate may be specified either using the "standard" property (gml:surfaceMember) or the array property (gml:surfaceMembers). It is also valid to use both the "standard" and the array properties in the same collection. + + + + + A property that has a collection of surfaces as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none. + + + + + + + + + + + + + + + + + + + + A type for a list of values of the respective simple type. + + + + + + + + + + + + + + + + + + + + + + + + gml:NilReasonType defines a content model that allows recording of an explanation for a void value or other exception. +gml:NilReasonType is a union of the following enumerated values: +- inapplicable there is no value +- missing the correct value is not readily available to the sender of this data. Furthermore, a correct value may not exist +- template the value will be available later +- unknown the correct value is not known to, and not computable by, the sender of this data. However, a correct value probably exists +- withheld the value is not divulged +- other:text other brief explanation, where text is a string of two or more characters with no included spaces +and +- anyURI which should refer to a resource which describes the reason for the exception +A particular community may choose to assign more detailed semantics to the standard values provided. Alternatively, the URI method enables a specific or more complete explanation for the absence of a value to be provided elsewhere and indicated by-reference in an instance document. +gml:NilReasonType is used as a member of a union in a number of simple content types where it is necessary to permit a value from the NilReasonType union as an alternative to the primary type. + + + + + + Encoding a GML property inline vs. by-reference shall not imply anything about the "ownership" of the contained or referenced GML Object, i.e. the encoding style shall not imply any "deep-copy" or "deep-delete" semantics. To express ownership over the contained or referenced GML Object, the gml:OwnershipAttributeGroup attribute group may be added to object-valued property elements. If the attribute group is not part of the content model of such a property element, then the value may not be "owned". +When the value of the owns attribute is "true", the existence of inline or referenced object(s) depends upon the existence of the parent object. + + + + + + A Point is defined by a single coordinate tuple. The direct position of a point is specified by the pos element which is of type DirectPositionType. + + + + + gml:PointArrayPropertyType is a container for an array of points. The elements are always contained inline in the array property, referencing geometry elements or arrays of geometry elements via XLinks is not supported. + + + + + + + + + A property that has a point as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none. + + + + + + + + + + + + + + + + + + + + + + A Polygon is a special surface that is defined by a single surface patch (see D.3.6). The boundary of this patch is coplanar and the polygon uses planar interpolation in its interior. +The elements exterior and interior describe the surface boundary of the polygon. + + + + + A gml:PolygonPatch is a surface patch that is defined by a set of boundary curves and an underlying surface to which these curves adhere. The curves shall be coplanar and the polygon uses planar interpolation in its interior. +interpolation is fixed to "planar", i.e. an interpolation shall return points on a single plane. The boundary of the patch shall be contained within that plane. + + + + + + + + + + + + + + + + + + + + + + + + + + gml:ReferenceType is intended to be used in application schemas directly, if a property element shall use a "by-reference only" encoding. + + + + + + + + The attributes uomLabels and axisLabels, defined in the SRSInformationGroup attribute group, are optional additional and redundant information for a CRS to simplify the processing of the coordinate values when a more complete definition of the CRS is not needed. This information shall be the same as included in the complete definition of the CRS, referenced by the srsName attribute. When the srsName attribute is included, either both or neither of the axisLabels and uomLabels attributes shall be included. When the srsName attribute is omitted, both of these attributes shall be omitted. +The attribute axisLabels is an ordered list of labels for all the axes of this CRS. The gml:axisAbbrev value should be used for these axis labels, after spaces and forbidden characters are removed. When the srsName attribute is included, this attribute is optional. When the srsName attribute is omitted, this attribute shall also be omitted. +The attribute uomLabels is an ordered list of unit of measure (uom) labels for all the axes of this CRS. The value of the string in the gml:catalogSymbol should be used for this uom labels, after spaces and forbidden characters are removed. When the axisLabels attribute is included, this attribute shall also be included. When the axisLabels attribute is omitted, this attribute shall also be omitted. + + + + + + + The attribute group SRSReferenceGroup is an optional reference to the CRS used by this geometry, with optional additional information to simplify the processing of the coordinates when a more complete definition of the CRS is not needed. +In general the attribute srsName points to a CRS instance of gml:AbstractCoordinateReferenceSystem. For well-known references it is not required that the CRS description exists at the location the URI points to. +If no srsName attribute is given, the CRS shall be specified as part of the larger context this geometry element is part of. + + + + + + + + + + + + + + + + + deprecated + + + + + + + + + + A Surface is a 2-dimensional primitive and is composed of one or more surface patches as specified in ISO 19107:2003, 6.3.17.1. The surface patches are connected to one another. +patches encapsulates the patches of the surface. + + + + + gml:SurfaceArrayPropertyType is a container for an array of surfaces. The elements are always contained in the array property, referencing geometry elements or arrays of geometry elements via XLinks is not supported. + + + + + + + + + gml:SurfaceInterpolationType is a list of codes that may be used to identify the interpolation mechanisms specified by an application schema. + + + + + + + + + + + + + + + + + gml:SurfacePatchArrayPropertyType is a container for a sequence of surface patches. + + + + + + + + A property that has a surface as its value domain may either be an appropriate geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same document). Either the reference or the contained element shall be given, but neither both nor none. + + + + + + + + + + + + + + + + + + + deprecated + + + + + + This property element contains a list of curves. The order of the elements is significant and shall be preserved when processing the array. + + + + + The value of this property is a text description of the object. gml:description uses gml:StringOrRefType as its content model, so it may contain a simple text string content, or carry a reference to an external description. The use of gml:description to reference an external description has been deprecated and replaced by the gml:descriptionReference property. + + + + + The value of this property is a remote text description of the object. The xlink:href attribute of the gml:descriptionReference property references the external description. + + + + + A type for a list of values of the respective simple type. + + + + + + A boundary of a surface consists of a number of rings. In the normal 2D case, one of these rings is distinguished as being the exterior boundary. In a general manifold this is not always possible, in which case all boundaries shall be listed as interior boundaries, and the exterior will be empty. + + + + + The attribute gml:id supports provision of a handle for the XML element representing a GML Object. Its use is mandatory for all GML objects. It is of XML type ID, so is constrained to be unique in the XML document within which it occurs. + + + + + Often, a special identifier is assigned to an object by the maintaining authority with the intention that it is used in references to the object For such cases, the codeSpace shall be provided. That identifier is usually unique either globally or within an application domain. gml:identifier is a pre-defined property for such identifiers. + + + + + A boundary of a surface consists of a number of rings. The "interior" rings separate the surface / surface patch from the area enclosed by the rings. + + + + + deprecated + + + + + The gml:name property provides a label or identifier for the object, commonly a descriptive name. An object may have several names, typically assigned by different authorities. gml:name uses the gml:CodeType content model. The authority for a name is indicated by the value of its (optional) codeSpace attribute. The name may or may not be unique, as determined by the rules of the organization responsible for the codeSpace. In common usage there will be one name per authority, so a processing application may select the name from its preferred codeSpace. + + + + + The patches property element contains the sequence of surface patches. The order of the elements is significant and shall be preserved when processing the array. + + + + + This property element either references a Point via the XLink-attributes or contains the Point element. + + + + + This property element contains a list of points. The order of the elements is significant and shall be preserved when processing the array. + + + + + This property element either references a point via the XLink-attributes or contains the point element. pointProperty is the predefined property which may be used by GML Application Schemas whenever a GML feature has a property with a value that is substitutable for Point. + + + + + deprecated + + + + + + + deprecated + + + + + This property element contains a list of curve segments. The order of the elements is significant and shall be preserved when processing the array. + + + + + This property element either references a surface via the XLink-attributes or contains the surface element. A surface element is any element, which is substitutable for gml:AbstractSurface. + + + + + This property element contains a list of surfaces. The order of the elements is significant and shall be preserved when processing the array. + + + + + To create a collection of GML features, a property type shall be derived by extension from gml:AbstractFeatureMemberType. + By default, this abstract property type does not imply any ownership of the features in the collection. The owns attribute of gml:OwnershipAttributeGroup may be used on a property element instance to assert ownership of a feature in the collection. A collection shall not own a feature already owned by another object. + + + + + + + A geometric property may either be any geometry element encapsulated in an element of this type or an XLink reference to a remote geometry element (where remote includes geometry elements located elsewhere in the same or another document). Note that either the reference or the contained element shall be given, but not both or none. + If a feature has a property that takes a geometry element as its value, this is called a geometry property. A generic type for such a geometry property is GeometryPropertyType. + + + + + + + + Index: Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/readme.txt =================================================================== diff -u --- Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/readme.txt (revision 0) +++ Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/readme.txt (revision 452d2a4774cf89c6dce7ee4d7cbd482c26d14569) @@ -0,0 +1,3 @@ +Op dit moment is er nog geen apart schema voor MIM 1.1. +Alle constructies waarnaar vanuit de conceptuele schemas verwezen wordt vallen binnen de xs: namespace. +Wanneer aparte MIM 1.1 constructies een eigen schema definitie hebben, worden deze op deze plek toegevoegd. \ No newline at end of file Index: Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/xlink/1.0.0/ReadMe.txt =================================================================== diff -u --- Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/xlink/1.0.0/ReadMe.txt (revision 0) +++ Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/xlink/1.0.0/ReadMe.txt (revision 452d2a4774cf89c6dce7ee4d7cbd482c26d14569) @@ -0,0 +1,6 @@ +This XML Schema Document named xlinks.xsd has been stored here based +on the change request: +OGC 05-068r1 "Store xlinks.xsd file at a fixed location" + +Arliss Whiteside, 2005-11-22 + Index: Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/xlink/1.0.0/xlinks.xsd =================================================================== diff -u --- Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/xlink/1.0.0/xlinks.xsd (revision 0) +++ Riskeer/AssemblyTool/test/Riskeer.AssemblyTool.IO.Test/test-data/AssemblyGmlWriterTest/xsd/xlink/1.0.0/xlinks.xsd (revision 452d2a4774cf89c6dce7ee4d7cbd482c26d14569) @@ -0,0 +1,238 @@ + + + + This schema document provides attribute declarations and + attribute group, complex type and simple type definitions which can be used in + the construction of user schemas to define the structure of particular linking + constructs, e.g. + +<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" + xmlns:xl="http://www.w3.org/1999/xlink"> + + <xs:import namespace="http://www.w3.org/1999/xlink" + location="http://www.w3.org/1999/xlink.xsd"> + + <xs:element name="mySimple"> + <xs:complexType> + ... + <xs:attributeGroup ref="xl:simpleAttrs"/> + ... + </xs:complexType> + </xs:element> + ... +</xs:schema> + + + + + + + + see https://www.geonovum.nl/nieuws/belangrijke-informatie-over-wijziging-ogc-standaarden + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Intended for use as the type of user-declared elements to make them + simple links. + + + + + + + + + + + + + + + + + + + + + + Intended for use as the type of user-declared elements to make them + extended links. + Note that the elements referenced in the content model are all abstract. + The intention is that by simply declaring elements with these as their + substitutionGroup, all the right things will happen. + + + + + + + + + + + + xml:lang is not required, but provides much of the + motivation for title elements in addition to attributes, and so + is provided here for convenience. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + label is not required, but locators have no particular + XLink function if they are not labeled. + + + + + + + + + + + + + + + + + + + + + + + + + from and to have default behavior when values are missing + + + + + + + + + + + + + +