是否有任何标准,事实上的或其他的,适用于XML文档?例如,写标签的"最佳"方式是什么?
<MyTag />
<myTag />
<mytag />
<my-tag />
<my_tag />
同样,如果我有一个属性的枚举值更好
<myTag attribute="value one"/>
<myTag attribute="ValueOne"/>
<myTag attribute="value-one"/>
是否有任何标准,事实上的或其他的,适用于XML文档?例如,写标签的"最佳"方式是什么?
<MyTag />
<myTag />
<mytag />
<my-tag />
<my_tag />
同样,如果我有一个属性的枚举值更好
<myTag attribute="value one"/>
<myTag attribute="ValueOne"/>
<myTag attribute="value-one"/>
我怀疑最常见的命名方式是驼峰式 - 即
<myTag someAttribute="someValue"/>
特别是,如果将空格与代码生成器(即将xml序列化/反序列化为对象)混合使用,会导致一些问题,因为不多的编程语言允许枚举类型中包含空格(需要在二者之间建立映射关系)。
- Element names are case-sensitive
- Element names must start with a letter or underscore
- Element names cannot start with the letters xml(or XML, or Xml, etc)
- Element names can contain letters, digits, hyphens, underscores, and periods
- Element names cannot contain spaces
- Create descriptive names, like this: <person>, <firstname>, <lastname>.
- Create short and simple names, like this: <book_title> not like this: <the_title_of_the_book>.
- Avoid "-". If you name something "first-name", some software may think you want to subtract "name" from "first".
- Avoid ".". If you name something "first.name", some software may think that "name" is a property of the object "first".
- Avoid ":". Colons are reserved for namespaces (more later).
- Non-English letters like éòá are perfectly legal in XML, but watch out for problems if your software doesn't support them.
XML元素没有定义命名风格,但以下是一些常用的命名方法:
- Lower case <firstname> All letters lower case
- Upper case <FIRSTNAME> All letters upper case
- Underscore <first_name> Underscore separates words
- Pascal case <FirstName> Uppercase first letter in each word
- Camel case <firstName> Uppercase first letter in each word except the first
我倾向于使用TitleCase来命名元素,使用camelCase来命名属性。两者都不加空格。
<AnElement anAttribute="Some Value"/>
顺便提一下,我快速搜索了一下XML的最佳实践,并找到了这个相当有趣的链接:XML schemas: Best Practices。
我倾向于使用小写或驼峰式标签,因为属性通常应该反映数据值 - 而不是内容 - 所以我会坚持使用可以在任何平台/语言中用作变量名的值,即避免空格,但另外两种形式可能也可以。
这是主观的,但是如果一个元素标签中有两个单词,添加下划线(例如<my_tag>
)而不是不使用分隔符可以增强可读性。参考资料:http://www.w3schools.com/xml/xml_elements.asp。因此根据w3schools的说法,答案应该是:
<my_tag attribute="some value">
值不需要使用下划线或分隔符,因为在属性值中允许使用空格,但在元素标签名称中不允许。
rss可能是世界上最常用的XML模式之一,而且它采用了驼峰命名法。
规范在这里:http://cyber.law.harvard.edu/rss/rss.html
尽管在模式中没有节点属性,但所有节点元素名称都是采用驼峰命名法。例如:
lastBuildDate managingEditor pubDate
微软采用两种惯例:
对于配置,微软使用驼峰命名法。可以查看Visual Studio的配置文件。例如VS2013的配置文件存储在:
C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe.config
示例:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
示例:
<MenuItem Header="Open..." Command="ApplicationCommands.Open">
<MenuItem.Icon>
<Image Source="/Images/folder-horizontal-open.png" />
</MenuItem.Icon>
</MenuItem>
没有明确的建议。基于W3C的其他建议,例如XHTML的建议,我选择使用小写:
4.2. 元素和属性名称必须小写
XHTML文档必须对所有HTML元素和属性名称使用小写。这种差异是必要的,因为XML区分大小写,例如<li>和<LI>是不同的标记。