使用 XSD 在 XSLT 中鸭式输入元素
我正在 XSL 中创建一个函数,它接受 XML 元素作为参数。我对此 XML 元素有一定的期望:例如,它必须具有
子元素和
子元素。因此,以下两个元素之一都是可以接受的:
<person>
<id>1234</id>
<age>16</age>
<address><city>NYC</city><state>NY</state></address>
<name>J. Random</name>
</person>
<company corp="false">
<name>ACME, Inc.</name>
<founded>1973</founded>
.
.
.
<id>6785</id>
</company>
请注意,我不关心元素名称、
和
出现的顺序,以及该元素具有的任何其他子元素(或属性)。
我可以在 XSD 中表达此要求,并将其用于
的 as
属性吗?
I'm creating a function in XSL which accepts an XML element as a parameter. I have certain expectations from this XML element: for example, it must have a <name>
subelement and an <id>
subelement. So either of the following two elements are acceptable:
<person>
<id>1234</id>
<age>16</age>
<address><city>NYC</city><state>NY</state></address>
<name>J. Random</name>
</person>
<company corp="false">
<name>ACME, Inc.</name>
<founded>1973</founded>
.
.
.
<id>6785</id>
</company>
Note that I don't care about the element name, the order in which <name>
and <id>
appear, and any other sub-elements (or attributes) the element has.
Can I express this requirement in XSD, and use it for the as
attribute of an <xsl:param>
?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以在 XSD 中定义一个复杂类型,其唯一要求是内容包含名称和 id 元素,但我不确定这是否是一件非常有用的事情;我认为您会以一种不应该使用的方式使用类型系统,并且您最终可能会发现它令人沮丧,尽管我不知道您到底会在哪里遇到困难。
You could define a complex type in XSD whose only requirements are that the content includes a name and an id element, but I'm not sure this would be a very useful thing to do; I think you would be using the type system in a way it wasn't intended to be used and you would probably end up finding it frustrating, though I don't know exactly where you would hit difficulties.