Ian*_*oyd 117 xml case-sensitive
XML中有关于元素大小写的正式建议吗?
我知道XHTML使用小写元素名称(而不是HTML,它通常使用大写但不区分大小写.)
但我在谈论XML的通用内容.
<customer>
<accountnumber>619</accountnumber>
<name>Shelby Lake</name>
</customer>
Run Code Online (Sandbox Code Playgroud)
<customer>
<accountNumber>619</accountNumber>
<name>Shelby Lake</name>
</customer>
Run Code Online (Sandbox Code Playgroud)
<Customer>
<AccountNumber>619</AccountNumber>
<Name>Shelby Lake</Name>
</Customer>
Run Code Online (Sandbox Code Playgroud)
<CUSTOMER>
<ACCOUNTNUMBER>619</ACCOUNTNUMBER>
<NAME>Shelby Lake</NAME>
</CUSTOMER>
Run Code Online (Sandbox Code Playgroud)
注意:我正在寻找被引用的指导而不是意见.但是,最多投票的意见可以被视为一个指导方针.
Pet*_*ham 87
源自W3C的大多数XML标准倾向于使用带有连字符的小写.
有看到XML作为平台中立的文件,其中W3C标准尽量鼓励和语言如XAML其中看到XML作为一个平台特定的对象图的序列化格式之间的哲学区别.
如果你不使用XML作为一个平台中立的文档格式,但作为一个专用的序列化,那么你还不如保存自己的一些麻烦,并有一个1:XML名称和平台特定名称之间的一一对应.但是为了这个目的,几乎任何其他对象图格式都比XML更好.
如果你是,那么你可能想要适应XHTML,XSLT,SVG,XProc,RelaxNG和其他.
Met*_*urf 62
这并不重要,但我总是偏向于PascalCase for Elements和camelCase的属性:
<Root>
<ParentElement attributeId="1">
<ChildElement attributeName="foo" />
</ParentElement>
</Root>
Run Code Online (Sandbox Code Playgroud)
lav*_*nio 30
没有正式的建议.
由于XML的设计具有保存文档和在不同系统之间交换信息的双重目的,因此设计它是为了能够匹配使用它的应用程序.
因此.Net XML倾向于使用ProperCasing(见证XAML),而其他XML将使用camelCasing,python_conventions,dot.naming甚至COBOL-CONVENTIONS.W3C似乎喜欢小写与短划线(相当于一点点)(例如XSLT)或仅仅是低速行动(例如MathML).
我喜欢所有的小写,没有下划线,因为这意味着更少使用[Shift]键,我的手指有点懒.:)
Koe*_*eef 23
添加到Metro Smurf的答案.
国家信息交换模型(NIEM:http://en.wikipedia.org/wiki/National_Information_Exchange_Model)说要使用:
当您希望符合某些标准时,NIEM是一个很好的选择.
olu*_*ies 13
有关 若干标准中使用的一些示例规则,请参阅UN/CEFACT XML命名和设计规则技术规范版本3.0第23页.
细节(2009年12月17日版本3.0第23页):
Ric*_*ard 12
为了扩展我上面的评论:在XSLT中使用带有连字符的小写字母有一些问题.具体而言,很容易将称为"年龄与年龄"的节点混淆为公式"年龄 - 年龄"(例如,从年份中减去年龄).
正如@KarlKieninger指出的那样,这只是人类层面的问题而不是XSLT解析器.然而,由于这通常不会产生错误,因此使用'带小写连字符'作为标准是要求麻烦,恕我直言.
一些相关的例子:
<a>1</a><b>1</b>
<xsl:value-of select="a+b"/>
outputs 2, as expected
<a>1</a><b>1</b>
<xsl:value-of select="a-b"/>
DOES NOT ERROR, BUT OUTPUTS NOTHING AT ALL
Run Code Online (Sandbox Code Playgroud)
在上面的代码中,必须在减法运算符之前放置至少一个空格,但是对于加法运算符没有这样的要求.
<a-b>1</a-b><c>1</c>
<xsl:value-of select="a-b -c"/>
outputs 0, as expected
Run Code Online (Sandbox Code Playgroud)
但请注意以上是多么令人困惑的阅读!
<a>1</a><a-b>3</a-b><b>2</b>
<xsl:value-of select="a-b"/>
outputs 3
<a>1</a><a-b>3</a-b><b>2</b>
<xsl:value-of select="a -b"/>
outputs -1
Run Code Online (Sandbox Code Playgroud)
单个空格的存在会改变上面的输出,但这两个变量都不是错误.
| 归档时间: |
|
| 查看次数: |
59198 次 |
| 最近记录: |