SUMO文档016:XML文件验证

2023-05-16

XMLValidation(XML验证)

1、XML输入的验证

所有的SUMO应用程序都支持对输入的XML验证。为了实现功能,以下的选项可以使用:

Option

Description

-X <STRING>
--xml-validation <STRING>

设置XML输入的模式验证方案(“never”、“auto”或“always”);默认值:auto

--xml-validation.net <STRING>

设置SUMO网络输入的模式验证方案(“never”、“auto”或“always”);默认值:never

验证程序通过XML分析器激活XML schema processing 运行。验证程序可以捕捉很多常见的输入错误,比如拼写错误或者属性值因该放置另一个元素等。

验证的另一个先决条件是在输入文件的根元素的模式声明(schema deceleration)。就像下面所写:

<routesxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/routes_file.xsd">

如果将验证选项设置为always,那么省略上面语句将会报错。

Schema validation会放慢XMl分析器的工作效率,因此默认不对网络(natwork)进行验证(因为networks不应该被手动编辑,能够随时被利用)。如果您有大型的自动生成的输入,您可以考虑禁用Schema validation。可以查阅this FAQ.。

2、添加一个模式声明(schema declaration)

哪些通过某个SUMO应用程序自动生成的文件应该接受适当的模板声明(schema declaration)。在从从头开始编写一个输入文件时,必须手动向根元素添加模式声明。如下:


<ROOT_ELEMENT xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   

     xsi:noNamespaceSchemaLocation="http://sumo.dlr.de/xsd/SCHEMA_FILE">  

在上面的代码中,ROOT_ELEMENT和SCHEMA_FILE两个的设置按照如下:

Application Option

ROOT_ELEMENT

SCHEMA_FILE

--route-files}, --trip-files, , --flow-files

routes

routes_file.xsd

--additional-files

add

additional_file.xsd

--node-files

nodes

nodes_file.xsd

--edge-files

edges

edges_file.xsd

--connection-files

connections

connections_file.xsd

--tllogic-files

tlLogics

tllogic_file.xsd

--type-files

types

types_file.xsd

其中ROOT_ELEMENT的值是一种惯例,可以取任何的值。

3、模式文件

模式文件可以在SUMO根目录下的,data/xsd文件夹中找到。如果环境变量设置正确,在验证输入时,这些文件能够使用。

另外,下载的模式文件可能会是程序运行缓慢(如果没有网络连接甚至会失败)

4、SUMO文件类型

所有应用于SUMO应用程序的文件扩展名已经在文件扩展页面(FILE EXTENSIONS)列出。

 

题外话:

对于这部分,大家可能平常运行的话并不注意,当使用不同版本的地图数据和SUMO工具时,这部分验证就会起作用。比如在老版本中,一些路网数据的属性是少于最新版本的。下面以0.18.0和0.27.1为例讲解:

在0.27.1版本中生成的net数据在0.18.0版本中打不开,就因为数据结构的变化,我们打开net_file.xsd对比:


这个是0.18.0版本的车道类型属性


这个是0.27.1版本的车道类型属性。


和明显最新版的比旧版的多了一些属性。大家在平常使用数据时,要注意,路网数据和版本要对应。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

