用XML定义常量

时间:2013-07-03 05:17:04

标签: xml

如何在XML文档中定义常量,例如

<?xml version="1.0"?>
<City>
   <Name>Seattle</Name>
   <State>WA</State>
</City>

<City>
   <Name>Tacoma</Name>
   <State>WA</State>
</City>

如何定义像“State = WA”这样的变量并在元素中将其用作值?

3 个答案:

答案 0 :(得分:2)

XML可以表示结构化信息,您可以通过向XML添加DTD或XSD来强制执行标记的结构。但是你不能用我们在编程语言中思考的方式来表示常量或变量。

答案 1 :(得分:2)

问题是很久以前的,但也许其他人迷迷糊糊了……以下可能是您想要的:

<?xml version="1.0"?>
<!DOCTYPE resources [
   <!ENTITY state "WA">
]> 
<City>
   <Name>Seattle</Name>
   <State>&state;</State>
</City>

<City>
   <Name>Tacoma</Name>
   <State>&state;</State>
</City>

答案 2 :(得分:1)

您可以使用实体引用,例如&state;,其中实体的扩展在DTD中定义。更灵活的是,您可以使用XInclude。但我会用XSLT做到这一点。例如

 <xsl:stylesheet....>

 <xsl:param name="state"/>

 <xsl:template name="content">
  <City>
    <Name>Seattle</Name>
    <State><xsl:value-of select="$state"/></State>
  </City>

  <City>
    <Name>Tacoma</Name>
    <State><xsl:value-of select="$state"/></State>
  </City>
 </xsl:template>

然后你可以调用提供参数值的样式表。