xml - 找不到元素“xtce:SpaceSystem”的声明
问题描述
我创建了以下基于 XTCE 标准的 XML 文件。但是,当我尝试验证它时,我看到一条错误消息,
找不到元素的声明
'xtce:SpaceSystem'
。,第 3 行,第 81 列
我不明白为什么,因为该SpaceSystem
元素是 XSD 模式文件和 XTCE 文档作为根元素的一部分。元素的标头或 XSD 方案的链接是否有问题?以及如何更新文件以使其有效?
<?xml version="1.0" encoding="UTF-8"?>
<xtce:SpaceSystem xmlns:xtce="http://www.omg.org/space/xtce"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="XTCE_V12_UT"
xsi:schemaLocation="https://www.omg.org/spec/XTCE/20180204/SpaceSystem.xsd">
<xtce:CommandMetaData>
<ParameterTypeSet>
<xtce:IntegerParameterType name="1ByteInteger" sizeInBits="8" signed="false">
<xtce:UnitSet />
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="14BitInteger" sizeInBits="14" signed="false">
<xtce:UnitSet />
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="11BitInteger" sizeInBits="11" signed="false">
<xtce:UnitSet />
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="10BitInteger" sizeInBits="10" signed="false">
<xtce:UnitSet />
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="6BitInteger" sizeInBits="6" signed="false">
<xtce:UnitSet />
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="5BitInteger" sizeInBits="5" signed="false">
<xtce:UnitSet />
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="4BitInteger" sizeInBits="4" signed="false">
<xtce:UnitSet />
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="3BitInteger" sizeInBits="3" signed="false">
<xtce:UnitSet />
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="2BitInteger" sizeInBits="2" signed="false">
<xtce:UnitSet />
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="1BitInteger" sizeInBits="1" signed="false">
<xtce:UnitSet />
</xtce:IntegerParameterType>
</ParameterTypeSet>
<xtce:ParameterSet>
<xtce:Parameter parameterTypeRef="2BitInteger" name="CSP_PR" />
<xtce:Parameter parameterTypeRef="5BitInteger" name="CSP_SRC" />
<xtce:Parameter parameterTypeRef="5BitInteger" name="CSP_DEST" />
<xtce:Parameter parameterTypeRef="6BitInteger" name="CSP_SRC_P" />
<xtce:Parameter parameterTypeRef="6BitInteger" name="CSP_DEST_P" />
<xtce:Parameter parameterTypeRef="4BitInteger" name="CSP_RES" />
<xtce:Parameter parameterTypeRef="1BitInteger" name="CSP_HMAC" />
<xtce:Parameter parameterTypeRef="1BitInteger" name="CSP_XTEA" />
<xtce:Parameter parameterTypeRef="1BitInteger" name="CSP_RDP" />
<xtce:Parametera parameterTypeRef="1BitInteger" name="CSP_CRC" />
</xtce:ParameterSet>
<xtce:ArgumentTypeSet>
<xtce:EnumeratedArgumentType name="TimerStartStopType" sizeInBits="32">
<xtce:UnitSet />
<xtce:EnumerationList>
<xtce:Enumeration label="TIMER_STOP" value="0" />
<xtce:Enumeration label="TIMER_START" value="1" />
</xtce:EnumerationList>
</xtce:EnumeratedArgumentType>
</xtce:ArgumentTypeSet>
<xtce:CommandContainerSet>
<xtce:CommandContainer name="CSPPacket" shortDescription="CSP Packet">
<xtce:EntryList>
<xtce:ContainerRefEntry containerRef="CSPPacketHeader" />
</xtce:EntryList>
</xtce:CommandContainer>
<xtce:CommandContainer name="CSPPacketHeader" shortDescription="CCSDS TC Frame Header" abstract="true">
<xtce:EntryList>
<xtce:ParameterRefEntry parameterRef="CSP_PR" />
<xtce:ParameterRefEntry parameterRef="CSP_SRC" />
<xtce:ParameterRefEntry parameterRef="CSP_DEST" />
<xtce:ParameterRefEntry parameterRef="CSP_SRC_P" />
<xtce:ParameterRefEntry parameterRef="CSP_DEST_P" />
<xtce:ParameterRefEntry parameterRef="CSP_RES" />
<xtce:ParameterRefEntry parameterRef="CSP_XTEA" />
<xtce:ParameterRefEntry parameterRef="CSP_RDP" />
<xtce:ParameterRefEntry parameterRef="CSP_CRC" />
</xtce:EntryList>
</xtce:CommandContainer>
</xtce:CommandContainerSet>
<xtce:MetaCommandSet>
<xtce:MetaCommand name="TimerStartStopCommand" shortDescription="Timer Start Stop Command">
<xtce:ArgumentList>
<xtce:Argument argumentTypeRef="TimerStartStopType" name="TimerStartStop" />
</xtce:ArgumentList>
<xtce:CommandContainer name="TimerStartStopCommand" shortDescription="Command TimerStartStopCommand Packet">
<xtce:EntryList>
<xtce:ArgumentRefEntry argumentRef="TimerStartStopType">
<xtce:LocationInContainerInBits referenceLocation="containerStart">
<xtce:FixedValue>0</xtce:FixedValue>
</xtce:LocationInContainerInBits>
</xtce:ArgumentRefEntry>
</xtce:EntryList>
</xtce:CommandContainer>
<xtce:DefaultSignificance consequenceLevel="none" />
<xtce:VerifierSet />
</xtce:MetaCommand>
</xtce:MetaCommandSet>
</xtce:CommandMetaData>
</xtce:SpaceSystem>
解决方案
正如@kjhughes 正确指出的那样,名称空间处理不正确。
我调整了您的 XML 命名空间声明。
它仍然有一些错误。但是你现在很容易修复它们。
XML
<?xml version="1.0" encoding="UTF-8"?>
<xtce:SpaceSystem xmlns:xtce="http://www.omg.org/spec/XTCE/20180204"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
name="XTCE_V12_UT"
xsi:schemaLocation="http://www.omg.org/spec/XTCE/20180204 https://www.omg.org/spec/XTCE/20180204/SpaceSystem.xsd">
<xtce:CommandMetaData>
<xtce:ParameterTypeSet>
<xtce:IntegerParameterType name="1ByteInteger" sizeInBits="8"
signed="false">
<xtce:UnitSet/>
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="14BitInteger" sizeInBits="14"
signed="false">
<xtce:UnitSet/>
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="11BitInteger" sizeInBits="11"
signed="false">
<xtce:UnitSet/>
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="10BitInteger" sizeInBits="10"
signed="false">
<xtce:UnitSet/>
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="6BitInteger" sizeInBits="6"
signed="false">
<xtce:UnitSet/>
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="5BitInteger" sizeInBits="5"
signed="false">
<xtce:UnitSet/>
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="4BitInteger" sizeInBits="4"
signed="false">
<xtce:UnitSet/>
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="3BitInteger" sizeInBits="3"
signed="false">
<xtce:UnitSet/>
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="2BitInteger" sizeInBits="2"
signed="false">
<xtce:UnitSet/>
</xtce:IntegerParameterType>
<xtce:IntegerParameterType name="1BitInteger" sizeInBits="1"
signed="false">
<xtce:UnitSet/>
</xtce:IntegerParameterType>
</xtce:ParameterTypeSet>
<xtce:ParameterSet>
<xtce:Parameter parameterTypeRef="2BitInteger" name="CSP_PR"/>
<xtce:Parameter parameterTypeRef="5BitInteger" name="CSP_SRC"/>
<xtce:Parameter parameterTypeRef="5BitInteger" name="CSP_DEST"/>
<xtce:Parameter parameterTypeRef="6BitInteger" name="CSP_SRC_P"/>
<xtce:Parameter parameterTypeRef="6BitInteger" name="CSP_DEST_P"/>
<xtce:Parameter parameterTypeRef="4BitInteger" name="CSP_RES"/>
<xtce:Parameter parameterTypeRef="1BitInteger" name="CSP_HMAC"/>
<xtce:Parameter parameterTypeRef="1BitInteger" name="CSP_XTEA"/>
<xtce:Parameter parameterTypeRef="1BitInteger" name="CSP_RDP"/>
<xtce:Parameter parameterTypeRef="1BitInteger" name="CSP_CRC"/>
</xtce:ParameterSet>
<xtce:ArgumentTypeSet>
<xtce:EnumeratedArgumentType name="TimerStartStopType"
sizeInBits="32">
<xtce:UnitSet/>
<xtce:EnumerationList>
<xtce:Enumeration label="TIMER_STOP" value="0"/>
<xtce:Enumeration label="TIMER_START" value="1"/>
</xtce:EnumerationList>
</xtce:EnumeratedArgumentType>
</xtce:ArgumentTypeSet>
<xtce:CommandContainerSet>
<xtce:CommandContainer name="CSPPacket"
shortDescription="CSP Packet">
<xtce:EntryList>
<xtce:ContainerRefEntry containerRef="CSPPacketHeader"/>
</xtce:EntryList>
</xtce:CommandContainer>
<xtce:CommandContainer name="CSPPacketHeader"
shortDescription="CCSDS TC Frame Header"
abstract="true">
<xtce:EntryList>
<xtce:ParameterRefEntry parameterRef="CSP_PR"/>
<xtce:ParameterRefEntry parameterRef="CSP_SRC"/>
<xtce:ParameterRefEntry parameterRef="CSP_DEST"/>
<xtce:ParameterRefEntry parameterRef="CSP_SRC_P"/>
<xtce:ParameterRefEntry parameterRef="CSP_DEST_P"/>
<xtce:ParameterRefEntry parameterRef="CSP_RES"/>
<xtce:ParameterRefEntry parameterRef="CSP_XTEA"/>
<xtce:ParameterRefEntry parameterRef="CSP_RDP"/>
<xtce:ParameterRefEntry parameterRef="CSP_CRC"/>
</xtce:EntryList>
</xtce:CommandContainer>
</xtce:CommandContainerSet>
<xtce:MetaCommandSet>
<xtce:MetaCommand name="TimerStartStopCommand"
shortDescription="Timer Start Stop Command">
<xtce:ArgumentList>
<xtce:Argument argumentTypeRef="TimerStartStopType"
name="TimerStartStop"/>
</xtce:ArgumentList>
<xtce:CommandContainer name="TimerStartStopCommand"
shortDescription="Command TimerStartStopCommand Packet">
<xtce:EntryList>
<xtce:ArgumentRefEntry argumentRef="TimerStartStopType">
<xtce:LocationInContainerInBits referenceLocation="containerStart">
<xtce:FixedValue>0</xtce:FixedValue>
</xtce:LocationInContainerInBits>
</xtce:ArgumentRefEntry>
</xtce:EntryList>
</xtce:CommandContainer>
<xtce:DefaultSignificance consequenceLevel="none"/>
<xtce:VerifierSet/>
</xtce:MetaCommand>
</xtce:MetaCommandSet>
</xtce:CommandMetaData>
</xtce:SpaceSystem>
推荐阅读
- visual-studio-code - 如何防止在 VSCode 中修剪尾随空白?
- php - 如何向用户发送非常长的表单
- json - 如何在 json 数据上编写 postgres 查询以检查特定条件
- django - 链接表的 Django 视图
- docker - 连接到 VPN 后 docker DNS 配置未更新
- r - 在 R 中按类别预测每周交易量
- git - 每次提交多个 Jenkins 构建
- javascript - 将 URL 输入转换为图像
- python - “import pyPDF2”导致“ModuleNotFoundError”
- visual-studio - 让 Visual Studio 使用 VS 代码快捷键/键绑定