SUMO文档016:XML文件验证 的相关文章

  • 如何使用scrapy抓取xml url

    你好 我正在使用 scrapy 来抓取 xml url 假设下面是我的 Spider py 代码 class TestSpider BaseSpider name test allowed domains www example com s
  • 我想使用对话框显示两个数字选择器

    我试图仅使用 java 在对话框上显示两个数字选择器 代码正在工作 但我无法将其排列为相等的宽度 这是我的代码 RelativeLayout relative new RelativeLayout mContext final Number
  • c#Registry to XML无效字符问题

    我在尝试从注册表创建 XML 文件时遇到问题 在我的笔记本电脑 W7 64b 上它工作正常 生成了 xml 文件 但在另一台计算机 Xp 32b 上抛出异常 System ArgumentException 十六进制值 0x00 是无效字符
  • JAXB - 忽略元素

    有什么方法可以忽略 Jaxb 解析中的元素吗 我有一个很大的 XML 文件 如果我可以忽略其中一个大而复杂的元素 那么它的解析速度可能会快很多 如果它根本无法验证元素内容并解析文档的其余部分 即使该元素不正确 那就更好了 例如 这应该只生成
  • 如何使用 Webpack 加载器导入 XML,而不自动转换为 JSON

    Webpack 4 的 xml loader 自动将导入的 XML 文件转换为 JSON 通过什么方式可以导入XMLwithout转换为 JSON XML 数据将使用现有的 应用程序专用的 XML 解析器进行处理 明确地说 我绝对愿意not
  • 带有图层列表的自定义背景以显示对角线?

    我只想创建一个自定义背景 但我不知道如何使用 xml 而不是图像来做到这一点 这是 XML
  • 使用批处理解析 XML 文件以从某些特定节点获取值

    对于每个节点列表有Lists作为其父节点 我想获取 保存前三个节点的变量值 即entry output and token 我知道如何使用 vbscript 来做到这一点 但对我来说 批量解决方案更有趣 请问可以做吗
  • 在线性布局内的 ScrollView 内并排对齐 TextView

    我有一个带有滚动视图的线性布局 我想保留它的当前格式 但只需将 textView2a 和 textView3a 并排放置 而不会破坏我当前的布局格式 我已经包含了我最近的尝试 但它们似乎不正确 提前致谢 Java菜鸟 当前有效的 XML
  • PHP 和 DOM 文档

    我有一个关于 DOMDocument 的使用和创建 XML 的问题 我有一个 PHP 程序 加载到 XML 文件中 处理XML的每个节点 行 将其发送到另一个进程 然后该进程返回一个 XML 元素 我获取节点的字符串表示形式 以便可以创建
  • 主题以编程方式设置。如何重新加载 Activity 来应用

    如何在不重新启动整个应用程序的情况下应用主题 如果我这样做startActivity getIntent finish 活动退出并且不重新启动 是否可以简单地重新启动 重新创建活动来应用主题 它的顺序不正确 finish intent ne
  • 如何去除 XSL 中字符的重音符号?

    我一直在寻找 但找不到相当于字符 规范化空间 的 XSL 函数 也就是说 我的内容带有重音 UNICODE 字符 这很好 但是从该内容中 我正在创建一个文件名 但我不想要这些重音 那么 是否有一些我忽略的东西 或者没有正确地谷歌搜索来轻松处
  • CakePHP Xml 实用程序库触发 DOMDocument 警告

    我正在使用 CakePHP 在视图中生成 XMLXML核心库 http book cakephp org 2 0 en core utility libraries xml html xml Xml build data array ret
  • Jackson XML ArrayList 输出具有两个包装器元素

    我在 Jackson 生成的 XML 输出中得到了两个包装器元素 我只想拥有一个 我有一个 Java bean Entity Table name CITIES JacksonXmlRootElement localName City pu
  • 在 iOS 上使用 Web 服务的最佳方式?

    我想构建一个 iOS 应用程序 让您登录到网络服务 之后 应用程序将 当用户选择时 通过 https 发送登录名 密码以及请求的变量 例如 在请求 新闻更新 后 它将收到 XML 格式的请求信息 类似于
  • 使用 Jackson 使用不带注释的属性来序列化 xml

    我目前正在使用 Jackson 编写一些代码 将遗留 POJO 序列化为 XML 但我需要使用属性而不是子元素来序列化它们 有没有办法使用 Jackson 来做到这一点 而不需要向遗留类添加注释 有没有办法使用 Jackson 来做到这一点
  • Android - 保存动态更改布局的状态

    我有一个布局 用户可以在其中添加按钮并将其放置在他们想要的位置 我想允许用户保存他们的布局 以便下次打开应用程序时加载它 有谁知道我是否可以将文件保存到 SD 卡上 或者 我可以使用某种layout getXml 方法并将其放入我的应用程序
  • 菜单未显示在应用程序中

    由于某种原因 我的操作菜单在我的 Android Studio 应用程序中消失了 我正在按照教程学习如何创建 Android 应用程序 但最终遇到了这个问题 我正在使用 atm 的教程 http www raywenderlich com
  • Java 中的 XPath 节点集

    我在 eclipse 中有这段代码 NodeSet nodes NodeSet xPath evaluate expression inputSource XPathConstants NODESET 它给我 NodeSet 上的编译时错误
  • 计算 XML 中特定 XML 节点的数量

    请参阅此 XML
  • Text::平衡和多行 xml

    看来我有点失落了 我需要解析一个大的 大约 100 mb 且相当难看的 xml 文件 如果我使用parsefile 它返回错误 文档元素后的垃圾 但它会很乐意解析文件的较小元素 所以我决定将文件分解为元素并解析它们 由于不鼓励使用正则表达式

