热门标签 | HotTags
当前位置:  开发笔记 > Android > 正文

网页编程必看:XML文法分析

在进行XML文法分析之前,首先有必要懂得XML语法的基础规矩:词法特点:1)XML区分大小写,如元素名在打开和封闭标记中应保持大小写一致mytag/mytag,XML的保留词串应符合大小写请求

 在进行XML文法分析之前,首先有必要懂得XML语法的基础规矩:

 词法特点:1)XML区分大小写,如元素名在打开和封闭标记中应保持大小写一致,XML的保留词串应符合大小写请求 …。

 2)XML保留标记字符为:<> &,保留字符不答应呈现在元素名、元素文本、属性名、属性值中,<用户打开标记,>用于封闭标记,&用于转意,常见的转意为 <天生<,>天生>,&天生&,&apos天生’,"天生”

 3)元素名以下划线或字母开端,可包含字母、数字、句点、连字符、下划线、冒号和用于其他语言的扩大字符,元素名中不能有空格符(分格符、跳格符、换行符、回车符),元素名可以由名域前缀。如: 元素文本可以是除XML保留字符外的字符聚集,如 my money is $2000

 4)属性名的规矩同元素名,属性值由单引号或双引号括约其中,可由除XML保留字符以外的字符串组成,如:。属性名有xmlns前缀,表明该属性定义了一个名域,如:

 句法特点:1)XML文档由一个XML阐明、多个可选的文档阐明、多个可选的XML指令、多个可选的XML注释和一个根元素的数据体组成,此外还可以有嵌进语句中的CDATA段,如:

以下为引用的内容:
/*XML阐明*/
   /*XML文档阐明*/
   /*XML注释*/
   /*XML指令*/
   /*根数据元素*/
  
  …
  

  

 2)XML阐明由标封闭,其中包含版本、编码等可选阐明,如:

 3)XML文档阐明由封闭,如:

 4)XML指令由封闭,如:

 5)XML注释由封闭,如:

 6)XML元素由<元素名>打开,由/>,或封闭,元素的打开和封闭标记相互匹配,如…,XML的元素答应嵌套,应此还应保持层次上的匹配,如..

 7)CDTATA段由打开,由]]>封闭,用于使居于其中的语句规避XML解析规矩。如:

 根据以上的XML文法特点,可以结构出用于词法分析的正则式和用于句法分析的下推主动机结构。

 XML词法正则式:

 #define digit [1,2,…,9] /*数字字符*/
 #define letter [a,b,…,z,A,B,…,Z] /*字母字符*/
 #define signs [~, ! , @, #, %, ^, &,*,(, ), ?, :, ;, “, ‘, ,, ., /,-, _, , =, |, \] /*符号字符*/
 #define ascii2 [0x80,…,0xFF] /*ASCII chart2 扩大字符*/
 #define space [0x20, \t, \r, \n] /*空格符,跳格符,回车符,换行符*/
 #define reserve [<, >, &] /*XML保留字符*/

 1) 元素名的正则式:

 element_name -> (_ | letter | ascii2) (ε| _ | - | : | . | digit | letter | signs | ascii2)*

 2) 元素文本的正则式:

 element_text -> (ε| not reserve)*

 3) 属性名的正则式:

 proper_name -> (_ | letter | ascii2) (ε| _ | - | : | . | digit | letter | signs | ascii2)*

 4) 属性文本的正则式:

 proper_value -> (ε| not reserve)*




推荐阅读
  • YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程
    本文介绍了关于人工智能、神经网络和深度学习的知识点,并提供了YOLOv7基于自己的数据集从零构建模型完整训练、推理计算的详细教程。文章还提到了郑州最低生活保障的话题。对于从事目标检测任务的人来说,YOLO是一个熟悉的模型。文章还提到了yolov4和yolov6的相关内容,以及选择模型的优化思路。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • EPICS Archiver Appliance存储waveform记录的尝试及资源需求分析
    本文介绍了EPICS Archiver Appliance存储waveform记录的尝试过程,并分析了其所需的资源容量。通过解决错误提示和调整内存大小,成功存储了波形数据。然后,讨论了储存环逐束团信号的意义,以及通过记录多圈的束团信号进行参数分析的可能性。波形数据的存储需求巨大,每天需要近250G,一年需要90T。然而,储存环逐束团信号具有重要意义,可以揭示出每个束团的纵向振荡频率和模式。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • 本文介绍了设计师伊振华受邀参与沈阳市智慧城市运行管理中心项目的整体设计,并以数字赋能和创新驱动高质量发展的理念,建设了集成、智慧、高效的一体化城市综合管理平台,促进了城市的数字化转型。该中心被称为当代城市的智能心脏,为沈阳市的智慧城市建设做出了重要贡献。 ... [详细]
  • 本文介绍了使用AJAX的POST请求实现数据修改功能的方法。通过ajax-post技术,可以实现在输入某个id后,通过ajax技术调用post.jsp修改具有该id记录的姓名的值。文章还提到了AJAX的概念和作用,以及使用async参数和open()方法的注意事项。同时强调了不推荐使用async=false的情况,并解释了JavaScript等待服务器响应的机制。 ... [详细]
  • 学习笔记(34):第三阶段4.2.6:SpringCloud Config配置中心的应用与原理第三阶段4.2.6SpringCloud Config配置中心的应用与原理
    立即学习:https:edu.csdn.netcourseplay29983432482?utm_sourceblogtoedu配置中心得核心逻辑springcloudconfi ... [详细]
  • 目录实现效果:实现环境实现方法一:基本思路主要代码JavaScript代码总结方法二主要代码总结方法三基本思路主要代码JavaScriptHTML总结实 ... [详细]
  • Android中高级面试必知必会,积累总结
    本文介绍了Android中高级面试的必知必会内容,并总结了相关经验。文章指出,如今的Android市场对开发人员的要求更高,需要更专业的人才。同时,文章还给出了针对Android岗位的职责和要求,并提供了简历突出的建议。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • [译]技术公司十年经验的职场生涯回顾
    本文是一位在技术公司工作十年的职场人士对自己职业生涯的总结回顾。她的职业规划与众不同,令人深思又有趣。其中涉及到的内容有机器学习、创新创业以及引用了女性主义者在TED演讲中的部分讲义。文章表达了对职业生涯的愿望和希望,认为人类有能力不断改善自己。 ... [详细]
  • baresip android编译、运行教程1语音通话
    本文介绍了如何在安卓平台上编译和运行baresip android,包括下载相关的sdk和ndk,修改ndk路径和输出目录,以及创建一个c++的安卓工程并将目录考到cpp下。详细步骤可参考给出的链接和文档。 ... [详细]
  • 20211101CleverTap参与度和分析工具功能平台学习/实践
    1.应用场景主要用于学习CleverTap的使用,该平台主要用于客户保留与参与平台.为客户提供价值.这里接触到的原因,是目前公司用到该平台的服务~2.学习操作 ... [详细]
  • 如何用UE4制作2D游戏文档——计算篇
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了如何用UE4制作2D游戏文档——计算篇相关的知识,希望对你有一定的参考价值。 ... [详细]
  • 安卓select模态框样式改变_微软Office风格的多端(Web、安卓、iOS)组件库——Fabric UI...
    介绍FabricUI是微软开源的一套Office风格的多端组件库,共有三套针对性的组件,分别适用于web、android以及iOS,Fab ... [详细]
author-avatar
平平您好
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有