Re: http:location grammar

Phillippe,
can you please explain the meaning of CharData? I can probably guess what it
is, but I don't understand the notation [^{}]*

I Googled on EBNF and LR(k) and understand optional group [..], repeating
group {..} and zero-or-more *, but I'm not sure what {} means in this
context and the only reference I could find to the circumflex ^ was in ISO
14977 which just described it as an other-character.

thanks,
John.

On 1/12/07, Philippe Le Hegaret <plh@w3.org> wrote:
>
>
> Using EBNF, the grammar to be applied to the Infoset value of
> http:location is:
>
> httpLocation ::= CharData? (( openBrace | closeBrace | elementName )
> CharData?)*
>
> CharData ::= [^{}]*
>
> openBrace ::= '{{'
>
> closeBrace ::= '}}'
>
> elementName ::= '{' QName '}'
>
> The lexical space of QName is defined in the namespace specification and
> is also equivalent to xsd:QName. I believe we only support element
> declarations with namespaces so this explains the use QName instead of
> Name.
>
> This gives the following results (same as Jonathan's, with an additional
> one):
>
> "{town}"       > {town}           >  "Paris"
> "{{town}}"     > {{,town,}}       >  "{town}"
> "{{{town}}}"   > {{,{town},}}     >  "{Paris}"
> "{{{{town}}}}" > {{,{{,town,}},}} >  "{{town}}"
> "{{town}"      > {{,town,}        >  ERROR
> "{{{town}"     > {{,{town}        >  "{Paris"
> "{town}}"      > {town},}         >  ERROR
> "{town}}}"     > {town},}}        >  "Paris}"
> "{t{o}wn}"     > {t{o}wn}         >  ERROR
>
> I believe this is an LR(k) grammar by the way, with an unlimited k
> (QName is unlimited). It's possible k could be bounded to 1 by adding
> more states but we don't need to worry about that here.
>
> Now, unless I missed a sentence or two in the specifications, here are
> two questions:
>
> With:
> "{town}"       > {town}           >  "Paris"
> "{tr:town}"       > {tr:town}           >  "Paris"
>
> What are the namespaces associated with "town" or "tr:town"? We store
> {http location} in the content model as an xs:anyURI but we don't keep
> the namespaces in scope around despite the fact that further processing
> might need them to resolve the qnames. Should we clarify that namespace
> resolution is done according to the namespaces in scope and/or add a
> property to keep those namespaces in scope around? By just using the
>
> MessageTest-1G defines the following:
>
> <xs:schema elementFormDefault="qualified"
>       xmlns:xsmt="http://example.org/message-test/xsd">
> <xs:element name="EchoInt" type="xsmt:intStruct"/>
> <xs:complexType name="intStruct">
>      <xs:sequence>
>          <xs:element name="int" type="xs:int"/>
>      </xs:sequence>
> </xs:complexType>
> </xs:schema>
> [...]
> <interface>
> <operation name="EchoInt"
>       style="http://www.w3.org/2006/01/wsdl/style/iri">
>       <input element="xsmt:EchoInt"/>
>       <output element="xsmt:echoIntReturn"/>
> </operation>
> </interface>
> [...]
> <binding>
>     <operation ref="tns:EchoInt"
>       wsoap:action="http://example.org/message-test/action/EchoInt"
>       whttp:location="?op=EchoInt;int={int};" />
> </binding>
>
> Shouldn't it be {xsmt:int} instead?
>
>
> Philippe
>
>
>
>
>

Received on Friday, 12 January 2007 23:47:04 UTC