Вход на сайт
Такая тяпничная задачка...
357
18.10.19 16:31
Такая тяпничная задачка...
Исходно: дан хмл-документ, определяющий свой собственный формат.
Требуется: прокси класс для работы с данным документом.
Из известных проблем:
- часть информации связывается не структурой документа, но содержимым полей.
Вот пример:
<?xml version="1.0" encoding="utf-8" ?><xs:schemaelementFormDefault="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 определяется висящее отдельным списком группировка компонентиков.
Эээ... Меня не инересует класс-представление - сделать его и набить коллекциями никакой проблемы не представляет.
Меня интересует именно прокси-класс - данные остаются на месте и с ними работаем напрямую - удаляем/меняем/добавляем...