【发布时间】:2020-06-22 09:04:01
【问题描述】:
我正在研究 OFMX,一种基于 AIXM 的 XML 交换格式。架构正确地验证了公开可用的文件,但是,当在内部使用 OFMX 时,一些不属于架构的属性正在使用中。
这是一个简单有效的 OFMX 文件:
<?xml version="1.0" encoding="UTF-8"?>
<OFMX-Snapshot xmlns:xsi="http://schema.openflightmaps.org/0/OFMX-Snapshot.xsd" version="0" origin="rubygem aixm-0.3.9" namespace="daf19610-f43b-4db3-80b7-602d9083dc32" created="2020-03-03T10:25:18+01:00" effective="2020-02-27T00:00:00+01:00">
<Ahp source="LF|AD|AD-2.LFBA|2020-02-27|17">
<AhpUid region="LF">
<codeId>LFBA</codeId>
</AhpUid>
<OrgUid region="LF">
<txtName>FRANCE</txtName>
</OrgUid>
<txtName>AGEN LA GARENNE</txtName>
<codeIcao>LFBA</codeIcao>
<codeType>AD</codeType>
<geoLat>44.17472222N</geoLat>
<geoLong>000.59055556E</geoLong>
<codeDatum>WGE</codeDatum>
<valElev>204</valElev>
<uomDistVer>FT</uomDistVer>
<valMagVar>0.0</valMagVar>
</Ahp>
</OFMX-Snapshot>
为了加快速度,非公共(本地)处理可能会添加dbid等属性:
<Ahp source="LF|AD|AD-2.LFBA|2020-02-27|17" dbid="1234">
我不想用这种非公共属性定义污染架构,因此我正在寻找一种微创方式来允许它们。
允许任何带有前缀下划线(如_dbid)的属性是一种解决方案,但 AFAIK,无法在架构中定义通配符属性。
是否有替代方案,例如像local:dbid 这样的本地命名空间可能与anyAttribute 一起,对根元素的修改尽可能少?
【问题讨论】:
标签: xml xsd namespaces attributes schema