powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSD: Расширение стандартных атрибутов схемы
6 сообщений из 6, страница 1 из 1
XSD: Расширение стандартных атрибутов схемы
    #37341231
Фотография Хнык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Как то можно для стандартных типов схемы сделать свои аттрибуты? Например, как в этом примере я для xs:element добавил свой атрибут myattr с каким-то значением.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
             targetNamespace="urn:Справочники.Цены"
             elementFormDefault="unqualified" >
  <xs:complexType name="Цена">
    <xs:sequence>
      <xs:element name="Валюта" default="RUB" myattr="SomeValue">
        <xs:simpleType>
          <xs:restriction base="xs:string">
            <xs:enumeration value="RUB"/>
            <xs:enumeration value="USD"/>
            <xs:enumeration value="EUR"/>
          </xs:restriction>
        </xs:simpleType>
      </xs:element>
      <xs:element name="Сумма" type="xs:decimal" default="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>

Берегитесь, чтобы кто не прельстил вас. Ибо многие придут под именем Моим, и будут говорить: 'Я Морж', и многих прельстят.
...
Рейтинг: 0 / 0
XSD: Расширение стандартных атрибутов схемы
    #37342337
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая цель преследуется?
...
Рейтинг: 0 / 0
XSD: Расширение стандартных атрибутов схемы
    #37343088
Фотография Хнык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Расширить стандартные атрибуты для element.

MyNamespace.MyAttr="SomeValue", тоже пойдёт.
...
Рейтинг: 0 / 0
XSD: Расширение стандартных атрибутов схемы
    #37343186
Фотография Хнык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В частности, я нашёл следующий xsd:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
            xmlns:sql="urn:schemas-microsoft-com:mapping-schema"
            xmlns:CO="urn:MyNamespace" 
            targetNamespace="urn:MyNamespace" >
<xsd:annotation>
  <xsd:appinfo>
    <sql:relationship name="CustOrders"
          parent="Sales.Customer"
          parent-key="CustomerID"
          child="Sales.SalesOrderHeader"
          child-key="CustomerID" />
  </xsd:appinfo>
</xsd:annotation>
  
  <xsd:element name="Customer" 
               sql:relation="Sales.Customer" 
               type="CO:CustomerType" />
 
  <xsd:complexType name="CustomerType" >
     <xsd:sequence>
        <xsd:element name="Order" 
                     sql:relation="Sales.SalesOrderHeader"
                     sql:relationship="CustOrders"
                     type="CO:OrderType" />
     </xsd:sequence>
        <xsd:attribute name="CustomerID"   type="xsd:string" /> 
        <xsd:attribute name="SalesPersonID"  type="xsd:string" />
  </xsd:complexType>
  <xsd:complexType name="OrderType" >
     <xsd:attribute name="SalesOrderID" type="xsd:integer" />
     <xsd:attribute name="CustomerID" type="xsd:string" />
  </xsd:complexType>
</xsd:schema>

Здесь для element указывается доп. атрибут sql:relation, который задаётся в пространстве имён "urn:schemas-microsoft-com:mapping-schema".
Не могу найти информации, как это было сделано.
...
Рейтинг: 0 / 0
XSD: Расширение стандартных атрибутов схемы
    #37349612
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как то можно для стандартных типов схемы сделать свои аттрибуты?
Разрешены лишь атрибуты из объявленных неймспейсов. Просто myAttr не проканает.
Это работает так: xs:element, например, является расширением типа xs:annotated, который является расширением xs:openAttrs.
Вот этот базовый тип и его суть (+ http://www.raleigh.ru/XML/forum/discussion.php?article=c9ho8d%24n19%241@host.talk.ru&;mode=tree]тынц ):
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
<xs:complexType name="openAttrs">
    <xs:annotation>
      <xs:documentation>
        This type is extended by almost all schema types
        to allow attributes from other namespaces to be
        added to user schemas.
      </xs:documentation>
    </xs:annotation>
    <xs:complexContent>
      <xs:restriction base="xs:anyType">
        <xs:anyAttribute namespace="##other" processContents="lax"/>
      </xs:restriction>
    </xs:complexContent>
  </xs:complexType>
Сама схема .
...
Рейтинг: 0 / 0
XSD: Расширение стандартных атрибутов схемы
    #37350453
Фотография Хнык
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSD: Расширение стандартных атрибутов схемы
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]