Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > тип данных атрибута


Автор: chief39 7.12.2005, 15:11
Преамбула:

Столкнулся с таким, что породило такой вопрос
В мануалах подробного разжёвывания этого нюанса не нашёл
Раскапывание спецификации чуть не ввергло в сон
Посему прошу совета (За мануал с разжёвыванием - отдельный спасиб smile )

Амбула:

Из мануального примера:
Код

<!ATTLIST counter data_long CDATA #FIXED "LONG">


Пояснения к этому примеру:
Цитата
Задав атрибуту значение по умолчанию LONG и определив его как FIXED, мы позволили тем самым программе-клиенту получить необходимую информацию о типе содержимого данного элемента, и теперь она может самостоятельно определить соответствие типа этого содержимого указанному в DTD- определении .


Вопрос(1):
Как этот модификатор сообразуется с #REQUIED и #IMPLIED?
Т.е. Можно ли отдельно задавать тип и отдельно указывать обязательность/необязательность атрибута?
Если да - как?
Если нет - то какой выбор нам предлагается ?

Вопрос(2):
Как происходит смапливание типа данных на тип ЯП? Ведь на разных системах и в разных ЯП инт инту рознь... (В джаве, я так понимаю, проблем не возникнет с этим? smile просто интересно как в остальных )

Вопрос(3):
Когда происходит проверка содержимого типу? Эта ответственность ложится на хрупкие плечи парсера? (т.е. он при разборе проверяет значения?). Или это уже забота разработчика, который парсит? Если страдают плечи разработчика - как в JAVA проверить тип атрибута? (используя #FIXED)

Эпилог:

Спасибо ин адванс smile




Автор: LSD 7.12.2005, 15:17
Цитата(chief39 @ 7.12.2005, 15:11)
Как происходит смапливание типа данных на тип ЯП? Ведь на разных системах и в разных ЯП инт инту рознь... (В джаве, я так понимаю, проблем не возникнет с этим?  просто интересно как в остальных )

Зависит от реализации. В Java JAXB все числа мапит на BigDecimal. В остальных языках не знаю, но думаю берется тип который способон вместить любое значение которое может принять поле.

Цитата(chief39 @ 7.12.2005, 15:11)
Эта ответственность ложится на хрупкие плечи парсера?

Да.

Автор: chief39 7.12.2005, 15:28

LSD, спасибо.
А этого:
Цитата(chief39 @ 7.12.2005, 15:11)
опрос(1):
Как этот модификатор сообразуется с #REQUIED и #IMPLIED?
Т.е. Можно ли отдельно задавать тип и отдельно указывать обязательность/необязательность атрибута?
Если да - как?
Если нет - то какой выбор нам предлагается ?

не подскажешь?

Я, собственно, и тему ради этого вопроса создал smile((


ПС: МАЯ ЗА НАГА, АДНАКА!!! ФАКи пропустил. Во позорище-то smile
Но от подсказок всё равно не откажусь...

Автор: LSD 7.12.2005, 15:30
Цитата(chief39 @ 7.12.2005, 15:28)
А этого:
...
не подскажешь?

Вот это не подскажу, я схемой работаю. DTD как то ни разу применять не приходилось.

Автор: chief39 7.12.2005, 15:45
Жаль smile

Ну что ж, оставим пока сей вопрос, благо ответа не нарыл нигде....
Пока и без сего работает.

Заодно и в "схемы" есть резон заглянуть...

LSD, а можно преимущество и суть схем в двух словах? Дабы тему не заводить отдельную.... Вечерком, могёт быть, ими и заинтересуюсь

Автор: LSD 7.12.2005, 16:01
Приведу цитату с http://www.w3schools.com/schema/schema_why.asp:
Цитата
XML Schemas - Why?
XML Schema has Support for Data Types

One of the greatest strengths of XML Schemas is the support for data types.
With the support for data types:
- It is easier to describe permissible document content
- It is easier to validate the correctness of data
- It is easier to work with data from a database
- It is easier to define data facets (restrictions on data)
- It is easier to define data patterns (data formats)
- It is easier to convert data between different data types

XML Schemas use XML Syntax

Another great strength about XML Schemas is that they are written in XML.

Because XML Schemas are written in XML:
- You don't have to learn another language
- You can use your XML editor to edit your Schema files
- You can use your XML parser to parse your Schema files
- You can manipulate your Schema with the XML DOM
- You can transform your Schema with XSLT

XML Schemas Secure Data Communication

When data is sent from a sender to a receiver it is essential that both parts have the same "expectations" about the content.

With XML Schemas, the sender can describe the data in a way that the receiver will understand.

A date like this: "03-11-2004" will, in some countries, be interpreted as 3. November and in other countries as 11. March, but an XML element with a data type like this:

<date type="date">2004-03-11</date>

ensures a mutual understanding of the content because the XML data type date requires the format YYYY-MM-DD.

XML Schemas are Extensible

XML Schemas are extensible, just like XML, because they are written in XML.

With an extensible Schema definition you can:
-Reuse your Schema in other Schemas
-Create your own data types derived from standard types
-Reference multiple schemas from the same document


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

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)