2009-03-12 12 views
0

Est-il possible d'inclure le caractère [dans un nom d'élément xml?Comment inclure [dans le nom d'élément xml

Par exemple

<AWSECommerceService.ItemSearch.ItemSearch.Request[0].SearchIndex>Electronics</AWSECommerceService.ItemSearch.ItemSearch.Request[0].SearchIndex> 

La raison de ceci est que l'utilisation des valeurs d'entrée de requête cachée SVG sont spécifiées à l'aide des éléments XML dont le nom indique la clé de la demande.

Par exemple:

<xforms:model id="form1"> 
<xforms:instance> 
    <q>toyota</q> 
    </xforms:instance> 
<xforms:submission id="submit1" xforms:method="get" xforms:action="http://www.google.ca/search" /> 

se traduirait par une demande de http://www.google.ca/search?q=toyota

Répondre

5

Vous ne pouvez pas - ce n'est pas une partie valide d'un nom d'élément XML.

De the spec:

Les symboles ASCII et ponctuation marques, avec un assez grand groupe de caractères de symboles Unicode, sont exclus des noms parce qu'ils sont plus utiles comme délimiteurs dans des contextes où Les noms XML sont utilisés en dehors des documents XML ; fournir ce groupe donne ces contextes durs garantit environ ce qui ne peut pas faire partie d'un nom XML.

Suit BNF pour ce est permis:

NameStartChar ::= ":" | [A-Z] | "_" | [a-z] | [#xC0-#xD6] 
        | [#xD8-#xF6] | [#xF8-#x2FF] | [#x370-#x37D] 
        | [#x37F-#x1FFF] | [#x200C-#x200D] 
        | [#x2070-#x218F] | [#x2C00-#x2FEF] 
        | [#x3001-#xD7FF] | [#xF900-#xFDCF] 
        | [#xFDF0-#xFFFD] | [#x10000-#xEFFFF] 

NameChar  ::= NameStartChar | "-" | "." | [0-9] | #xB7 
        | [#x0300-#x036F] | [#x203F-#x2040] 

Name   ::= NameStartChar (NameChar)* 

Names   ::= Name (#x20 Name)* 

Nmtoken  ::= (NameChar)+ 

Nmtokens  ::= Nmtoken (#x20 Nmtoken)* 
+0

Merci pour la réponse! Ceci est une sérieuse limitation de svg xforms puis que vous pourriez avoir besoin de paramètres de requête qui ont [dans leur nom et je n'ai pas trouvé d'autre moyen d'inclure des paramètres cachés dans une requête qu'en définissant des éléments xforms (éléments xml) qui ne sont pas lié à un contrôle de l'interface utilisateur – user54729

3

Pas possible. Le XML spec définit un nom d'élément comme étant un NameStartChar suivi de NameChar s et aucun d'entre eux ne contient des crochets

Questions connexes