Appendix A: Keywords and properties parsing
The resource enumeration XML return by the resource enumeration service contains keywords and properties elements. For resources derived from XenApp, XenDesktop, or VDI-in-a-box, these values are generated from the mark-up in the description field of the corresponding resource. The description field is then ‘tidied up’ to remove this mark-up.
The keyword/property parser looks for the string KEYWORDS: (case-insensitive). If found, all text after that string is treated as keyword/property mark-up. The mark-up is made up of the following tokens separated by one or more spaces:
<property>=<value>
<property>="<quoted-value>"
<keyword>
Where:
-
<property>
, <value>
and <keyword>
are strings made up of any characters other than space
, =
or "
.
-
<quoted-value>
is a string made up of any character other than "
.
The keywords are collected into a single list.
All property entries with the same property name are collected together to give a multiple-valued property.
Some concrete examples:
Original description in XenApp and XenDesktop (plus comment) |
Description as returned by StoreFront Services |
Keywords |
Properties |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
“My description” (Basic description without mark-up) |
“My description” |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
“My description KEYWORDS: kw1 kw2 (Description with keyword mark-up) |
“My description” |
kw1 kw2
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
“My description keywords: name1=a name2=b name1=”the rain in Spain” (Description with keyword and property mark-up) |
“My description” |
|
a
|
“My description keywords: name1=a name2=b name1=”the rain in Spain” (Description with keyword and property mark-up) |
“My description” |
|
<property propertyId=”name1”> a\\The rain in Spain\ \</property><property propertyId=”name2”> b</property> </properties>
|
lt;/value> |
“My description keywords: name1=a name2=b name1=”the rain in Spain” (Description with keyword and property mark-up) |
“My description” |
|
<property propertyId=”name1”> a\\The rain in Spain\ \</property><property propertyId=”name2”> b</property> </properties>
|
lt;value>The rain in Spain |
“My description keywords: name1=a name2=b name1=”the rain in Spain” (Description with keyword and property mark-up) |
“My description” |
|
<property propertyId=”name1”> a\\The rain in Spain\ \</property><property propertyId=”name2”> b</property> </properties>
|
lt;/value> |
“My description keywords: name1=a name2=b name1=”the rain in Spain” (Description with keyword and property mark-up) |
“My description” |
|
<property propertyId=”name1”> a\\The rain in Spain\ \</property><property propertyId=”name2”> b</property> </properties>
|
lt;/property> b</property> </properties>
|
“My description keywords: name1=a name2=b” (Description with misformatted mark-up - a misspelled KEYWORDS: token) |
“My description keywords: name1=a name2=b “ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
“My description KEYWORDS: kw1 name1=a kw2 name2=b kw3” (Description with interspersed keywords and properties.) |
“My description” |
kw1 kw2 kw3
|
a
|
“My description KEYWORDS: kw1 name1=a kw2 name2=b kw3” (Description with interspersed keywords and properties.) |
“My description” |
kw1 kw2 kw3
|
<property propertyId=”name1”> a \</property> <property propertyId=”name2”> b </property>
|
lt;/property> b </properties> |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
“My description KEYWORDS: name1=a Name1=b “(Property names are case- sensitive.) |
“My description” |
|
a
b
</properties>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The official version of this content is in English. Some of the Cloud Software Group documentation content is machine translated for your convenience only. Cloud Software Group has no control over machine-translated content, which may contain errors, inaccuracies or unsuitable language. No warranty of any kind, either expressed or implied, is made as to the accuracy, reliability, suitability, or correctness of any translations made from the English original into any other language, or that your Cloud Software Group product or service conforms to any machine translated content, and any warranty provided under the applicable end user license agreement or terms of service, or any other agreement with Cloud Software Group, that the product or service conforms with any documentation shall not apply to the extent that such documentation has been machine translated. Cloud Software Group will not be held responsible for any damage or issues that may arise from using machine-translated content.
DIESER DIENST KANN ÜBERSETZUNGEN ENTHALTEN, DIE VON GOOGLE BEREITGESTELLT WERDEN. GOOGLE LEHNT JEDE AUSDRÜCKLICHE ODER STILLSCHWEIGENDE GEWÄHRLEISTUNG IN BEZUG AUF DIE ÜBERSETZUNGEN AB, EINSCHLIESSLICH JEGLICHER GEWÄHRLEISTUNG DER GENAUIGKEIT, ZUVERLÄSSIGKEIT UND JEGLICHER STILLSCHWEIGENDEN GEWÄHRLEISTUNG DER MARKTGÄNGIGKEIT, DER EIGNUNG FÜR EINEN BESTIMMTEN ZWECK UND DER NICHTVERLETZUNG VON RECHTEN DRITTER.
CE SERVICE PEUT CONTENIR DES TRADUCTIONS FOURNIES PAR GOOGLE. GOOGLE EXCLUT TOUTE GARANTIE RELATIVE AUX TRADUCTIONS, EXPRESSE OU IMPLICITE, Y COMPRIS TOUTE GARANTIE D'EXACTITUDE, DE FIABILITÉ ET TOUTE GARANTIE IMPLICITE DE QUALITÉ MARCHANDE, D'ADÉQUATION À UN USAGE PARTICULIER ET D'ABSENCE DE CONTREFAÇON.
ESTE SERVICIO PUEDE CONTENER TRADUCCIONES CON TECNOLOGÍA DE GOOGLE. GOOGLE RENUNCIA A TODAS LAS GARANTÍAS RELACIONADAS CON LAS TRADUCCIONES, TANTO IMPLÍCITAS COMO EXPLÍCITAS, INCLUIDAS LAS GARANTÍAS DE EXACTITUD, FIABILIDAD Y OTRAS GARANTÍAS IMPLÍCITAS DE COMERCIABILIDAD, IDONEIDAD PARA UN FIN EN PARTICULAR Y AUSENCIA DE INFRACCIÓN DE DERECHOS.
本服务可能包含由 Google 提供技术支持的翻译。Google 对这些翻译内容不做任何明示或暗示的保证,包括对准确性、可靠性的任何保证以及对适销性、特定用途的适用性和非侵权性的任何暗示保证。
このサービスには、Google が提供する翻訳が含まれている可能性があります。Google は翻訳について、明示的か黙示的かを問わず、精度と信頼性に関するあらゆる保証、および商品性、特定目的への適合性、第三者の権利を侵害しないことに関するあらゆる黙示的保証を含め、一切保証しません。
ESTE SERVIÇO PODE CONTER TRADUÇÕES FORNECIDAS PELO GOOGLE. O GOOGLE SE EXIME DE TODAS AS GARANTIAS RELACIONADAS COM AS TRADUÇÕES, EXPRESSAS OU IMPLÍCITAS, INCLUINDO QUALQUER GARANTIA DE PRECISÃO, CONFIABILIDADE E QUALQUER GARANTIA IMPLÍCITA DE COMERCIALIZAÇÃO, ADEQUAÇÃO A UM PROPÓSITO ESPECÍFICO E NÃO INFRAÇÃO.