Как включить [в имя элемента xml - PullRequest
0 голосов
/ 13 марта 2009

Есть ли способ включить символ [в имя элемента xml?

Например

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

Причиной использования этого является то, что в SVG скрытые запросы вводят значения, используя элементы xml, имя которых указывает ключ запроса.

Например:

  <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" />

приведет к запросу http://www.google.ca/search?q=toyota

Ответы [ 2 ]

5 голосов
/ 13 марта 2009

Вы не можете - это недопустимая часть имени элемента XML.

С Спецификация :

Символы ASCII и знаки препинания оценки вместе с довольно большой группой символов Unicode, являются исключены из имен, потому что они более полезно в качестве разделителей в контекстах где имена XML используются вне XML документы; при условии, что эта группа дает эти контексты жесткие гарантии о что не может быть частью имени XML.

Затем следует BNF для того, что разрешено :

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)*
3 голосов
/ 13 марта 2009

Не возможно. XML spec определяет имя элемента как NameStartChar, за которым следует NameChar s, и ни один из них не содержит квадратных скобок

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...