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文件验证 的相关文章

随机推荐

  • 添加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