XSD: Что означает атрибут "name" для элемента "anyAttribute"? - PullRequest
2 голосов
/ 13 октября 2011

Я сейчас читаю спецификацию для BPMN 2.0 . В этой спецификации определения частей BPMN приведены в виде схем XML.

В одной из этих схем (Таблица 8.3, стр. 54) я наткнулся на строку, которая для меня не имеет смысла:

<xsd:element name="definitions" type="tDefinitions"/>
  <xsd:complexType name="tDefinitions">
  ...
    <xsd:anyAttribute name="exporter" type="xsd:ID"/>
  ...

Что меня озадачивает, так это использование атрибута «name» в сочетании с элементом «xsd: anyAttribute». Если я правильно понял определение элемента , его цель - разрешить использование "неизвестных" атрибутов, которые не указаны в схеме. Так что может быть целью ограничения "xsd: anyAttribute" конкретным именем "экспортером" вместо простого указания (необязательного) атрибута с этим именем?

Ответы [ 2 ]

1 голос
/ 14 октября 2011

Вероятно, это просто ошибка в документации, и они имеют отступ для объявления атрибута, используя xsd:attribute.

xsd:anyAttribute не имеет @name.

<anyAttribute
  id = ID
  namespace = ((##any | ##other) | List of (anyURI | (##targetNamespace | ##local)) )  : ##any
  processContents = (lax | skip | strict) : strict
  {any attributes with non-schema namespace . . .}>
  Content: (annotation?)
</anyAttribute>
0 голосов
/ 14 октября 2011

Элемент anyAttribute позволяет автору расширять документ XML атрибутами, не указанными в схеме.

Источник: http://www.w3schools.com/schema/el_anyattribute.asp

Здесь будет все, что вам нужно знать! Вы должны видеть этот любой атрибут как подстановочный знак.

...