随机推荐

  • 添加VNC开机启动

    1 添加开机启动文件 sudo nano etc init d tightvncserver 2 添加文件内容 bin sh BEGIN INIT INFO Provides tightvncserver Required Start sy
  • 以太网链路聚合&交换机堆叠集群

    随笔一篇 xff0c 以便日后翻阅 xff0c 如有问题欢迎指正 目录 前言 链路聚合技术原理一 基本原理二 基本术语及概念1 聚合组2 成员接口 amp 成员链路3 活动接口 amp 活动链路4 非活动接口 amp 非活动链路5 聚合模式
  • C#使用Setting保存用户自定义窗体位置

    1 首先引用原文 C 中使用Setting保存用户自定义窗体位置 C 中使用Setting保存用户自定义窗体位置 2008 11 06 步骤一 xff1a 打开项目属性窗口 xff0c 切换到设置 Settings 标签 xff0c 如下图
  • Keil5点击编译正常,烧录和调试直接闪退

    我在WIN11的环境下 xff0c 安装了目前ST官网上最新的MDK538 xff0c 刚刚下载好的前两天一切正常 xff01 但是就在刚刚出现了Keil编译正常 xff0c 使用正点原子的STLink烧录器下载却直接给我闪退 xff0c
  • Shell变量 —— 变量的赋值与引用

    Shell 变量的赋值与引用 变量用于存储数据由字母 数字或下划线组成 xff0c 并且只能以字母或下划线开头 xff0c 大小写的意义是不同的弱类型的语言 xff0c 变量存储的一切值都是字符串 到那时必要的时候 xff0c 是要是由数值
  • 利用USRP探索软件无线电(3)

    1 引言 上一篇描述了利用GQRX查看频谱和记录信号文件的过程 xff0c 本篇将实际录制和分析AM和FM信号 AM和FM虽然历史悠久 xff0c 且均为简单的模拟调制信号 xff0c 但是生命力很强 xff0c 目前仍有很多业务在使用 常
  • Linux安装配置FTP(pure-ftpd)

    1 默认的yum源没有提供pure ftpd xff0c 所以需要先安装epel release扩展源 然后使用yum命令安装pure ftpd yum span class token function install span epel
  • Linux文件检测和坏道检测(fsck、badblocks)

    文章目录 一 文件系统检测fsck二 磁盘坏道检测badblocks 一 文件系统检测fsck 命令功能fsck t dev sda1指定文件系统格式 xff0c 现在linux系统可以自动识别文件系统 xff0c 通常不需要此参数 fsc
  • VMware安装Centos8系统(中文图形化模式)

    文章目录 一 软件 系统镜像二 创建虚拟机三 安装CentOS8四 登录系统五 配置固定IP便于远程管理 一 软件 系统镜像 软件 xff1a VMware 14 镜像 xff1a CentOS8 镜像官网下载地址 xff1a http m
  • centos7系统kdump.service启动失败的解决方法

    1 查看系统启动的服务状态 systemctl list units type span class token operator 61 span service 2 编辑 etc default grub 文件 xff0c 修改crash
  • Linux磁盘故障和文件系统修复(救援模式Centos7、Centos8)

    文章目录 问题一 xff1a 文件系统分区变成只读文件系统 xff0c 无法写入新文件 新数据 问题二 xff1a 在Linux运行过程中 xff0c 有时会因为误操作导致磁盘故障 xff0c 系统无法启动 Linux救援模式 问题一 xf
  • linux安装最新版docker(centos7、centos8)

    文章目录 一 安装docker二 安装Docker镜像加速站三 下载docker镜像 xff08 以centos为例 xff09 xff0c 创建centos容器 xff0c 查看运行容器的IP四 容器设置固定的IP地址五 一款Docker
  • Linux安装最新版Nginx,配置解析php(centos7)

    文章目录 Nginx介绍一 安装编译工具及库文件二 安装PCRE xff0c 作用是让Nginx支持Rewrite功能三 安装Nginx四 测试Nginx五 Nginx常用命令六 安装PHP xff0c 配置nginx解析php Nginx
  • yum安装软件,提示没有可用的软件包解决方法(Centos 7、Centos8)

    文章目录 一 问题描述 xff08 以nginx为例 xff09 二 解决的方法 xff1a 安装epel release软件包三 EPEL简介 一 问题描述 xff08 以nginx为例 xff09 Centos 7下安装nginx xf
  • linux安装zabbix4,添加监测客户机(centos7)(一)

    文章目录 一 linux系统配置二 yum安装zabbix server三 配置zabbinx server四 登陆zabbix server xff0c 设置中文语言五 被监控客户端部署zabbix agent六 添加被监测客户机 软件版
  • linux安装使用git(centos7、centos8)

    文章目录 一 Git简介二 安装Git三 Git全局配置四 创建Git本地仓库五 Git版本回退 一 Git简介 Git是分布式版本控制系统 xff0c svn是集中式 集中式VS分布式 xff1a 集中式版本控制系统 xff0c 版本库集
  • 搜索和下载英文文献常用的网站

    最近导师要求对我们的研究课题进行一个综述整理以及ppt展示 xff0c 中文文献可以到知网上去查找 xff0c 不过知网上的外国文献基本上都很滞后 xff0c 无法拿来作为参考 xff0c 所以就滋生了对于国外期刊和会议论文的需求 搜索以下
  • zabbix监控方式(agent)(二)

    一 zabbix agent方式 xff08 被动模式 xff09 1 被动模式工作流程 xff1a zabbix server打开一个tcp连接 xff1b zabbix server放送一个key为agent ping n的请求 xff
  • MakBookAir系统(macOS Mojave10.14.2)安装双系统方法(win10)

    掉过的坑 1 W官网下载的64位ISO镜像内 xff0c 镜像解压后包含的单个文件大于4G xff0c 当使用BootCamp助理写入U盘时 xff08 U盘会被格式成FAT32 xff0c 不支持大于4G的单个文件拷贝 xff09 xff
  • SUMO文档016:XML文件验证

    XMLValidation xff08 XML验证 xff09 1 XML输入的验证 所有的SUMO应用程序都支持对输入的XML验证 为了实现功能 xff0c 以下的选项可以使用 xff1a Option Description X lt