Deutsch
Germany.ruФорумы → Архив Досок→ Программирование

​Такая тяпничная задачка...

18.10.19 16:31
​Такая тяпничная задачка...
 
Murr патриот
Murr

Такая тяпничная задачка...


Исходно: дан хмл-документ, определяющий свой собственный формат.

Требуется: прокси класс для работы с данным документом.

Из известных проблем:

- часть информации связывается не структурой документа, но содержимым полей.

Вот пример:


<?xml version="1.0" encoding="utf-8" ?>

<xs:schema
elementFormDefault="qualified="
attributeFormDefault="unqualified="
xmlns:xs="http:=//www.w3.org/2001/XMLSchema"
xmlns:edm="http://schemas.microsoft.com/ado/2009/11/edm"
targetNamespace="http://schemas.microsoft.com/ado/2009/11/edm"
>
<xs:complexType name="TSchema">
<xs:sequence>
<xs:group ref="edm:GSchemaBodyElements" minOccurs="0" maxOccurs="unbounded" />
<xs:any namespace="##other" processContents="lax" minOccurs="0" maxOccurs="unbounded" />
</xs:sequence>
</xs:complexType>
<xs:group name="GSchemaBodyElements">
<xs:choice>
<xs:element name="Using" type="edm:TUsing" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="Association" type="edm:TAssociation" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="ComplexType" type="edm:TComplexType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="EntityType" type="edm:TEntityType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="EnumType" type="edm:TEnumType" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="ValueTerm" type="edm:TValueTerm" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="Function" type="edm:TFunction" minOccurs="0" maxOccurs="unbounded" />
<xs:element name="Annotations" type="edm:TAnnotations" minOccurs="0" maxOccurs="unbounded" />
<xs:element ref="edm:EntityContainer" minOccurs="1" maxOccurs="1" />
</xs:choice>
</xs:group>

</xs:schema>


Здесь через GSchemaBodyElements определяется висящее отдельным списком группировка компонентиков.


Эээ... Меня не инересует класс-представление - сделать его и набить коллекциями никакой проблемы не представляет.

Меня интересует именно прокси-класс - данные остаются на месте и с ними работаем напрямую - удаляем/меняем/добавляем...

 

Перейти на