- From: Aleksi Niemelä <aleksi.niemela@cinnober.com>
- Date: Mon, 10 Jan 2000 18:20:21 +0100
- To: "'XML List'" <xml-dev@ic.ac.uk>, "'xml-schema-comments'" <www-xml-schema-comments@w3c.org>
<warning>
<topic>
I'm can see need for more powerful <any>
(http://www.w3.org/TR/xmlschema-1/#declare-openness).
My problem is probably repeated few times on xml-dev or
http://lists.w3.org/Archives/Public/www-xml-schema-comments/, and
since I don't know where to discuss about schemas, I'd like to hear
about better place for this discussion.
</topic>
<discussion level='beginner'>
Don't kill me. I started with schemas on
Saturday and I bumped into problem with my first exercise schema (so I
concluded
there have to be real need for this, not just something from my
imagination).
</discussion>
</warning>
How to express some constraints on <any> element? As I see it,
specification doesn't provide any ways for this. (Correct me,
please!:)
What is the right way to express such simple thing as "any element
with child X".
I'd like to reform rule 1 at 3.5 Wildcards (and rest accordingly):
o Any well-formed XML element item with specified type constraint:
any tag, any namespace, any attributes, any content, as long
as it's well-formed and satisfy specified schema's type constraint.
I can come up with different ways to express same thing:
<any type='Type'/>
<element type='Type'/>
<element name='' type='Type'/>
But since regular expressions are now introduced, I'd love to use
them:
<element name='*' type='Type'/>
<element name='*' ref="VaryingName1"/>
Allowing references in the consturct is very important!
Maybe star wildcard is just enough, but I can make some real use for
real patterns too:
<element name='expect_varying_named_binary_operators'>
<element name='(and|or|own.+BinaryOperator)'
type='BinaryOperator'/>
</element>
<type name='BinaryOperator'>
<element name='*' type='Operand'/>
<element name='*' type='Operand'/>
</type>
========
document_written_by_some_completely_different_user.xml:
========
<expect_varying_named_binary_operators>
<own_ultimately_weird_BinaryOperator>
<op1/>
<op2/>
</own_ultimately_weird_BinaryOperator>
</expect_varying_named_binary_operators>
----------------
In the end I thought a little bit about usability and thought it
might be better idea to set varying names to different attribute than
name on <element>-element.
<element match='*'> like in xsl might be best solution.
Any ideas, comments?
- department of uncensored ideas
Received on Monday, 10 January 2000 12:20:58 UTC