Closed justb4 closed 9 years ago
De antwoorden zijn:
Bij het aanmaken en verwijzen van IMWEPT2014 proefbestanden loop ik tegen 2 gerelateerde problemen/vragen aan:
De "imwept:FeatureCollectionIMWEPT", dus de IMWEPT FeatureCollection, is niet, zoals "imwe:FeatureCollectionIMWE", de IMWE FeatureCollection afgeleid van een GML FC, i.e. via substitutionGroup="gml:AbstractFeature". Is dit bewust? Hierdoor wordt het formaat van IMWEPT2014 bestanden als volgt:
<imwept:FeatureCollectionIMWEPT
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:imwept="http://www.geonovum.nl/imwe/pt/2014/1.0"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:xhtml="http://www.w3.org/1999/xhtml"
xsi:schemaLocation="
http://www.geonovum.nl/imwe/pt/2014/1.0 ...."
>
<imwept:TekstMetadata>
</imwept:TekstMetadata>
<imwept:TekstObject>
<imwept:identificatie>identificatie</imwept:identificatie>
</imwept:TekstObject>
<imwept:TekstObject>
<imwept:identificatie>identificatie</imwept:identificatie>
</imwept:TekstObject>
.
.
</imwept:FeatureCollectionIMWEPT>
M.a.w. imwept:TekstMetadata en imwept:TekstObject zijn direct embedded onder imwept:FeatureCollectionIMWEPT, ipv als gml:featureMember (zoals bij IMWE2014). Maar mogelijk is dit een bewuste keuze, ook omdat tekst misschien niet via WFS verloopt. er moet dan wel custom software voor komen.
Een oplossing zou zijn om ook IMWEPT2014 op GML te baseren, identiek aan IMWE2014 en onder 2. om gml:id te gebruiken.
Maar nogmaals, misschien zijn dit alles (1+2) bewuste keuzes, i.e. om geen GML Feature Collections voor tekst te gebruiken en om linking naar tekst/figuren niet via XML xlink te doen maar via "identificatie" (idn) elementen....
Nog een punt mbt identificatie en verwijzing naar tekstobjecten. In IMWE2014-v1.0.pdf lijkt een soort inconsistentie te bestaan. (Of ik begrijp de bedoelde conventie niet goed):
In constraints voor WN, W3, p37: "Format verwijzing naar tekst. Format = pt’planID’". Terwijl TekstObjecten juist hun eigen namespaced formaat hebben: 3.2.1, p29: 3.2.1: "Attribuut: identificatie...eigen identificatie (idn) van het TekstObject. De code moet uniek zijn binnen het plantekstenbestand. De identificatie begint met "NL.IMWE.PT." en wordt gevolgd door max. 32 alfanumerieke tekens. De waarde moet voldoen aan de volgende reguliere expressie: NL.IMWE.PT.[A-Za-z0-9-,.]{1,32}"
Dus lijkt mij dat dan Format verwijzing naar tekst dezelfde conventie dient te hebben als de idn van TekstObject.
Nog een mbt verwijzingen: in een FeatureCollectionIMWEPT kan een TekstObject een verwijzing hebben naar een TekstMetadata. Deze verwijzing heeft als definitie TekstMetadataPropertyType die een xlink attribuutgroep is. Dus m.a.w. de verwijzing moet een xlink zijn. Bijv
<imwept:tekstMetadata xlink:href="#NL.IMWE.PT.0882.WelstandLandgraaf.v1.MD"/>
Echter, TekstMetadata kent geen id attribuut, alleen een "identificatie" (idn) element. Dit zorgt voor een invalid xlink in bovenstaande notatie. De oplossing zou zijn om FeatureCollectionIMWEPT een GML collectie net als FeatureCollectionIMWE te maken. Dan zou TekstMetadata een gml:id kunnen krijgen. Vandaar dat deze opmerking hier geplaatst is.
imwept:ouderID en imwept:interneVerwijzing hebben hetzelfde probleem als imwept:tekstMetadata: xlink's naar TekstObjecten, echter TekstObjecten hebben geen (gml:)id attribuut.
Ik zit niet in het tekstmodel. Het is analoog gemaakt aan het IMROPT2012 tekstmodel. De implementatie gaat op een vergelijkbare manier. Voor IMRO2012 is de objectgerichte tekst facultatief. Je zou dus naar voorbeelden van IMRO2012 met object planteksten moeten kijken. Kan je vinden op: http://ro-standaarden.geonovum.nl/2012/voorbeeldplannen/20121106/
@PalmJanssen ok, gevonden bijv. http://ro-standaarden.geonovum.nl/2012/voorbeeldplannen/20121106/IMROPT/NL.IMRO.9999.SVP20120007/VA01/pt_NL.IMRO.9999.SVP20120007-VA01.xml. Er is wel 1 groot verschil tussen IMWEPT en IMROPT: het gebruik van het attribuut identificatie: in IMROPT2012 een XML attribute type ID en in IMWEPT2012 een element. Dit laatste maakt dat (interne) verwijzing via xlink in IMWEPT2012 nooit mogelijk is (bijv via TekstMetadataPropertyType)
Zie definities: IMROPT2012 (attribuut type ID):
<element name="TekstMetadata" type="imropt:TekstMetadataType"/>
<complexType name="TekstMetadataType">
<sequence>
<element name="verwijzingNaarPlangebied" type="string"/>
<element name="typePlan" type="string" minOccurs="0"/>
<element name="naam" type="string" minOccurs="0"/>
<element name="beleidsmatigVerantwoordelijkeOverheid" type="string" minOccurs="0"/>
<element name="naamOverheid" type="string" minOccurs="0" maxOccurs="unbounded"/>
<element name="overheidsCode" type="string" minOccurs="0"/>
<element name="creatiedatum" type="string" minOccurs="0"/>
<element name="naamPraktijkrichtlijn" type="string"/>
</sequence>
<attribute name="identificatie" type="ID" use="required"/>
</complexType>
<complexType name="TekstMetadataPropertyType">
<attributeGroup ref="xlink:simpleAttrs"/>
</complexType>
<element name="TekstObject" type="imropt:TekstObjectType"/>
<complexType name="TekstObjectType">
<sequence>
<element name="verwijzingNaarPlangebied" type="string"/>
<element name="volgnummer" type="integer"/>
<element name="niveau" type="integer"/>
<element name="type" type="imropt:ObjecttypePropertyType"/>
<element name="typeTekst" type="imropt:TeksttypeType" minOccurs="0"/>
<element name="titelInfo" type="imropt:TitelInfoPropertyType"/>
<element name="externeVerwijzing" type="anyURI" minOccurs="0" maxOccurs="unbounded"/>
<element name="tekstMetadata" type="imropt:TekstMetadataPropertyType" minOccurs="0"/>
<element name="ouderID" type="imropt:TekstObjectPropertyType"/>
<element name="interneVerwijzing" type="imropt:TekstObjectPropertyType" minOccurs="0" maxOccurs="unbounded"/>
<element ref="xhtml:tekst" minOccurs="0"/>
</sequence>
<attribute name="identificatie" type="ID" use="required"/>
</complexType>
en IMWEPT2012 (identificatie is element):
<element name="TekstMetadata" type="imwept:TekstMetadataType"/>
<complexType name="TekstMetadataType">
<sequence>
<element name="identificatie" type="string"/>
<element name="verwijzingNaarPlangebied" type="string"/>
<element name="typePlan" type="string"/>
<element name="naam" type="string"/>
<element name="beleidsmatigVerantwoordelijkeOverheid" type="string"/>
<element name="naamOverheid" type="string"/>
<element name="overheidsCode" type="string"/>
<element name="creatiedatum" type="string"/>
<element name="naamPraktijkrichtlijn" type="string"/>
</sequence>
</complexType>
<complexType name="TekstMetadataPropertyType">
<attributeGroup ref="xlink:simpleAttrs"/>
</complexType>
<simpleType name="Tekstobjecttype_WNType">
<restriction base="string">
<enumeration value="welstandstekst"/>
<enumeration value="bijlage"/>
<enumeration value="bijlagen"/>
<enumeration value="deel"/>
<enumeration value="document"/>
<enumeration value="hoofdstuk"/>
<enumeration value="overig"/>
<enumeration value="paragraaf"/>
<enumeration value="subparagraaf"/>
<enumeration value="subsubparagraaf"/>
<enumeration value="subsubsubparagraaf"/>
</restriction>
</simpleType>
<element name="TekstObject" type="imwept:TekstObjectType"/>
<complexType name="TekstObjectType">
<sequence>
<element name="identificatie" type="string"/>
<element name="verwijzingNaarPlangebied" type="string"/>
<element name="volgnummer" type="integer"/>
<element name="niveau" type="integer"/>
<element name="type" type="imwept:Tekstobjecttype_WNType"/>
<element name="titel" type="imwept:TitelInfoPropertyType"/>
<element name="externeVerwijzing" type="string" minOccurs="0" maxOccurs="unbounded"/>
<element name="tekst" type="string" minOccurs="0"/>
<element name="tekstMetadata" type="imwept:TekstMetadataPropertyType" minOccurs="0"/>
<element name="ouderID" type="imwept:TekstObjectPropertyType"/>
<element name="interneVerwijzing" type="imwept:TekstObjectPropertyType" minOccurs="0"/>
</sequence>
</complexType>
<complexType name="TekstObjectPropertyType">
<attributeGroup ref="xlink:simpleAttrs"/>
</complexType>
De eigenschap identificatie is van type XML element. Daardoor kan geen xlink gelegd worden.
Ik zie het. Moet geregeld worden. In de GML docs hebben alle objecten een gml:id. In tekstdocs niet. Vandaar deze omissie.. Het komt er op neer dat identificatie van type ID moet zijn.
Ok een gooi gedaan in IMWEPT 2014 proefbestand. Voorlopig uitgegaan van 'identificatie' referentie: https://github.com/Geonovum/imwe2014/blob/master/samples/imwe2014/FC-IMWEPT2014-1.xml Sluiten als identificatie ID attribute (in RC3?) aanwezig is.
In IMWEPT2014 versie 1.0.0RC2: identificatie is van type ID gemaakt. attribute name="identificatie" type="ID" use="required"
Is daar alles mee opgelost?
Nee (als dat enige wijziging is), want dan kun je nog steeds niet verwijzen. identificatie
moet een attribute
zijn, analoog aan IMROPT:
<attribute name="identificatie" type="ID" use="required"/>
Dank je. het is precies zo gedaan als je zegt
ok!
In IMWE2014 wordt binnen de 4 hoofdobjectypen verwezen naar Text en Illustraties. Deze laatsten staan gemodelleerd in IMWEPT2014 en gebaseerd op IMROPT2012. Bij het maken van proefbestanden zijn volgens mij de verwijzingen als volgt, zie voorbeeldbestand: https://github.com/Geonovum/imwe2014/blob/master/samples/imwe2014/FC-IMWE2014-1.xml
Dus een verwijzing zoals 'pt_' + planID bijv 'pt_NL.IMWE.1709.WelstandsNiveauGebied.23'. (?). In IMROPT2012 wordt direct verwezen naar een .pdf .html o.i.d., in ieder geval een "echt" bestand.
In IMWEPT2014 lijkt het erop dat teksten in een "imwept:FeatureCollectionIMWEPT" vervat zijn, waarbij iedere tekst (of onderdeel?) een "imwept:TekstObject" van type "imwept:TekstObjectType" is als volgt:
De vragen hier zijn: