Декларация нулевая для ип: скачать бланк и образец заполнения для УСН доходы и доходы минус расходы

Содержание

Нулевая отчетность ИП и ООО | Cдача нулевой отчетности (нулевой декларации) по УСН и ЕНВД — Эльба

Нулевая декларация по УСН, если нет доходов и расходов

Нули в декларации легко объяснить отсутствием доходов.

Налоговая может засомневаться в правдивости сведений и проверить ваш счёт в банке. Если поступлений не было, вопросы отпадут. Если вы всё же получали деньги на счёт, скорее всего, вам направят требование о пояснениях. В такой ситуации важно объяснить налоговой, что это за деньги и почему вы не показали их в декларации. Например, в составе доходов не нужно учитывать пополнение счёта личными деньгами или возврат долга.

Подробности про УСН в статье «Упрощённая система налогообложения».

6-НДФЛ, если весь год не платили сотрудникам

Отчёт 6-НДФЛ нужно сдавать, если физлица получают от вас доходы — зарплату, дивиденды или беспроцентный заём. В годовой 6-НДФЛ входят и справки 2-НДФЛ, которые до 2021 года сдавали отдельно.

Если весь год не платили физикам, отчитываться не нужно, потому что в течение налогового периода вы не были налоговым агентом. 6-НДФЛ может быть нулевым. 

Если человек получает от вас доход хотя бы раз за год, вы сдаёте 6-НДФЛ за тот квартал, в котором заплатили, и дальше до конца года.

Например, 15 апреля 2021 года ваше ООО выдало дивиденды учредителю. Вам предстоит сдать 6-НДФЛ за полугодие, 9 месяцев и год по итогам 2021 года.

Об отчётности по НДФЛ в статье «Как подготовить отчёт 6-НДФЛ».

РСВ и 4-ФСС, если нет сотрудников

Расчёт по страховым взносам в налоговую и 4-ФСС в фонд социального страхования сдают ИП с сотрудниками и все ООО.

Если у ИП в течение года нет работников, сдавать РСВ и 4-ФСС не нужно.

ООО отчитываются всегда. Если в организации нет сотрудников, сдайте нулевую отчётность, но это может привести к претензиям со стороны государства.

Дело в том, что ООО — это отдельная организация, в интересах которой действует директор. Зачастую в небольших фирмах работу директора выполняет сам учредитель. Он не платит себе зарплату и получает доходы в виде дивидендов. Но по трудовому законодательству директор — такой же сотрудник, как и все остальные, поэтому ему положена зарплата.

Особенно подозрительно контролёры относятся к фирмам, которые получают доходы, но сдают нулёвки по сотрудникам. Могут потребовать разъяснений, доначислить взносы и оштрафовать.

Подробнее о директоре в ООО мы написали в статье «Даже если директор — учредитель ООО, ему положена зарплата».

СЗВ-М без сотрудников

СЗВ-М — ежемесячный отчёт в пенсионный фонд, который содержит список всех ваших сотрудников.

Если вы ИП без сотрудников, сдавать СЗВ-М не нужно.

А в ООО есть хотя бы один сотрудник — директор, и его нужно показывать в СЗВ-М.

По поводу того, нужно ли сдавать СЗВ-М на директора-единственного учредителя, с которым не оформлен договор, нет единого мнения. Сам ПФР выпустил два письма с противоположными позициями. По письму от 6 мая 2016 года сдавать СЗВ-М нужно в любом случае, а уже в письме от 27 июля 2016 года ПФР говорит, что такой обязанности нет.

Мы рекомендуем трудоустроить директора хотя бы на неполную ставку и сдавать за него СЗВ-М и другие отчёты как за обычного сотрудника. Если с директором не оформлен трудовой договор, у контролирующих органов могут возникнуть вопросы. Читайте подробности об этом в статье.

Если вы всё-таки не хотите трудоустраивать учредителя, задайте в ваш ПФР вопрос, нужно ли показывать директора без трудового договора в СЗВ-М — у разных управлений могут быть разные мнения.

Если организация приостановила бизнес, не получает доходы, и в ней нет нанятых сотрудников, сдавать СЗВ-М не нужно. Такие разъяснения даёт ПФР на своём сайте.

Статья: как отчитаться после того, как уволили всех сотрудников

СЗВ-ТД, когда нет сотрудников

СЗВ-ТД — отчёт в ПФР о кадровых событиях.

ИП без сотрудников не сдают СЗВ-ТД, показывать в отчёте самого индивидуального предпринимателя не надо.

Нулевой формы отчёта не предусмотрено. 

Если директор устроен в организации по трудовому договору, то СЗВ-ТД необходимо сдавать, как и на любого другого сотрудника. При приёме и увольнении — не позже чем на следующий рабочий день после издания приказа. Если происходили другие кадровые события, отчёт отправляют до 15 числа следующего месяца. 

Если трудовой договор с учредителем не заключен, то сдавать СЗВ-ТД не нужно.

Статья: электронные трудовые книжки и СЗВ‑ТД

СЗВ-СТАЖ без сотрудников

СЗВ-СТАЖ — ежегодный отчёт в ПФР о стаже сотрудников. 

Индивидуальные предприниматели, у которых нет сотрудников, отчёт не сдают. Нулевой формы СЗВ-СТАЖ не бывает. 

Организациям необходимо сдавать отчёт, даже если с учредителем не заключён трудовой договор. Об этом говорится в Постановлении Правления ПФ РФ от 06.12.2018 № 507П. Если единственный директор-учредитель не получает зарплату, в поле Исчисление страхового стажа → Дополнительные сведения указывают «НЕОПЛ». 

Статья: отчётность в ПФР за сотрудников

Нулевая бухотчётность ООО

Каждый год все ООО сдают бухгалтерскую отчётность, в которой отражают годовые итоги деятельности — деньги на счетах, имущество, долги, прибыль или убытки.

Бухотчётность не бывает нулевой, даже если вы не вели бизнес. В каждой организации есть уставный капитал, размер которого вы определяете при регистрации бизнеса и вносите на счёт в банке. Его нужно отразить в бухотчётности.

Статья о том, как вести бухучёт самому, — «Бухучёт без бухгалтера: что нужно знать ООО».

В Эльбе есть специальный тариф для ООО, которые сдают нулевую отчётность. О подробностях читайте на специальной странице.

Сдавайте отчётность в три клика

Эльба — онлайн-бухгалтерия для ИП и ООО. Сервис подготовит отчётность, посчитает налоги и освободит время для полезных дел.

Полезно запомнить 

Бывают нулевыми Не бывают нулевыми
  • Декларация по УСН
  • Расчёт по страховым взносам
  • 4-ФСС
  • 6-НДФЛ
  • Бухотчётность ООО
  • СЗВ-М
  • СЗВ-ТД
  • СЗВ-СТАЖ
  • Декларация по ЕНВД

«Нулевая» декларация ИП и ЮЛ на УСН: образец и правила заполнения

Если организация или предприниматель в отчетном периоде не вели деятельность и не получали дохода, либо совмещая деятельность УСН с другой системой налогообложения «упрощенку» не применяли (не было ни одной операции), то необходимо  заполнить и предоставить в налоговую инспекцию «нулевую» налоговую декларацию.

Заполнение «нулевой» отчетности на конкретном примере

ИП или ЮЛ на УСН должны заполнить три листа документа:

при объекте налогообложения «доходы» — титульный лист, раздел 1.1 и 2.1.1;

при объекте налогообложения «доходы минус расходы» — титульный лист, раздел 1.2 и 2.2.



Заполним «нулевую» отчетность на примере ИП на УСН с объектом налогообложения «доходы». Для формирования документа будем использовать онлайн инструмент в левой колонке сайта.

В блоке «Сведения о налогоплательщике» указываем объект налогообложение (в нашем случае «доходы»), затем ставку налогов по кварталу. Чаще всего она составляет 6%, но зависит от регионального законодательства и может быть меньше.

Так, как за отчетный период не было не одной операции, в блоке «Доходы» оставляем нули.

В блоке «Уплачено взносов в ПФР и ФФОМС» ставим галочку «ИП не производит выплаты физ.лицам». Это значит, что за отчетный налоговый период у предпринимателя не было наемных сотрудников. В полях кварталов оставляем нули, даже если взносы платились. Впрочем, можно даже эти взносы вписать, но они, при формировании «нулевой» декларации, учтены не будут, так как эти поля нужны для уменьшения начисленного налога, а, в нашем случае, он равен нулю.

Далее ставим галочку «Сформировать документ для печати» и в появившемся блоке «Данные для титульного листа» заполняем обязательные поля отмеченные оранжевой звездочкой.

Поле ФИО: указываем фамилию, имя отчество индивидуального предпринимателя. Никакие обозначения добавлять не нужно (например  ИП).

Поле ИНН: вносим ИНН налогоплательщика.

Далее идет поле КПП, но его предпринимателю заполнять не нужно. В дальнейшем необязательные поля не будут упоминаться.

Поле Номер корректировки: оставляем ноль.

Поле Налоговый период (код): оставляем 34, если сдаем отчетность за год, или ставим 50 в случае закрытия ИП.

Поле Отчетный год: оставляем 2020.

Поле Налоговый орган (код): указываем номер налоговой инспекции. Если он неизвестен, в подсказке рядом с полем есть ссылка для выяснения этого номера.

Поле По месту нахождения (код): оставляем число 120.

Поле ОКВЭД: вносим основной код экономической деятельности (можно посмотреть в выписке из ЕГРИП).

Поле Контактный телефон: хоть это поле и не является обязательным, но заполнить его желательно. Вдруг сотрудникам ИФНС потребуются дополнительные пояснения по отчетности.

Поле Код по ОКТМО: если вы заполнить данное поле затрудняетесь, воспользуйтесь подсказкой.

Поле Дата документа: ставите не дату заполнения документа, а дату его подачи. Это поле можно очистить, а впоследствии вписать дату от руки (она указывается на двух страницах документа).

Образец заполненной нулевой декларации ИП на УСН вы можете скачать в формате PDF. Данный документ сформирован с помощью онлайн-сервиса, представленного в левой колонке сайта.

Автор статьи Буренин Виктор

Автор цикла статей, посвященных оптимизации налогообложения и сдаче налоговой отчетности при УСН, администратор и консультант сайта deklaraciya-usn.ru по указанным проблемам. Предприниматель с 2004 […]

Нулевая отчетность (декларация) ИП и нулевой баланс ООО, стоимость услуг в Москве: цены 17.04.21

Нулевая отчетность — комплекс бухгалтерской и налоговой отчётности, представляемой налогоплательщиком, не ведущим финансово-хозяйственную деятельность, либо временно приостановившим ее. Наша компания предлагает подготовку и сдачу нулевой отчетности юридическим лицам и индивидуальным предпринимателям по Москве и Московской области.

Почему услугу «Нулевая отчетность» выгодно заказать нам?

  • Экономия времени.
    С помощью ООО МОСЮРГАРАНТ вы сможете подготовить и сдать нулевую отчетность не выходя из офиса (дома), если воспользуетесь услугами наших курьеров.
  • Разумная стоимость.

    Сколько стоит нулевая отчетность? МОСЮРГАРАНТ нацелен на долгосрочное сотрудничество, пусть даже в перспективе, а не на сиюминутную прибыль. Отсюда и политика цен.
  • Удобная форма оплаты.
    МОСЮРГАРАНТ работает как за наличный, так и за безналичный расчет.
  • Скидки.
    При заключении договора на услугу «Нулевая отчетность» сроком на год, вы получаете 10% скидку.

Подготовка, составление и сдача отчета ООО или ИП

При составлении нулевой декларации по ОСН или УСН бухгалтером ООО МОСЮРГАРАНТ выполняется:

  • Подготовка нулевого баланса
  • Отправка по почте, либо сдача нашими же специалистами

Выезд курьера – бесплатно.
Консультация – бесплатно.

Документы для нулевого баланса, фонды ФСС, ПФР и ФОМС

  • выписка из ЕГРЮЛ
  • копии учредительных документов вашего предприятия
  • свидетельство о постановке во внебюджетных фондах: ФСС (Фонде социального страхования), ПФР (Пенсионном фонде России), ФОМС (Фонде обязательного медицинского страхования).
  • паспортные данные, ИНН руководителя и главного бухгалтера (при их наличии)
  • данные об открытых расчетных счетах
  • последний сданный баланс
  • выписки из банка (в случае списания комиссии за обслуживание счета, выдачу справок и т.д.)

Нулевой отчет

Срок выполнения услуги «Нулевая отчетность»

Зависит от особенностей Вашей фирмы. Уточните по тел. +7(499) 408-98-12

Публикация
Нулевая отчетность
подготовлена для сайта mosjurgarant.ru Отделом услуг ООО МОСЮРГАРАНТ.
Адрес: Москва, СВАО, Останкинский район, проспект Мира 105, стр. 1.
Телефон: (499) 408-98-12
Ближайшие станции метро: Алексеевская, ВДНХ.

Нулевая декларация по ЕНВД для ИП

В большинстве налоговых режимов отсутствие деятельности предполагает подачу в ИФНС нулевой декларации без обозначения какой-либо суммы налога к уплате. Однако иначе обстоят дела в ситуации, когда речь идет о применении ЕНВД.

Когда важен факт регистрации

Напомним, что расчет ЕНВД не зависит от реальных показателей деятельности ИП или организации. Вмененный доход определяется исходя из коэффициентов, установленных на федеральном и региональном уровне, а также физических показателей, характеризующих конкретный вид деятельности. Вставший на учет плательщик ЕНВД обязан ежеквартально подавать налоговую декларацию, заполненную исходя из данных показателей, а также уплачивать сам налог. Отсутствие фактической деятельности – это повод для того, чтобы сняться с учета в качестве плательщика ЕНВД. До этого же момента говорить о нулевом вмененном налоге, равно как и о нулевой декларации по ЕНВД нельзя. Впрочем, после снятия с вмененного учета подавать какие-либо декларации по ЕНВД вовсе не нужно. В последний раз бывший вмененщик отчитается лишь за тот квартал, в котором он был снят с учета, при этом в расчете ЕНВД будет учтен тот факт, что деятельность была прекращена до окончания отчетного квартала.

В то же время в течение периода действия регистрации в качестве плательщика вмененного налога у коммерсанта могут меняться значимые для расчета ЕНВД показатели, например площадь торгового зала или количество работников. Таким образом, вариации на тему сумм налога, если они отличны от нуля, вполне допустимы, а вот нулевой вмененный налог – это явление, которое в природе не встречается.

Впрочем, данная позиция не всегда была настолько однозначной.

Альтернативная позиция и окончательный вердикт

Так, в письме ФНС России от 27 августа 2009 г. № ШС-22-3/669@ представители ведомства все же сделали вывод о том, что при отсутствии фактической деятельности, но до момента снятия с вмененного учета ИП или ООО вправе не уплачивать налог и подавать нулевые декларации по ЕНВД. Данный вывод авторы документа подтверждают в том числе информационным письмом Президиума ВАС, однако же тут нужно отметить, что в последнем речь идет вовсе не о ЕНВД, а о тех налогах, которые напрямую зависят от доходов. Так что надо сказать, вывод, основанный на учете фактических показателей осуществляемой или приостановленной деятельности, а не на традиционных для вмененки фиксированных коэффициентах, весьма странен.

Со временем противоречивость выводов, сделанных в письме ФНС, подтвердили и специалисты Минфина. Письмом финансового ведомства от 15 апреля 2014 г. № 03-11-09/17087 документ, рожденный в кулуарах ФНС, был признан недействительным.

Основание для этого как раз очень логично, и полностью укладывается в положения Налогового кодекса: отсутствие в налоговом периоде физических показателей, используемых для исчисления ЕНВД, означает прекращение предпринимательской деятельности, облагаемой вмененным налогом. В этом случае у бизнесмена возникает обязанность снятия с учета в качестве плательщика вмененного налога в установленном пунктом 3 статьи 346.28 Налоговым кодекса порядке. Однако до снятия с учета в качестве плательщика ЕНВД сумма вмененного налога должна исчисляться по зарегистрированному виду предпринимательской деятельности исходя из имеющихся физических показателей и базовой доходности в месяц.

Если же по каким-то причинам физические показатели, необходимые для исчисления вмененного налога обнуляются (например, прекращается договор аренды торгового зала, а новый договор предприниматель заключить еще не успел), то рассчитывать налог следует исходя из величины физического показателя, отраженной в последней декларации по ЕНВД. Такое предписание в частности содержится в письме Минфина от 24 октября 2014 г. № 03-11-09/53916.

Таким образом, вариант того, как не уплачивать вмененный налог, может быть лишь один – это снятие с учета в качестве плательщика ЕНВД. Если же регистрация вмененщика по каким-то причинам сохраняется, то избежать уплаты налога даже при отсутствии фактической деятельности не удастся. Соответственно и образца нулевой декларации по ЕНВД для ИП или компании быть попросту не может.

Нулевая отчетность для предприятий, организаций, фирм и индивидуальных предпринимателей (ИП)

Организация, предприятие или индивидуальный предприниматель обязаны, следуя законодательству, в установленный срок сдать отчеты в налоговые органы, внебюджетные фонды и органы статистики. Даже если по каким-то причинам ваша фирма на протяжении определенного времени не вела хозяйственную деятельность, соответственно не начислялась и не выплачивалась заработная плата (не было движений по кассе, банку), вы обязаны предоставлять ежеквартально в налоговые органы нулевую отчетность. При этом не стоит тешить себя надеждами, что составление нулевого отчета фирмы, предприятия или организации — это не трудоемкая и простая операция с бумагами.

Нулевая отчетность, сдача которой должна производиться без опозданий, обязана быть заполненной исходя из требований существующего законодательства. Соответственно, в составлении такой документации может разобраться только специалист, которому известны все нюансы и последние изменения в законодательных документах. Нулевая отчетность предоставляется в строго регламентированные сроки не только в налоговые органы, но и параллельно в пенсионный фонд и органы статистики. Помощь в составлении необходимой документации окажут специалисты нашей консалтинговой компании.

Даже в том случае если у вас есть минимальные навыки в составлении нулевой отчетности, это совсем не гарантирует, что вы сможете сдать ее вовремя. Как результат, несвоевременная сдача влечет за собой наложение установленных законодательством штрафных санкций. Но если своевременно побеспокоиться и заключить договор с нашей компанией на предоставление услуг по сдаче нулевой отчетности, то вы можете не переживать, что все необходимые данные будут предъявлены в пенсионный фонд или другой контролирующий орган вовремя и в установленной форме.

 

Нулевая отчетность включает в себя :

При общей системе налогообложения
1) Единая (упрощенная) налоговая декларация, которая заменяет декларацию по налогу на прибыль, декларацию  по налогу на имущество, декларацию по налогу на добавленную стоимость.
2) Отчетность в ПФР
3) Отчетность в органы статистики 
4) Отчетность в ФСС
5) Баланс  форма 1 и 2

При упрощенной системе налогообложения
1) Налоговая декларация по налогу, уплачиваемому в связи с применением УСН 
2) Книга учета доходов и расходов
3) Отчетность в ПФР
4) Отчетность в ФСС
5) Отчетность в органы статистики

Сведения о среднесписочной численности работников за предшествующий календарный год представляются налогоплательщиками, в том числе Индивидуальными Предпринимателями в налоговый орган не позднее 20 января текущего года, а в случае создания (реорганизации) организации — не позднее 20-го числа месяца, следующего за месяцем, в котором организация была создана (реорганизована).

Основные понятия:

Нулевой отчет, нулевая отчетность, нулевая декларация— обязательная форма бухгалтерской отчетности, утвержденная Правительством РФ для организаций, хозяйственная деятельность в которых не ведется, а также отсутствует движение денежных средств по расчетному счету.

Подготовка и сдача бухгалтерской и налоговой отчетности

Нулевая отчетность ИП и ООО

С какого момента можно перейти на другую систему налогообложения? Или с любого месяца? Эта система для меня выгоднее, но как я почитал, сложнее в учете. Это так?

Дорогие читатели! Наши статьи рассказывают о типовых способах решения юридических вопросов, но каждый случай носит уникальный характер.

Если вы хотите узнать, как решить именно Вашу проблему — обращайтесь в форму онлайн-консультанта справа или звоните по телефонам, представленным на сайте. Это быстро и бесплатно!

Образец заполнения нулевой декларации

Юрий 1 апреля , Например, в Эльбе я указал нули. Ишеев Кирилл 8 мая , Юрий, не путайте: отчетность подается по итогам года, а не квартала. Видимо, речь шла о том, что доход за квартал равен «0». Если я угадал, то платить ничего не надо : Аполлов Юрий 9 мая , То есть налог можно платить каждый квартал, но отчётность подавать всё равно только в начале следующего?

Ишеев Кирилл 9 мая , Авансовые платежи по УСН делаются ежеквартально, а декларация отчетность сдается один раз, уже за год Настя 21 апреля, Муж открыл ООО но я забеременела и мы решили не работать С ноября месяца г открыто ООО не открывали даже расчетный счёт,налоговая сочла адрес недействительным что ли В общем если год ничего не делать её ликвидируют или же нужно самим закрыть?

Савельев Александр 21 апреля, Добрый день, Настя. Рекомендуем закрыть ООО самостоятельно, так как этот процесс будет проще. Рязанов Михаил 9 февраля , Сергей, добрый день! Суть вашего вопроса, к сожалению, не ясна. Вероятно, вы хотите подготовить нулевую декларацию за IV кв. Сергей 9 февраля , 0 декларация была в декабре как подать декларацию в 1 кв Рязанов Михаил 10 февраля , Сергей, добрый вечер!

Задача «Заплатить налог и отчитаться по ЕНВД за I квартал года» из раздела «Отчетность» станет активной, начиная с 1 апреля года. Алексей 28 марта , В пфр при нулевой декларации нужно еще написать заявление, что именно в этом заявлении должно быть написано? Заранее спасибо Чернов Николай 2 июля , Неполный рабочий день может быть 0 часов?

Ишеев Кирилл 3 июля , Добрый день. Вы, возможно, ведете речь об отпуске без содержания административный отпуск : сотрудник не работает и не получает зарплату. Ответить Гость 11 июля , подскажите, как сдать отчетность нулевую. Вологдин Павел 13 июля , Добрый день. Если речь идёт про отчетность в налоговую, то раз деятельность не велась подать нулевую декларацию не должно составить труда. А вот с отчетами по сотрудникам сложнее. Отчет в ПФР, даже если сотрудник находится в декретном отпуске, подаётся нулевой, несмотря на то, что в отчете этот сотрудник будет присутствовать начислений то не будет.

С ФСС аналогичная ситуация, если организация не осуществляла выплаты сотрудникам социального характера, то в декларации 4-ФСС проставляются нули в большинстве таблиц. К такому отчету, необходимо приложить сопроводительное письмо с пояснениями в свободной форме. По закону оно не является обязательным, но его просят предоставить. Александр Кузнецов 30 июля , Здравствуйте! Швецова Анастасия 1 августа , Александр, здравствуйте. Потому что ООО по умолчанию — работодатель.

Если сотрудников нет, то отчетность подается нулевая. Владислав 5 августа , Анастасия, здравствуйте, подскажите пожалуйста! И вообще насколько важно правильно и указывать их, то есть какие будут последствия в обратном случае-если указать не те или не все? Все ли подходит под УСН? Буду рад Вашему дополнительному совету. Вологдин Павел 9 августа , Здравствуйте, Владислав!

Что касается системы налогообложения, на мой взгляд выбор сделан правильный. Александр Кузнецов 6 августа , Спасибо, Анастасия. А есть ли какой-то срок после регистрации ООО до истечения которого должен быть заключен договор с генеральным директором? Допустим организация зарегистрирована А договор с директором заключен с Соответственно, если есть допустимый срок между между регистрацией и заключением договора с ГД, то не подача отчёта в СЗВ-М в ПФР за май не повлечёт штраф в размере р за каждого сотрудника, так как в мае сотрудников 0.

Вологдин Павел 9 августа , Здравствуйте, Александр. На самом деле, как таковых сроков для заключения трудового договора нигде не прописано. По поводу отчета СЗВ-М, на практике довольно часто встречается, что в ПФР сдаётся нулевой отчёт когда с директором не заключен трудовой договор , хотя обязанности сдавать нулевой отчет нет, но ПФР все же может попросить его сдать.

Пояснение: Есть ИП, но скорее всего для некоторой деятельности в будущем лучше подойдет ООО, появилась идея пока открыть ООО без сотрудников заранее, чтоб к примеру через полгода можно было ею воспользоваться. И такая схема вообще возможна? Заранее благодарю за ответ! Гальчук Илья 21 сентября , Здравствуйте. Мы рекомендуем директора — учредителя трудоустроить в организации.

Так как деятельности у организации не будет, директора можно отправить в отпуск без содержания. Отмечу, что в Эльбе есть возможность формировать нулевую отчетность и она заменяет бухгалтера. Также при регистрации в Эльбе предоставляется пробный период на 30 дней, на котором вы можете ознакомиться с программой, подготовить и отправить отчетность в контролирующие органы.

Ildar 21 сентября , Спасибо Илья, получается при регистрации ООО «чтоб было», необходимо трудоустроить директора к примеру в течении 1 месяца, и потом отправить его в отпуск без содержания до тех пор пока не будет деятельности верно? И этот срок, «бездеятельности» не регламентирован и спокойно может составить месяцев в течении которых у органов вопросов быть не должно, так?

И все что нужно будет делать это время, это сдавать нулевую отчетность. И тогда еще вопрос, какой минимальный тариф Эльбы подойдет пока ООО будет в «ждущем режиме» для полной отчетности перед контролирующими органами?

Заранее благодарю за ответы. Гальчук Илья 23 сентября , Да, верно, директора можно будет отправить в отпуск без содержания до тех пор пока не будет деятельности. Если деятельности у организации не будет, то вопросов со стороны контролирующих органов не возникнет, главное в срок предоставлять нулевую отчетность. Работа с сотрудниками в Эльбе возможно только на тарифе «Премиум», включая формирование и отправку нулевой отчетности по сотрудниками.

На данном тарифном плане вы сможете вести весь учет вашей организации и формировать необходимую отчетность. Пока нет никакой деятельности, нет работников, нет расчетного счета. Когда и какие налоги и отчеты мне надо сдать? Заранее спасибо Вологдин Павел 25 октября , Здравствуйте, Артем. Извините, пожалуйста, за очень долгий ответ. Пока нет доходов, налог уплачивать не придётся.

Если ситуация сохраниться до конца года, то по итогам остаётся сдать нулевую декларацию. А вот страховые взносы за ИП оплатить нужно обязательно до При этом неважно есть доход или нет. Ответить Александра 10 ноября , Здравствуйте. Спасибо за статью.

Подскажите, пожалуйста, а то сломала уже всю голову Возможно ли заниматься продажей детских вещей из дома? Можно ли как то «подогнать» это занятие под ЕНВД? Михаил Рязанов 11 ноября , Александра, добрый день. Благодарю вас за оценку! Но, возможно, что в данном вопросе есть свои «подводные камни», поэтому, чтобы избежать проблем, рекомендую обратиться с таким вопросом в местную налоговую. К сожалению, «подогнать» такую деятельность под ЕНВД не получится, поскольку для расчета физических показателей будет браться площадь торгового зала, которого у вас нет.

Михаил Рязанов 11 ноября , Александра, всегда рады вам помочь! Я хочу закрыть ИП. Доходов не было. Ответить Гальчук Илья 6 декабря , Наталья, здравствуйте.

Закрыть ИП. После закрытия нужно: в течение 5 дней с момента закрытия сдать декларацию 3-НДФЛ п. Через оператора электронной сдачи отчётности — к нему нужно подключиться заранее.

Причём подтверждать основательно: просто кассовый чек супермаркета не подходит. В случае просто «Доходов», учёт расходов — личное дело каждого предпринимателя. Относительно доходов ситуация следующая. Главная проблема их «запрятывания» состоит в том, что деньги фирме поступают не из воздуха, а от контрагентов — физ- или юрлиц. Каждый кассовый аппарат содержит в себе ЭКЛЗ электронную контрольную ленту защищённую , она хранит информацию о всех транзакциях, исправить её нельзя. Тут все ещё более прозрачно — налоговая может легко справиться о движениях на расчётном счёте в банке.

Нулевая декларация для ИП на упрощенке

Нулевая декларация по УСН за год для ИП образец заполнения Доходы 31 марта Автор статьи: 1С-Старт Налоговая декларация — это отчётность, которую сдают плательщики определённой системы налогообложения. Для каждого налогового режима ФНС разрабатывает специальные бланки и утверждает свои сроки сдачи. Декларация УСН сдаётся всеми индивидуальными предпринимателями, которые перешли на упрощённый режим, сообщив об этом по форме Отсутствие доходов или деятельности в рамках упрощёнки не освобождает предпринимателя от сдачи отчётности, в данном случае, нулевой. Нулевой называют отчётность, в которой нет значимых числовых показателей, например, доходов ИП или сумм налога к уплате. Вместо них проставляются прочерки или нули. А вот на ЕНВД нулевой декларации быть не может, потому что реальные доходы для расчёта налога здесь не учитываются.

Отчётность ИП на УСН без работников в 2020 году

Поэтому налогоплательщик, применяющий ОСН, сдать декларацию должен обязательно, в том числе тогда, когда прибыль равна 0 и налог платить не с чего. Возникновение нулевого результата возможно в 2 случаях: если деятельность не ведется, в связи с чем нет ни доходов, ни расходов; если деятельность осуществляется, но доходы равны расходам и налоговая база в результате получается соответствующей 0. Нулевой будет декларация, составляемая в первой ситуации. Во второй ситуации данные для заполнения есть, а нулевое значение налога — это всего лишь результат арифметических действий с имеющимися данными.

Юрий 1 апреля , Например, в Эльбе я указал нули. Ишеев Кирилл 8 мая , Юрий, не путайте: отчетность подается по итогам года, а не квартала.

.

Нулевая отчётность в налоговую, ПФР и ФСС в 2020 году

.

.

.

Есть разница, когда и сколько платить — работает он на УСН, ЕНВД Нулевая декларация — это стандартная декларация по УСН с прочерками. Письмо нужно писать на имя начальника инспекции, который.

Нулевая декларация по налогу на прибыль: как правильно заполнить?

.

Руководство по заполнению декларации по УСН

.

.

.

.

.

Нулевая отчетность ИП — как заполнить и сдать декларацию

Что такое нулевая декларация и как ее сдавать

Эта разновидность документа имеет вид стандартной декларации, для составления которой использована грамотная форма, но содержащую указание отсутствующего дохода. По этой причине налоговая сумма окажется нулевой. Немаловажно, что не любая работа несёт адекватный доход ИП. Из-за этого часто отсутствует какая-либо прибыль, которая могла бы быть базой для налогов.

Для чего нужная такая декларация

Вне зависимости от прибыли любой ИП и любая фирма обязаны сдавать отчёт в ФНС. С этой целью составляют определённую документацию соответственно выбранному режиму налогов.

Каждая декларация играет роль главного типа документа для ФНС, обеспечивающего контроль работы разных компаний, а также ИП. По этой причине при отсутствии у них прибыли они обязаны всё равно подать декларацию.

Некоторые ИП думают, что нет необходимости в подаче нулевой декларации вовремя, по этой причине часто пропускают этот срок. Однако в любой ситуации следствием становится начисление крупного штрафа. Так что и такая разновидность документации должна быть подготовлена вовремя.

Особенности нулевых деклараций

Любой ИП должен платить налог с получаемого дохода. Это правило не связано с формой регистрации и режимом налогов. Отчёты обязаны готовить и сдавать не только успешные фирмы и ИП, поскольку и при отсутствующих доходах потребуется подготовка декларации.

Готовят документ по бланку нулевой декларации 3-НДФЛ. Немаловажно, что недопустима подача такого документа ЕНВД, поскольку вне зависимости от суммы доходов по данному режиму потребуется выплата одинаковой денежной сумы ежеквартально.

Кто и когда должен сдавать нулевую декларацию

В обязательном порядке такую документацию составляют и передают в ФНС, когда:

  • У ИП либо фирмы не было никаких доходов на протяжении определённого срока.
  • Фирма или ИП в течение отчётного срока имели убытки.
  • Работа ИП или фирмы не велась.
  • Фирма начала работать, но спустя некоторое время была закрыта.

Допустима подача нулевой декларации только теми ИП, которые не имеют оформленных официально сотрудников.

Каждый год такую отчётность следует подавать:

  • Для юрлиц — до 31.03.
  • Для ИП — до 30.04.

При выборе ИП основным своим налоговым режимом УСН декларацию тоже нужно предоставлять каждый год.

Нулевая декларация: порядок заполнения и сдачи

Заполнение такой документации не сложное, ведь особые расчёты не нужны. Требуется бланк стандартного вида, куда вносят такую информацию:

  • Сведения об ИП либо фирме — КПП, ИНН.
  • Номер корректировки в виде «0».
  • Налоговым периодом тут будет выступать год, по этой причине вписывают «34», а в случае закрытия компании либо ИП пишут «50».
  • Следует выяснить код той ФНС, в которую потребуется отправить документацию.
  • Вписывают код ОКВЭД, а также наименование фирмы либо ИП.
  • Ставят на каждой из страниц подпись ИП либо директора компании.
  • Указывают дату, когда подана документация.
  • Указание объекта, с которого осуществляется уплата налога.
  • Вписывают ОКТМО с бюджетным квалификационным кодом.
  • В остальных строчках рисуют прочерки, но требуется вписать ставку налогов.

Итак, налоговая нулевая декларация составляется просто и это легко может сделать любой ИП.

Нулевая отчётность для ОСНО

Нулевую декларацию каждый ИП, использующий общую систему налогов, обязан подать:

  • Для НДС — каждый квартал, до 25-го дня того месяца, который идёт после налогового периода.
  • Для налога на прибыль — ежеквартально, до 28-го дня того месяца, который идёт после периода отчёта.
  • Для имущественного налога — каждый квартал, до 30-го дня.
  • Для страховых взносов – каждый квартал, до 20-го дня.
  • По бухгалтерии — ежегодно, до 31-го марта следующего года.

Если работа ИП либо фирмы не велась, допустимо подать упрощённую декларацию — ЕУД, которая выступает заменой налоговой отчётности по НДС и прибыли. Требуется её отправка в ФНС до 20-го дня по окончании квартала отчёта.

ЕУД может быть подана в ФНС:

  • В электронной форме, с использованием программ, обеспечивающих именно отправление отчёта.
  • В электронной форме с использованием программы самой ФНС (требуется ЭЦП).
  • В бумажной форме путём личного визита в ФНС.
  • В бумажной форме по почте (ценным письмом).

Заполнение нулевой декларации по НДС

В случае, когда показатели работы ИП равны 0, такая декларация заместо 12-и разделов должна содержать заполненными исключительно 1-й раздел, а также титульную страницу.

Как заполняется титульный лист:

  • Вписывается ИНН.
  • Вписывается корректировочный номер отчётной документации. В случае его сдачи в первый раз указывается «0». Если декларацию ИП сдавал ранее в течение данного срока отчётности, нужно вписывать «1», «2» и т. д., — эта цифра определяется тем, какая по счёту корректировка осуществляется.
  • Код периода налогообложения. Когда сдаётся отчёт за 1-й квартал, требуется указание кода «21», за 2-й — пишут «22», за 3-й — «23» и за 4-й — «24».
  • Код, который принадлежит налоговому органу. Требуется указание кода ФНС, в которую предоставляют декларацию.
  • Название налогоплательщика. Указывают ФИО ИП либо название фирмы.
  • Код ОКВЭД.
  • Телефонный номер плательщика налогов.
  • Число страниц.
  • Подпись налогоплательщика (ИП или директора фирмы).
  • Дата, когда была составлена документация.

Как заполняют 1-й раздел:

  • Вписывают КПП и ИНН.
  • Затем вписывается код ОКТМО.
  • Потом указывают бюджетный классификационный код.
  • В ячейке каждой строчки, кроме вышеуказанных, ставят прочерк.
  • В нижней части документации ставят подпись с датой составления документа.

Нулевая декларация ИП для НДФЛ

ИП, который ведёт деятельность, не используя наёмных сотрудников, не должен вовсе сдавать отчётность по НДФЛ. В случае наличия у него официальных работников он платит им зп. В такой ситуации ИП должен сдавать отчётность с использованием бланков 6- и 2-НДФЛ.

В случае отсутствия выплаты хотя бы 1 зп сотрудникам за год ИП не считается налоговым агентом, следовательно, он не должен сдавать пустой бланк. В случае отсутствия у ИП деятельности в течение года, а также доходов, он должен сдавать нулевой бланк 3-НДФЛ. Он состоит из титульного листа, а также разделов 1 и 2. Сдача нулевого бланка 3-НДФЛ требуется до того же дня, что и стандартной, — т. е. до 30.04. Она может быть предоставлена в бумажной форме путём личного визита в ФНС, отправлена по почте либо же посредством ТКС либо личного кабинета на портале ФНС.

Заполнение титульного листа стандартное. Раздел 1 для ИП требует отображения таких сведений:

  • ФИО ИП.
  • Строчка 010 подразумевает указание кодовой цифры «3», которая указывает, что налог по этой декларации ИП не уплачивает, а также не возвращает.
  • Строчка 020 требует указания действующего КБК, который предусмотрен для НДФЛ, с тех доходов, что получает ИП, — 18210102020011000110;
  • Строчка 030 требует указания территориального кода ОКТМО соответственно Классификатору ОК.
  • Строчки 050 и 040 подразумевают написание нулей.
  • В нижней части страницы вписывают дату и проставляют подпись.

Состав нулевой декларации по ЕНВД

Законы содержат чёткое указание, что, выбирая ЕНВД, ИП должен каждый квартал платить фиксированную сумму финансов вне зависимости от своего дохода. По этой причине в случае даже убытков он должен уплатить налог.

Вследствие этого невозможно сделать нулевую декларацию при ЕНВД. При отсутствии доходов по ЕНВД из-за остановки работы требуется немедленная подача заявки в ФНС на закрытие работы по ЕНВД. Однако это не требует полного закрытия ИП.

Ответственность за непредоставление нулевой декларации

При пропуске сроков ИП начисляется штраф, определяемый налоговой суммой и выплачиваемый согласно декларации, однако не составляющий менее 1 000 р. Через суд возможно оспаривание данного решения, принимаемого ФНС. Примечательно, что суды преимущественно принимают сторону плательщика налогов в таких спорах, поскольку документация содержит чёткое указание на отсутствующий доход.

ICMS-ST процесс дополнения и реституции и декларация для государств RS, SC и SP — Финансы | Динамика 365

  • 21 минута на чтение

В этой статье

Бразильские штаты Риу-Гранди-ду-Сул (RS), Сан-Паулу (SP) и Санта-Катарина (SC) определили и внедрили новый процесс расчета и отчетности о компенсации и возмещении налоговых сумм ICMS-ST во внутренних операциях в конечные потребители, когда товары приобретаются в режиме налогового замещения (ICMS-ST). Этот процесс применяется к розничным и не розничным компаниям.

Ежемесячно налогоплательщик должен, как правило, определять разницу между суммой ICMS-ST, которая рассчитывается во входящих фискальных документах, и суммой ICMS-ST, которая рассчитывается в исходящих фискальных документах для конечного потребителя. В зависимости от определения состояния могут применяться исключения и особые правила.

Эта разница между входящей и исходящей суммой известна как корректировка ICMS-ST , потому что корректировка может быть как положительной (+), так и отрицательной (-), и ее необходимо указывать в налоговой отчетности SPED или других связанных налоговых отчетах.

  • Налогоплательщикам необходимо определить сумму налога ICMS-ST для сбора продуктов, подпадающих под действие ICMS-ST
  • Рассчитанную сумму ICMS-ST необходимо сравнить с суммой налога на покупку ICMS-ST
  • В зависимости от результата налогоплательщикам необходимо зарегистрировать корректировку положительную или отрицательную
  • Определите ICMS-ST для дополнения или восстановления

Пример высокого уровня

Покупка — входящий фискальный документ Базовая сумма ICMS-ST = 80.00

ICMS-ST рассчитано => 80,00 × 18 процентов = 14,00 реалов

Продажи — базовая сумма исходящего финансового документа = 90,00

Эффективность ICMS-ST = 90,00 × 18 процентов = 16,20 реалов

Сумма ICMS-ST для дополнения = 16,20 реалов (вступает в силу ICMS-ST) — 14,00 реалов (ICMS-ST с момента покупки) = 2,20 реала (> 0,00)

–или–

Закупка — входящий финансовый документ BC ST = 80.00

ICMS-ST рассчитано => 80,00 × 18 процентов = 14 реалов.00

Продажи — исходящий финансовый документ Базовая сумма = 70,00

Эффективность ICMS-ST = 70,00 × 18 процентов = 12,60 реалов

Сумма ICMS-ST для возмещения = 12,60 реалов (вступает в силу ICMS-ST) — 14,00 реалов (ICMS-ST с момента покупки) = -1,40 реала (<0,00)

Внедрение штата Сан-Паулу

Новый налоговый отчет, CAT 1219, был введен государством SP. Эта налоговая декларация требует, чтобы компании ежемесячно представляли налоговую декларацию ICMS-ST для дополнения налогов и возмещения сумм ICMS-ST.

Файл выписки создан на основе версии 1.1.0 документа с форматом руководства.

Область применения

В следующих таблицах представлена ​​информация о записях, созданных с помощью оператора CAT 1218.

Запись 0000 — Открытие выписки и идентификация налогоплательщика и участника
Номер Поле Описание
01 REG Фиксированный текст, для которого задано значение 0000
02 PERIODO Отчетный период
03 НОМЕР Фирменное наименование организации
04 CNPJ Регистрационный номер юридического лица в Национальном реестре юридических лиц (CNPJ)
05 IE Государственный регистрационный номер (ИП) юридического лица
06 COD_NUM Бразильский институт географии и статистики (IBGE) код
07 COD_VER Код версии макета.Это поле заполняется вручную при запуске отчетов.
08 COD_FIN Код назначения файла. Это поле заполняется вручную при запуске отчета. Доступны следующие значения:
  • 00 — Обычная доставка файлов
  • 01 — Сдача файла, требуемого налоговым органом
  • 02 — Доставка файла для замены ранее загруженного файла
Запись 0150 — Таблица участников

В эту запись включаются только пользователи, у которых есть транзакции в отчетном периоде бронирования.На каждого пользователя ведется одна запись.

Номер Поле Описание
01 REG Фиксированный текст, для которого установлено значение 0150
02 COD_PART Идентификационный код участника
03 НОМЕР Личное или фирменное наименование участника
04 COD_PAIS Код страны / региона участника
05 CNPJ Регистрационный номер участника CNPJ
06 CPF Регистрационный номер участника Регистра физических лиц (РЗЛ)
07 IE Государственный регистрационный номер участника
08 COD_MUN Код IBGE
Запись 0200 — Таблица идентификации позиции

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

Номер Поле Описание
01 REG Фиксированный текст, для которого задано значение 0200
02 COD_ITEM Код товара
03 DESCR_ITEM Описание товара
04 COD_BARRA Штрих-код товара
05 UNID_INV Единица измерения запасов
06 COD_NCM Код фискальной классификации
07 ALIQ_ICMS Ставка ICMS, применяемая к позиции во внутренних операциях
08 CEST Код спецификатора налоговой замены (CEST)
Запись 1050 — Баланс

Эта запись сообщает об общей сумме (начальная и окончательная складские позиции) записей 1100.Для каждого элемента есть одна запись. Информация собирается из функциональных возможностей Предполагаемых налоговых балансов в налоговой оценке ICMS-ST.

Номер Поле Описание
01 REG Фиксированный текст, для которого установлено значение 1050
02 COD_ITEM Код товара по записи 0200
03 QTD_INI Начальное количество номенклатуры на начало периода
04 ICMS_TOT_INI Накопленная начальная стоимость всей ICMS, поддерживаемая налогоплательщиком и рассчитанная для объекта на начало периода
05 QTD_FIM Окончательное количество номенклатуры на конец периода
06 ICSM_TOT_FIM Накопленная окончательная стоимость общей ICMS, подтвержденная налогоплательщиком и рассчитанная для данной позиции на конец периода
Запись 1100 — Запись данных баланса

Эта запись содержит подробные сведения об электронных фискальных документах. Эта информация собирается из информации, которая хранится на вкладках Исходящие и Входящие страницы Предполагаемые налоги .

Номер Поле Описание
01 REG Фиксированный текст, для которого установлено значение 1100
02 CHV_DOC Электронный фискальный документ ACCESSKEY значение
03 ДАННЫЕ Дата фискального документа
04 NUM_ITEM Порядковый номер позиции в электронном фискальном документе
05 IND_OPER Значение, указывающее тип операции:
06 COD_ITEM Код товара по записи 0200
07 CFOP Налоговый кодекс операций и положений (CFOP)
08 QTD. Количество товара. Для возврата не используются отрицательные значения. Ценности всегда положительные.
09 ICMS_TOT Общая стоимость ICMS, подтвержденная налогоплательщиком во входящих фискальных документах
10 VL_CONFR Значения ICMS и ICMS-ST для исходящих фискальных документов
11 COD_LEGAL Код правовой основы для гипотезы реституции или дополнения ICMS-ST.Описание кодов см. В следующей таблице.

В следующей таблице описаны коды для гипотезы восстановления или дополнения ICMS-ST.

Код Гипотеза восстановления или дополнения ICMS-ST Наблюдение
1 Операция, при которой восстановление или дополнение ICMS-ST применимо в соответствии с гипотезой пункта I статьи 269 RICMS Исходящий фискальный документ конечным потребителям с видом налога ICMS-ST и налоговым кодом = 60
2 Операция, при которой реституция ICMS-ST применима в соответствии с гипотезой пункта II статьи 269 RICMS Исходящий фискальный документ на уменьшение запасов CFOP 5. 927 / другие с типом налога ICMS и налоговым кодом = 90
3 Операция, при которой восстановление ICMS-ST применимо в соответствии с гипотезой пункта III статьи 269 RICMS Исходящий фискальный документ — ICMS-CST [30] (освобожден или не облагается налогом)
4 Операция, при которой восстановление ICMS-ST применимо в соответствии с гипотезой пункта IV статьи 269 RICMS Исходящий фискальный документ в другое государство — ICMS-ST [60] (Interstate)
0 Операция, при которой восстановление или дополнение ICMS-ST неприменимо Прочие исходящие фискальные документы с видом налога ICMS-ST и налоговым кодом <> 60

Реализация на уровне штата Риу-Гранди-ду-Сул

Постановлением 54308/2018 государство РС установило процедуру расчета и представления отчетности о дополнении или возмещении сумм налога ICMS-ST для плательщиков (розничных и не розничных продавцов), которые осуществляют деятельность, связанную с товарами, подпадающими под режим налоговой замещения ( ICMS-ST).

Государство определило два процесса: один для компаний розничной торговли, а другой — для компаний, не занимающихся розничной торговлей.

Область применения

Сумма ICMS-ST, которая рассчитана для дополнения и реституции, указывается в SPED Fiscal ICMS-ST в записи 1900 и связанных записях корректировок, таких как записи 1921 и 1923, поскольку штат считает этот процесс субоценкой ICMS-ST. .

Компании, не занимающиеся розничной торговлей
Запись уровень Описание Комментарий Параметры из состояния RS
1001 1 Открытие блока 1 Блок 1900 Опция установлена ​​на Да .
1900 2 Показатель субналогового исчисления ICMS-ST Индикатор оценки субналога и Описание оценки субналога поля
1910 3 Период бронирования
1920 4 ИТОГО составляет Обобщение из записи 1921 г. записи
1921 5 RS001920 Операция корректировки, которая суммирует все действующие суммы ICMS из: исходящих фискальных документов для конечных потребителей (CFOP 5 *), где CST = 60 и тип налога = ICMS и / или ICMS-ST Код корректировки, выбранный в Дебет из исходящих финансовых документов поле
1923 6 1: N записей Подробная информация об исходящих фискальных документах по позициям или консолидированная по фискальному документу Консолидировать рекорд 1923 опцион
1921 5 RS021922 Корректирующая транзакция, которая суммирует сумму ICMS-ST или, если ICMS-ST не существует, предполагаемую сумму ICMS из входящих фискальных документов, где ICMS-ST = 60, и которые связаны с ранее упомянутым исходящим фискальным документом Примечание: Поступающие фискальные документы товаров отражаются только в записи 1921-RS001920. Код корректировки, выбранный в Кредит из входящих финансовых документов поле
1923 6 1: N записей Подробная информация о входящих фискальных документах по позициям или консолидированных фискальных документах Консолидировать рекорд 1923 опцион
1921 4 RS041921 или RS011921 Корректирующая операция дополнения или реституции Код корректировки, выбранный в поле Дополнение (обратное) или Реституция (обратное) поле
E220 RS101921 Корректирующая проводка, созданная для отчета в записи E220 Код настройки, выбранный в поле Дополнение (E210-E220) поле
E111 RS011021 Корректирующая проводка, созданная для отчета в записи E111 Код корректировки, выбранный в поле Возмещение (E111) поле
Компании розничной торговли
.
Запись уровень Описание Комментарии Параметры из состояния RS
1001 1 Открытие блока 1 Блок 1900 Опция установлена ​​на Да .
1900 2 Показатель субналогового исчисления ICMS-ST Индикатор оценки субналога и Описание оценки субналога поля
1910 3 Период бронирования
1920 4 ИТОГО составляет Обобщение из записи 1921 г. записи
1921 5 RS021921 Кредит: Операция корректировки, которая суммирует сумму ICMS-ST или, если ICMS-ST не существует, предполагаемую сумму налога ICMS из всех утвержденных и зарегистрированных входящих финансовых документов, полученных в течение периода.Если входящий фискальный документ не имеет связанного исходящего фискального документа в периоде, эти операции не будут учитываться в сводке Код корректировки, выбранный в Кредит из входящих финансовых документов поле
1923 6 1: N записей Подробная информация о входящих фискальных документах по позициям или консолидированных фискальных документах Консолидировать рекорд 1923 опцион
1921 5 RS021920 Кредит из запасов: Проводка корректировки, которая используется для регистрации кредита запасов.Эта сумма рассчитывается на основе варианта Предполагаемый налоговый баланс , доступного в налоговой оценке ICMS-ST, форма в отношении начального сальдо запасов. Поскольку об этой корректировке необходимо сообщать тремя частями, поле DESCR_COMPL_AJ в записи 1921 года содержит следующий текст: «Доблесть судебного решения по делу RICMS, Ливро III, статья 25-A, I, примечание 05, 1/3» Код корректировки, выбранный в поле Кредит запасов поле
1921 5 RS011920 Реверсирование кредита: Операция корректировки, которая суммирует налог ICMS из исходящего фискального документа не конечному потребителю, где код налогообложения = 60, и / или конечному потребителю, где ICMS = освобождаемый или необлагаемый налогом код. <> 60 Код корректировки, который выбран в поле Сторнирование кредита
1921 5 RS001920 Дебет: Операция корректировки, которая суммирует исходящие финансовые документы ICMS, действующие (CFOP 5 *) для конечного потребителя, где код налогообложения = 60 Код корректировки, выбранный в Дебет из исходящих финансовых документов поле
1923 6 1: N записей Подробная информация об исходящих фискальных документах по позициям или консолидированная по фискальному документу Консолидировать рекорд 1923 опцион
1921 5 RS041921 Корректирующая операция дополнения или реституции Код корректировки, выбранный в поле Дополнение (обратное) или Реституция (обратное) поле
1926 5 Платежный ICMS-ST Равно E250.Эта запись создается, когда есть сумма, которую нужно собрать, и платеж существует в налоговой оценке ICMS-ST (компенсация).
E220 RS101921 Корректирующая проводка, созданная для отчета в записи E220 Код настройки, выбранный в поле Дополнение (E210-E220) поле
E111 RS011021 Корректирующая проводка, созданная для отчета в записи E111 Код корректировки, выбранный в поле Возмещение (E111) поле

Реализация штата Санта-Катарина

Через SEF Portaria No.396/2018, штат SC установил порядок расчета и отчетности о дополнении или возмещении сумм налога ICMS-ST для плательщиков (розничных и не розничных продавцов), которые осуществляют деятельность, связанную с товарами, подпадающими под режим налоговой замещения (ICMS-ST ).

Область применения

Блок уровень Записи Описание
0 0 0000 Открытие файла
1 0001 Блок открытия 0
2 0005 Дополнительная информация о юридическом лице
2 0100 Бухгалтерская информация
2 0190 Обозначение единицы измерения
2 0200 Идентификация товаров и услуг
2 0220 Преобразование единиц измерения
2 0990 Блок закрытия 0
H 1 H001 Блок открывания H
2 H005 Товарно-материальные ценности
2 H010 Инвентарная позиция
1 H990 Блокировочный блок H
2 2 2001 Блок открывания 2
2 2100 Ежемесячная оценка — Итоги пополнения и возврата товаров, подлежащих обложению налогом типа ICMS-ST
3 2110 Ежемесячная оценка — Итоги пополнения и возмещения по товарам
4 2113 Модель фискального документа 55 продажи / возврата товаров, идентифицированных в записи 2110
5 2114 Дополнение к фискальному документу, указанному в декларации продаж
5 2115 Торговый дополнительный фискальный документ
4 2120 Унитарное среднемесячное взвешенное значение базы расчета налога ICMS-ST в отношении собственной деятельности и ICMS-ST поступления товаров
5 2130 Модель 55 финансового документа поступления товаров с видом налога ICMS-ST, указанным в записи 2110 и связанных с ней декларациях
6 2132 Дополнение к фискальному документу, указанному в декларации о покупке
6 2136 Закупочные дополнительные фискальные документы
1 2990 Блок закрытия 2
9 1 9001 Блок открывания 9
2 9900 Файловые записи
1 9990 Блок запорный 9
0 9999 Закрытие файла

Следующие записи выходят за рамки: 2112 (исходящие фискальные документы, которые генерируются фискальным принтером ECF) и 2131.

Настройка

  1. Перейти к Администрирование организации > Настройка > Бразильские параметры .

  2. На вкладке Финансовый документ в разделе ICMS-ST установите для следующих параметров значение Да :

    • Предполагаемый налог ICMS-ST — Включите этот процесс для создания связанных тегов в формате XML при выдаче NF-e налоговым органам.
    • Предполагаемые налоговые бухгалтерские книги ICMS-ST — Включите этот процесс для расчета сумм возмещения и компенсации ICMS-ST и создания соответствующих отчетов в зависимости от штата, в котором фискальное учреждение имеет регистрацию ICMS-ST (SC, SP или RS) .

  3. Перейдите к Финансовые книги > Настройте > Параметры финансовых книг для каждого состояния , а затем выберите соответствующее состояние ( SP , SC или RS ).

Предполагаемый налог

На вкладке «Предполагаемый налог » Быстрая вкладка параметров налоговых книг на страницу состояния , установите следующие параметры:

  • Алгоритм расчета предполагаемого налога — Выберите метод, который используется для расчета предполагаемого налога ICMS-ST, когда исходящие финансовые документы конечным и не конечным потребителям создаются и разносятся в Dynamics 365 Finance.Этот параметр используется для заполнения связанных тегов при модели фискального документа NF-e.

    • Последняя покупка — Используйте информацию из последних входящих финансовых документов, проведенных в течение периода.
  • SPED Алгоритм расчета предполагаемого налога — Выберите метод, который используется для расчета предполагаемого ICMS-ST на основе налоговых оценок ICMS-ST, созданных в Налоговых книгах Модуль :

    • Среднее значение — Расчет средней суммы из входящих фискальных документов. Этот метод должен быть выбран для состояния SP или SC.
    • Последняя покупка — Используйте информацию из последних входящих финансовых документов, проведенных в течение периода. Этот метод необходимо выбрать для состояния RS.

Оценка субналога ICMS-ST в штате РС

Для состояния RS, поскольку суммы и подробные сведения о расчете компенсаций и возмещения ICMS-ST сообщаются в SPED Fiscal в записи 1900 и других связанных записях, требуется дополнительная настройка для автоматического создания корректировочных транзакций, установленных Указом 54308 / 2018.

Перейдите к Финансовые книги > Настройка > Параметры финансовых книг для каждого состояния , выберите состояние RS , а затем на экспресс-вкладке Параметры ICMS-ST дополнительной оценки установите следующие параметры:

  • Блок 1900 — Установите для этой опции значение Да для создания записей оценки субналога ICMS-ST, которые подробно описаны в сеансе области действия.
  • Индикатор субналоговой оценки — Выберите тип индикатора, который используется для идентификации субналоговой оценки.
  • Описание оценки субналога — введите описание оценки субналога, которое указано в поле 03 DESCR_COMPL_OUT_APUR в записи 1900.
  • Имя журнала для корректировки возмещения / дополнения — Выберите журнал, который используется для создания и разноски налоговой оценки компенсации и возмещения.
  • Кредит из входящих финансовых документов — выберите соответствующий код корректировки для этого типа корректировки.
  • Дебет из исходящих финансовых документов — выберите соответствующий код корректировки для этого типа корректировки.
  • Розничная компания — Установите для этого параметра значение Да , если основным видом деятельности в этом состоянии является розничная торговля. В противном случае установите значение Нет .
  • Восстановление кредита — Выберите соответствующий код корректировки для этого типа корректировки.
  • Кредит запасов — выберите соответствующий код корректировки для этого типа корректировки.
  • Дополнение (обратное) — Выберите соответствующий код корректировки для этого типа корректировки.
  • Восстановление (обратное) — Выберите соответствующий код корректировки для этого типа корректировки.
  • Дополнение (E210-E220) — Выберите соответствующий код корректировки для этого типа корректировки. После создания этой корректировки налоговая оценка ICMS-ST будет обновлена.
  • Восстановление (E111) — Выберите соответствующий код корректировки для этого типа корректировки.При создании этой корректировки налоговая оценка ICMS будет обновлена, поскольку в налоговой оценке ICMS разрешены только кредиты.
  • Консолидировать запись 1923 — Установите для этого параметра значение Да , чтобы консолидировать или составить отчет о записи 1923 по финансовому документу (никакие позиции не будут детализированы). Поле 08 COD_ITEM останется пустым.

Шаги репродукции

Налоговая оценка ICMS-ST

Перед созданием отчета для каждого штата необходимо создать период финансового резервирования для месяца, создать налоговую оценку ICMS-ST для штата, а затем рассчитать любые сальдо, применимые в этом состоянии.Если вы хотите создать корректировку по кредиту, связанную с позицией запасов, отметьте Да, , установите флажок Корректировка по кредиту в форме налоговой оценки ICMS-ST перед подтверждением.

Примечание

Кредитовая корректировка, связанная с позицией запасов, применима только для состояний RS и SC.

  1. Перейти к Налоговые книги > Обычный > Налоговое исчисление > ICMS-ST .

  2. На странице ICMS-ST на панели действий на вкладке Общие в группе Просмотр выберите Предполагаемый баланс налогов .

Страница Предполагаемый баланс налогов включает поля, которые необходимы для целей отчетности. Вот несколько примеров этих полей:

  • Код товара
  • Название продукта
  • ID измерения
  • Значения инвентаризационной аналитики
  • Единица измерения запасов
  • Кол-во
  • Налоговая ставка ICMS и базовые суммы ICMS-ST
  • Сумма на единицу запасов и всего

На панели действий на вкладке Общие в группе Вычисления выберите Вычислить остатки запасов .Система рассчитывает начальное начальное сальдо и конечное сальдо и показывает значения по номеру позиции.

Вот как работает функция расчета начального сальдо:

  1. Проверить, существует ли предполагаемое налоговое сальдо за предыдущий период. Если остаток не найден, запускается расчет. Если баланс найден, процедура учитывает значения за предыдущий период.
  2. Выберите все товары в запасах в наличии, по которым были проводки до текущего периода.
  3. Рассчитайте количество для каждого выбранного товара в первый день периода.
  4. Найдите последнюю покупку для каждого товара, для которого была проведена налоговая транзакция ICMS-ST.
  5. Используя суммы налогов от последней покупки и преобразовав закупочную единицу в единицу запасов, рассчитайте суммы ICMS и ICMS-ST для количества запасов в наличии.

Вот как работает функция расчета конечного сальдо. Эта функция применима только к состоянию SP.

  1. Удалите старые предполагаемые налоговые сальдо за период, кроме тех, которые используются для следующего периода. Эти суммы будут обновлены, а все остальные суммы будут пересчитаны.
  2. Выберите все товары в наличии, по которым в течение периода проводились какие-либо операции.
  3. Найдите предполагаемый налог для каждой позиции.
  4. Рассчитайте сальдо в предыдущих периодах, чтобы получить количество начального сальдо. Если в предыдущих периодах нет сальдо, величина начального сальдо равна 0 (нулю).
  5. Выберите все входящие финансовые документы за период, суммируйте суммы налогов ICMS и ICMS-ST и суммируйте количества товаров.
  6. Рассчитайте среднюю сумму на единицу, суммируя итоговые суммы ICMS и ICMS-ST во всех входящих документах и ​​разделив их на суммарное количество в этих документах.
  7. Выберите все исходящие финансовые документы и просуммируйте их количества. Затем рассчитайте суммы налогов ICMS и ICMS-ST, используя среднюю сумму, рассчитанную на шаге 6.
  8. Расчет итоговых сумм и количеств сальдо, используя значения из предыдущих периодов, а также суммы входящих и исходящих документов за текущий период. Эти суммы были рассчитаны на этапах 5 и 7 соответственно.
Расчет предполагаемого налога

После первого расчета остатков откройте страницу Предполагаемые налоги и выберите Рассчитать предполагаемые налоги .

На странице есть поля, необходимые для отчетности.На каждой вкладке показаны соответствующие налоговые документы, которые применимы для компенсации и реституции в соответствии с критериями, установленными законодательством штата.

Примечание

Вкладка Возврат кредита применима только к штату RS, и на этой вкладке отображаются исходящие фискальные документы для неконечных потребителей, где код налогообложения = 60, и / или для конечных потребителей, где ICMS = код освобожденного или необлагаемого налогом < > 60.

В нижней части страницы показаны общие суммы.

Вот как работает средний алгоритм для расчета предполагаемого налога:

  1. Выберите все строки всех исходящих финансовых документов в текущем периоде.
  2. Для каждой позиции из этих строк выберите все строки всех входящих финансовых документов, которые имеют одинаковый код позиции в текущем периоде. Затем рассчитайте средние суммы налогов ICMS и ICMS-ST.
  3. Если в периоде нет входящих документов, рассмотрите соответствующую запись в предполагаемом налоговом сальдо.

Примечание

Для состояния SP не рассчитываются средние значения для дополнительных финансовых документов на продажу и заказов на поставку. Учитываются только значения из исходных фискальных документов.

Создать корректировки

Для состояния RS используйте кнопку Создать корректировки , чтобы сгенерировать соответствующую налоговую корректировку, которая должна быть сообщена в SPED Fiscal.

В зависимости от типа бизнеса компании (розничный или нерозничный) отдел Финансов генерирует соответствующие корректировки:

  • Дебет исходящих фискальных документов.
  • Кредит для входящих фискальных документов.
  • Кредит из складской позиции (начальное сальдо). Эта налоговая корректировка создается один раз и делится на три части.
  • Восстановление кредита.
  • Компенсация и реституция (сторнирование).
  • Компенсация в записи E220.
  • Реституция в записи E111.

Примечание

После выбора Создать корректировки нет возможности вернуться в исходное состояние.Чтобы сообщить о записи E220 или E111, необходимо вручную сторнировать транзакцию корректировки, созданную во время выполнения функции Создать корректировки. Другие корректировки, относящиеся к дебету, кредиту, кредиту для запасов и сторнированию кредита, создаются только для целей SPED Fiscal. Вы не сможете увидеть эти транзакции, потому что они сохранены во временной таблице.

Сформировать выписку

Состояние СП
  1. Перейдите к Налоговые книги > Обычные > Период бронирования , а затем на вкладке Налоговые отчеты выберите CAT 4218 SP . Этот отчет также доступен в налоговой оценке ICMS-ST для штата ИП.

  2. В поле Имя файла введите полный путь, по которому текстовый файл должен быть сохранен. Включите имя файла.

  3. В поле Layout version выберите версию.

  4. В поле Тип файла выберите тип файла:

    • Обычный
    • Специальное указание
    • Заменитель

Созданный текстовый файл необходимо сначала проверить с помощью приложения налогового органа.После утверждения файла вы можете отправить информацию в налоговые органы.

Состояние РС
  1. Перейдите к Фискальные книги > Обычные > Период бронирования , а затем на вкладке Налоговые отчеты выберите SPED фискальный . Этот отчет также доступен в налоговой оценке ICMS-ST для штата РС.
  2. Задайте параметры, которые обычно устанавливаются для создания финансового отчета SPED. Чтобы сгенерировать запись 1900 и другие связанные записи, вы должны установить параметры, необходимые для генерации финансового отчета SPED.Чтобы настроить эти параметры, выполните следующие действия:
  3. Создайте и синхронизируйте соответствующий период бронирования.
  4. Синхронизация инвентаря. Если возможно, возьмите кредит из начального сальдо запасов.
  5. Создайте или обновите налоговую оценку ICMS-ST для штата RS.
  6. Рассчитайте предполагаемый остаток налога (если применимо).
  7. Рассчитать предполагаемый налог.
  8. Сгенерируйте корректировки.
  9. Выполните оставшиеся шаги, связанные с налоговой оценкой ICMS-ST.
  10. Создайте фискальный отчет SPED обычным способом.
Состояние СК
  1. Перейдите в Финансовые книги> Настройка> Параметры налоговой отчетности , а затем выберите SPED DRCST .

  2. На экспресс-вкладке Параметры настройки добавьте интернет-адрес и адрес заголовка запроса, чтобы соответствующий файл XML можно было отправить в государственные налоговые органы.

  3. Перейдите на Администрирование организации> Настройка> Бразильские параметры .

  4. На вкладке Финансовый документ в разделе ICMS-ST установите для следующих параметров значение Да , чтобы включить функцию расчета предполагаемого налога в процессе выдачи NF-e и в SPED Fiscal ICMS- Налоговое исчисление СТ:

    • Предполагаемый налог ICMS-ST
    • Предполагаемые налоговые книги ICMS-ST
  5. Перейдите к Налоговые книги > Обычные > Период бронирования , а затем на вкладке Налоговые отчеты выберите SPED DRCST .Этот отчет также доступен в налоговой оценке ICMS-ST для штата SC.

  6. В поле Имя файла введите полный путь, по которому текстовый файл должен быть сохранен. Включите имя файла.

  7. В поле Тип файла выберите тип файла.

Файл отправлен с помощью веб-служб. Требуется сертификат. После того, как ответное сообщение получено вместе с результатом государственной проверки, ответ сохраняется в том же месте, где был сгенерирован файл.

% PDF-1.6 % 4515 0 объект > эндобдж xref 4515 242 0000000016 00000 н. 0000010018 00000 п. 0000010156 00000 п. 0000020651 00000 п. 0000020715 00000 п. 0000023662 00000 п. 0000023962 00000 п. 0000024855 00000 п. 0000025048 00000 н. 0000025328 00000 п. 0000025628 00000 п. 0000025840 00000 п. 0000026053 00000 п. 0000026336 00000 п. 0000026639 00000 п. 0000026853 00000 п. 0000027069 00000 п. 0000027333 00000 п. 0000027617 00000 п. 0000027831 00000 н. 0000028059 00000 п. 0000028330 00000 п. 0000028533 00000 п. 0000028824 00000 п. 0000029077 00000 н. 0000029348 00000 п. 0000029639 00000 п. 0000029842 00000 н. 0000029965 00000 н. 0000030096 00000 п. 0000030273 00000 п. 0000030434 00000 п. 0000030597 00000 п. 0000030802 00000 п. 0000031049 00000 п. 0000031318 00000 п. 0000031517 00000 п. 0000031712 00000 п. 0000031959 00000 п. 0000032228 00000 н. 0000032427 00000 н. 0000032616 00000 п. 0000032863 00000 п. 0000033132 00000 п. 0000033331 00000 п. 0000033548 00000 п. 0000033795 00000 п. 0000034064 00000 п. 0000034263 00000 п. 0000034435 00000 п. 0000034601 00000 п. 0000034769 00000 п. 0000034922 00000 п. 0000035123 00000 п. 0000035394 00000 п. 0000035685 00000 п. 0000035888 00000 п. 0000036097 00000 п. 0000036294 00000 п. 0000036497 00000 н. 0000036726 00000 п. 0000036951 00000 п. 0000037222 00000 п. 0000037425 00000 п. 0000037716 00000 п. 0000037945 00000 п. 0000038152 00000 п. 0000038309 00000 п. 0000038492 00000 п. 0000038679 00000 п. 0000038864 00000 п. 0000039050 00000 п. 0000039260 00000 п. 0000039547 00000 п. 0000039641 00000 п. 0000040835 00000 п. 0000040993 00000 п. 0000041177 00000 п. 0000041365 00000 п. 0000041541 00000 п. 0000041661 00000 п. 0000041856 00000 п. 0000042127 00000 п. 0000042330 00000 п. 0000042621 00000 п. 0000042836 00000 п. 0000043027 00000 н. 0000043209 00000 п. 0000043391 00000 п. 0000043602 00000 п. 0000043873 00000 п. 0000044164 00000 п. 0000044367 00000 п. 0000044572 00000 п. 0000044692 00000 п. 0000044843 00000 п. 0000045004 00000 п. 0000045168 00000 п. 0000045324 00000 п. 0000045485 00000 п. 0000045684 00000 п. 0000045955 00000 п. 0000046158 00000 п. 0000046449 00000 п. 0000046689 00000 п. 0000046960 00000 п. 0000047163 00000 п. 0000047454 00000 п. 0000047657 00000 п. 0000047928 00000 п. 0000048219 00000 п. 0000048422 00000 н. 0000048604 00000 п. 0000048796 00000 п. 0000048989 00000 н. 0000049260 00000 п. 0000049551 00000 п. 0000049754 00000 п. 0000049949 00000 н. 0000050220 00000 п. 0000050423 00000 п. 0000050714 00000 п. 0000050865 00000 п. 0000051045 00000 п. 0000051248 00000 п. 0000051441 00000 п. 0000051712 00000 п. 0000052003 00000 п. 0000052206 00000 п. 0000052401 00000 п. 0000052672 00000 п. 0000052875 00000 п. 0000053166 00000 п. 0000053335 00000 п. 0000053539 00000 п. 0000053694 00000 п. 0000053845 00000 п. 0000054014 00000 п. 0000054170 00000 п. 0000054336 00000 п. 0000054535 00000 п. 0000054806 00000 п. 0000055009 00000 п. 0000055300 00000 п. 0000055503 00000 п. 0000055774 00000 п. 0000055977 00000 п. 0000056268 00000 п. 0000056509 00000 п. 0000056780 00000 п. 0000057071 00000 п. 0000057274 00000 п. 0000057459 00000 п. 0000057646 00000 п. 0000057839 00000 п. 0000058110 00000 п. 0000058401 00000 п. 0000058604 00000 п. 0000058799 00000 н. 0000059070 00000 н. 0000059273 00000 п. 0000059564 00000 п. 0000059719 00000 п. 0000059901 00000 н. 0000060106 00000 п. 0000060299 00000 н. 0000060570 00000 п. 0000060861 00000 п. 0000061064 00000 п. 0000061259 00000 п. 0000061530 00000 п. 0000061733 00000 п. 0000062024 00000 п. 0000062201 00000 п. 0000062405 00000 п. 0000062653 00000 п. 0000062924 00000 п. 0000063215 00000 п. 0000063418 00000 п. 0000063588 00000 п. 0000063776 00000 п. 0000063960 00000 п. 0000064138 00000 п. 0000064298 00000 н. 0000064548 00000 п. 0000064819 00000 п. 0000065110 00000 п. 0000065313 00000 п. 0000065486 00000 п. 0000065673 00000 п. 0000065863 00000 п. 0000066042 00000 п. 0000066206 00000 п. 0000066468 00000 п. 0000066815 00000 п. 0000067060 00000 п. 0000067139 00000 п. 0000067489 00000 н. 0000067741 00000 п. 0000068003 00000 п. 0000068349 00000 п. 0000068598 00000 п. 0000068948 00000 п. 0000069204 00000 п. 0000069296 00000 п. 0000071032 00000 п. 0000072492 00000 п. 0000074022 00000 п. 0000075171 00000 п. 0000076643 00000 п. 0000077949 00000 п. 0000079073 00000 п. 0000080390 00000 п. 0000083062 00000 п. 0000083101 00000 п. 0000083349 00000 п. 0000083891 00000 п. 0000128959 00000 н. 0000129228 00000 н. 0000129800 00000 н. 0000130063 00000 н. 0000130476 00000 н. 0000137090 00000 н. 0000137335 00000 н. 0000137533 00000 н. 0000137820 00000 н. 0000137966 00000 п. 0000138045 00000 н. 0000138125 00000 н. 0000138208 00000 н. 0000138289 00000 н. 0000138372 00000 н. 0000138452 00000 н. 0000138536 00000 н. 0000138618 00000 н. 0000138702 00000 н. 0000138782 00000 н. 0000138865 00000 н. 0000138992 00000 н. 0000139072 00000 н. 0000009768 00000 н. 0000005261 00000 п. трейлер ] >> startxref 0 %% EOF 4756 0 объект > поток i0? 喠 UaPy \ cdT0Q2˚; ~ 0l? A @ rV = 3MT? s1D: S1 fQs] DLuiw ؖ sd, a | D «yh> # ReZ ~ 9 约 b5 ג jTNi 7

Возвращаемые значения в хранимой процедуре SQL

Как использовать возвращаемые значения в хранимой процедуре SQL или Как использовать возвращаемые значения для возврата сообщения из хранимой процедуры с примером.

Возвращаемые значения в хранимой процедуре на сервере Sql будут возвращать только целые значения. По умолчанию он возвращает 0, если вы успешно выполнили любую хранимую процедуру. Для демонстрации выходных данных, возвращаемых хранимой процедурой SQL, мы будем использовать приведенную ниже таблицу SQL

.

Возвращаемые значения в примере хранимой процедуры SQL 1

В этом примере мы покажем вам возвращаемое значение по умолчанию, возвращаемое SQL Server. Чтобы продемонстрировать то же самое, позвольте мне выполнить ранее созданную хранимую процедуру.

Я предлагаю вам обратиться к статье Введение в хранимую процедуру, чтобы изучить основы хранимой процедуры SQL Server. И обратитесь к параметрам ввода в статье о хранимой процедуре, чтобы узнать определение, стоящее за этой хранимой процедурой.

Здесь мы назначаем значение «Занятие» как «Управление».

После того, как вы нажмете кнопку ОК, откроется новое окно запроса со следующим автоматически сгенерированным кодом. Как видите, в качестве возвращаемого значения возвращается 0. 0 означает успешное .

 - Пример хранимой процедуры SQL с параметрами вывода
ИСПОЛЬЗУЙТЕ [Учебное пособие по SQL]
ИДТИ

ОБЪЯВИТЬ @return_value int

EXEC @return_value = [dbo]. [SpGetEmployeeDetails]
@Occupation = N'Management '

ВЫБЕРИТЕ 'Возвращаемое значение' = @return_value

GO 

Возвращаемые значения в хранимой процедуре SQL, пример 2

В этом примере возвращаемого значения мы покажем, как использовать возвращаемые значения в хранимых процедурах. Чтобы написать оператор Select внутри хранимой процедуры, обратитесь к статье «Выбор хранимой процедуры».

В рамках процедуры мы используем СЧЁТ, чтобы найти количество сотрудников в таблице дубликатов сотрудников, а затем возвращаем значение.

 - Пример хранимой процедуры SQL с параметрами вывода
ИСПОЛЬЗУЙТЕ [Учебное пособие по SQL]
ИДТИ

СОЗДАТЬ ПРОЦЕДУРУ [dbo]. [SpCountEmployees]
В ВИДЕ
НАЧИНАТЬ
ВОЗВРАТ (ВЫБЕРИТЕ COUNT (EmpID) из [EmployeeDuplicates])
КОНЕЦ
 

Позвольте мне выполнить хранимую процедуру.

 - Пример возвращаемых значений хранимой процедуры SQL
ИСПОЛЬЗУЙТЕ [Учебное пособие по SQL]
ИДТИ
- Объявить переменную типа Int.Должен совпадать с параметром вывода SP
ОБЪЯВЛЯЕМ @TotalEmployees INT

- Назначение вывода хранимой процедуры объявленной переменной
EXEC @TotalEmployees = [dbo]. [SpCountEmployees]

- Печать вывода
ПЕЧАТЬ @TotalEmployees 

Возвращаемые значения хранимой процедуры Пример 3

В этом примере позвольте мне показать вам, что произойдет, если мы вернем данные String (Varchar) в качестве возвращаемого значения. Здесь мы выбираем профессию сотрудника, чья фамилия равна Gateway. (Вместо жесткого кодирования значения вы также можете попробовать параметр ввода).

 - Пример возвращаемых значений хранимой процедуры SQL
ИСПОЛЬЗУЙТЕ [Учебное пособие по SQL]
ИДТИ

СОЗДАТЬ ПРОЦЕДУРУ [dbo]. [SpEmployeeName]
В ВИДЕ
НАЧИНАТЬ
 ВОЗВРАТ (ВЫБЕРИТЕ [Профессия] ОТ [EmployeeDuplicates]
         ГДЕ [Фамилия] = N'Gateway ')
КОНЕЦ 

Позвольте мне выполнить хранимую процедуру.

 - Пример возвращаемых значений хранимой процедуры SQL
ИСПОЛЬЗУЙТЕ [Учебное пособие по SQL]
ИДТИ
ОБЪЯВИТЬ @EmpName VARCHAR (50)
EXEC @EmpName = [dbo]. [SpEmployeeName]
ПЕЧАТЬ @EmpName 

Как видно из скриншота ниже, возникает ошибка.потому что возвращаемые значения всегда возвращают только целые числа.

sql server — Могу ли я иметь дополнительный параметр OUTPUT в хранимой процедуре?

Выходные параметры и значения по умолчанию несовместимы вместе! Это из SQL 10.50.1617 (2008 R2). Не обманывайтесь, , полагая, что эта конструкция волшебным образом изменяет SET на это значение от вашего имени (как это сделал мой коллега)!

Этот «игрушечный» SP запрашивает значение параметра OUTPUT , является ли оно значением по умолчанию или NULL .

  СОЗДАТЬ ПРОЦЕДУРУ [dbo]. [Omgwtf] (@Qty INT, @QtyRetrieved INT = 0 ВЫХОД)
В ВИДЕ
ЕСЛИ @QtyRetrieved = 0
НАЧИНАТЬ
    напечатайте "ура его ноль"
КОНЕЦ
ЕСЛИ @QtyRetrieved имеет значение null
НАЧИНАТЬ
    напечатайте 'wtf its NULL'
КОНЕЦ
ВОЗВРАЩАТЬСЯ
  

Если вы отправите неинициализированное значение (например, NULL ) для OUTPUT , вы действительно получите NULL внутри SP, а не 0 . Имеет смысл, что-то передано для этого параметра.

  объявить @QR int
exec [dbo].[omgwtf] 1, вывод @QR
print '@ QR =' + coalesce (convert (varchar, @QR), 'NULL')
  

вывод:

  wtf его NULL
@ QR = NULL
  

Если мы добавим явный SET от вызывающего абонента, мы получим:

  объявить @QR int
установить @QR = 999
exec [dbo]. [omgwtf] 1, вывод @QR
print '@ QR =' + coalesce (convert (varchar, @QR), 'NULL')
  

и (неудивительно) вывод:

  @ QR = 999
  

Опять же, имеет смысл, параметр передан, и SP не предпринял никаких явных действий для SET значение.

Добавьте SET из параметра OUTPUT в SP (как и положено), но не устанавливайте ничего от вызывающего:

  ИЗМЕНЕНИЕ ПРОЦЕДУРЫ [dbo]. [Omgwtf] (@Qty INT, @QtyRetrieved INT = 0 ВЫХОД)
В ВИДЕ
ЕСЛИ @QtyRetrieved = 0
НАЧИНАТЬ
    напечатайте "ура его ноль"
КОНЕЦ
ЕСЛИ @QtyRetrieved имеет значение null
НАЧИНАТЬ
    напечатайте 'wtf its NULL'
КОНЕЦ
НАБОР @QtyRetrieved = @Qty
ВОЗВРАЩАТЬСЯ
  

Сейчас при исполнении:

  объявить @QR int
exec [dbo]. [omgwtf] 1234, вывод @QR
print '@ QR =' + coalesce (convert (varchar, @QR), 'NULL')
  

вывод:

  wtf его NULL
@ QR = 1234
  

Это «стандартное» поведение для обработки параметров ВЫХОД в SP.

Теперь о повороте сюжета : единственный способ получить значение по умолчанию для «активировать» — это сделать так, чтобы не передавал параметр ВЫХОД вообще , что ИМХО не имеет большого смысла: поскольку он настроен как ВЫХОД , что означает возврат чего-то «важного», которое необходимо собрать.

  объявить @QR int
exec [dbo]. [omgwtf] 1
print '@ QR =' + coalesce (convert (varchar, @QR), 'NULL')
  

дает следующий результат:

  ура его ноль
@ QR = NULL
  

Но это не может захватить вывод SP, предположительно цель этого SP с самого начала.

ИМХО, эта комбинация функций — сомнительная конструкция, я бы посчитал запах кода (уф !!)

AM 6.5> SAML v2.0 Guide

Управление доступом

Управление для предоставления или запрета доступа к ресурсу.

Блокировка учетной записи

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

Действия

Определяется как часть политик, эти глаголы указывают, что авторизованные идентификаторы могут делать с ресурсами.

Консультация

В контексте политического решения об отказе в доступе, Подсказка для пункта применения политики о корректирующих действиях, которые необходимо предпринять это может привести к разрешению доступа.

Администратор агента

Пользователь, имеющий права только на чтение и запись профиля агента информация о конфигурации, обычно создается для делегирования агента создание профиля для пользователя, устанавливающего веб-агент или Java-агент.

Аутентификатор агента

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

Заявка

В общих чертах сервис, предоставляющий защищенные ресурсы.

В контексте политик AM приложение — это шаблон, который ограничивает политики которые регулируют доступ к защищенным ресурсам. Приложение может иметь ноль или более политик.

Тип приложения

Типы приложений действуют как шаблоны для создания приложений политик.

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

Типы приложений также определяют внутреннюю нормализацию, логика индексации и логика компаратора для приложений.

Управление доступом на основе атрибутов (ABAC)

Управление доступом на основе атрибутов пользователя, например возраста пользователь является или является ли пользователь платящим клиентом.

Аутентификация

Акт подтверждения личности принципала.

Цепочка аутентификации

Серия модулей аутентификации, настроенных вместе, которые принципал должен вести переговоры, как настроено для аутентификации успешно.

Уровень аутентификации

Положительное целое число, связанное с модулем аутентификации, обычно раньше требовал успеха с более строгими мерами аутентификации, когда запрашивающие ресурсы, требующие особой защиты.

Модуль аутентификации

Блок аутентификации AM, который обрабатывает один способ получения и проверка учетных данных.

Авторизация

Действие, определяющее, предоставить или запретить доступ основному лицу к ресурсу.

Сервер авторизации

В OAuth 2.0 выдает токены доступа клиенту после аутентификации владельцем ресурса и подтверждая, что владелец разрешает клиенту получить доступ к защищенному ресурсу. AM может играть эту роль в OAuth 2.0. структура авторизации.

Автофедерация

Соглашение о федерации идентичности принципала автоматически на основе по общему значению атрибута, совместно используемому профилями принципала в разные провайдеры.

Массовая федерация

Пакетное задание, постоянно объединяющее профили пользователей между сервисами поставщик и поставщик удостоверений на основе списка подходящих пользователей идентификаторы, которые существуют у обоих поставщиков.

Круг доверия

Группа поставщиков, включая как минимум одного поставщика удостоверений, который согласились доверять друг другу участие в провайдере SAML v2.0 федерация.

Клиент

В OAuth 2.0, запрашивает защищенные веб-ресурсы от имени владелец ресурса получил разрешение владельца. AM может сыграть эту роль в среде авторизации OAuth 2.0.

Клиентские токены OAuth 2.0

После успешного потока предоставления OAuth 2.0 AM возвращает токен клиенту. Это отличается от токенов OAuth 2.0 на основе CTS, где AM возвращает клиенту ссылку на токен.

Клиентские сеансы

AM сеансов для которого AM возвращает состояние сеанса клиенту после каждого запроса, и потребовать его передачи с последующим запросом.Для браузера клиентов, AM устанавливает cookie в браузере, который содержит сеанс Информация.

Для браузерных клиентов AM устанавливает cookie в браузере, который содержит состояние сеанса. Когда браузер передает cookie обратно в AM, AM декодирует состояние сеанса из печенье.

Условия

Определяется как часть политик, они определяют обстоятельства, при которых применяется политика.

Условия окружающей среды отражают такие обстоятельства, как IP-адрес клиента, время суток, способ аутентификации субъекта, или достигнутый уровень аутентификации.

Условия объекта отражают характеристики объекта, например аутентифицирован ли субъект, личность субъекта, или претензии в теме JWT.

Хранилище данных конфигурации

Служба каталогов LDAP, содержащая данные конфигурации AM.

Междоменная единая регистрация (CDSSO)

Возможность единого входа в систему через разные DNS домены.

Токены OAuth 2.0 на основе CTS

После успешного OAuth 2.0 поток грантов, AM возвращает ссылка на токен для клиента, а не на сам токен. Это отличается от клиентских токенов OAuth 2.0, где AM возвращает клиенту весь токен.

сеансов на основе CTS

сеансов AM которые находятся в хранилище токенов Core Token Service. Сеансы на основе CTS также могут кэшироваться в памяти на одном или нескольких AM. серверы. AM отслеживает эти сеансы, чтобы обрабатывать такие события, как выход из системы и тайм-аут, чтобы разрешить ограничения сеанса и уведомить приложения, участвующие в SSO по окончании сеанса.

Делегация

Предоставление пользователям прав администратора с помощью AM.

Права

Решение, определяющее, к каким именам ресурсов можно и нельзя получить доступ для данной личности в контексте конкретного приложения, какие действия разрешены, а какие запрещены, и любые соответствующие советы и атрибуты.

Расширенные метаданные

Информация о конфигурации федерации, относящаяся к AM.

Расширяемый язык разметки контроля доступа (XACML)

Стандартный язык политик контроля доступа на основе XML, включая модель обработки для принятия решений об авторизации на основе политик.

Федерация

Стандартизированные средства для агрегирования идентификаторов, совместной аутентификации и данные авторизации между доверенными поставщиками, а также разрешение принципалам для доступа к услугам разных поставщиков без повторная аутентификация.

Fedlet

Приложение поставщика услуг, способное участвовать в круге доверять и разрешать федерацию без установки всех AM на сторона поставщика услуг; AM позволяет создавать Java Fedlets.

Горячая замена

Относится к свойствам конфигурации, изменения которых могут вступить в силу без перезапуска контейнера, в котором работает AM.

Идентификация

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

Федерация удостоверений

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

Поставщик удостоверений (IdP)

Сущность, которая создает утверждения о принципале (например, как и когда участник аутентифицирован, или что профиль участника имеет указанное значение атрибута).

Репозиторий идентификационных данных

Хранилище данных, содержащее профили пользователей и информацию о группах; разные репозитории идентичности могут быть определены для разных сфер.

Java-агент

Веб-приложение Java, установленное в веб-контейнере, который действует как точка применения политики, фильтрующая запросы к другим приложениям в контейнере с политиками, основанными на URL-адресах ресурсов приложения.

Метаданные

Информация о конфигурации федерации для поставщика.

Политика

Набор правил, определяющих, кому предоставляется доступ к защищенному ресурсу когда, как и при каких условиях.

Агент политики

Java, веб-агент или пользовательский агент, который перехватывает запросы на ресурсы, направляет принципалов к AM для аутентификации и обеспечивает выполнение решений политики от AM.

Точка администрирования политик (PAP)

Сущность, которая управляет и хранит определения политик.

Точка принятия решения о политике (PDP)

Сущность, которая оценивает права доступа и затем выдает авторизацию решения.

Точка применения политик (PEP)

Сущность, которая перехватывает запрос ресурса и затем применяет политические решения от PDP.

Точка информации о политике (PIP)

Сущность, которая предоставляет дополнительную информацию, такую ​​как атрибуты профиля пользователя что PDP необходимо для принятия решения.

Основной

Представляет сущность, которая была аутентифицирована (например, пользователь, устройство или приложение), и таким образом отличается от других сущностей.

Когда субъект успешно аутентифицируется, AM связывает Субъект с Принципалом.

Привилегия

В контексте делегированного администрирования набор административных задач, которые могут выполняться указанными идентификаторами в данной сфере.

Федерация поставщиков

Соглашение между поставщиками об участии в круге доверия.

Область

Блок AM для организации информации о конфигурации и идентичности.

Области могут использоваться, например, когда разные части организации иметь разные приложения и хранилища идентификационных данных, и когда разные организации используют одно и то же развертывание AM.

Администраторы могут делегировать администрирование области. Администратор назначает пользователям административные привилегии, позволяя им выполнять административные задачи в пределах области.

Ресурс

Кое-что, к чему пользователь может получить доступ по сети, например к веб-странице.

Определяется как часть политик, они могут включать подстановочные знаки, чтобы соответствовать нескольким фактическим ресурсам.

Владелец ресурса

В OAuth 2.0, сущность, которая может авторизовать доступ к защищенной сети ресурсы, такие как конечный пользователь.

Сервер ресурсов

В OAuth 2.0 сервер, на котором размещаются защищенные веб-ресурсы, может обработка токенов доступа для ответа на запросы таких ресурсов.

Атрибуты ответа

Определенные как часть политик, они позволяют AM вернуть дополнительную информацию в виде «атрибутов» с ответом на политическое решение.

Управление доступом на основе ролей (RBAC)

Управление доступом, основанное на том, предоставлен ли пользователю набор разрешений (роль).

Язык разметки утверждения безопасности (SAML)

Стандартный язык на основе XML для обмена аутентификацией и данные авторизации между поставщиками удостоверений и поставщиками услуг.

Поставщик услуг (SP)

Сущность, которая принимает утверждения о принципале (и предоставляет сервис, к которому пытается получить доступ принципал).

Сеанс аутентификации

Интервал, в течение которого пользователь или объект аутентифицируются в AM.

Сеанс

Интервал, который начинается после аутентификации пользователя и заканчивается, когда пользователь выходит из системы или когда его сессия завершена. Для браузерных клиентов AM управляет пользователем сеансы в одном или нескольких приложениях, установив файл cookie сеанса. См. Также сеансы на основе CTS и клиентские сеансы.

Высокая доступность сеанса

Возможность, которая позволяет любому AM-серверу в кластерном развертывании получить доступ общая постоянная информация о сеансах пользователей из токена CTS хранить.Пользователю не нужно снова входить в систему, если только все развертывание идет вниз.

Маркер сеанса

Уникальный идентификатор, выданный AM после успешной аутентификации. Для сеансов на основе CTS токен сеанса используется для отслеживать сеанс директора.

Единый выход из системы (SLO)

Возможность, позволяющая принципалу завершить сеанс один раз, тем самым завершив ее сеанс в нескольких приложениях.

Единый вход (SSO)

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

Участок

Группа серверов AM настроена аналогично, доступ через уровень балансировщика нагрузки. Балансировщик нагрузки обрабатывает аварийное переключение для обеспечения доступности на уровне обслуживания.

Балансировщик нагрузки также можно использовать для защиты служб AM.

Стандартные метаданные

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

Служба без гражданства

Службы без сохранения состояния не хранят никаких данных локально в службе.Когда сервису требуются данные для выполнения какого-либо действия, он запрашивает их. из хранилища данных. Например, служба проверки подлинности без сохранения состояния хранит состояние сеанса для вошедших в систему пользователей в базе данных. Таким образом, любой сервер в развертывании можно восстановить сеанс из базы данных и службы запросы для любого пользователя.

Все службы AM не имеют состояния, если не указано иное. Видеть также клиентские сеансы и CTS-сессии.

Субъект

Сущность, запрашивающая доступ к ресурсу

Когда личность успешно аутентифицируется, AM связывает личность с Принципалом что отличает его от других идентичностей.Удостоверение может быть связано с несколькими участниками.

Магазин личных данных

Служба хранения данных, содержащая профили руководителей; базовое хранилище может быть службой каталогов LDAP или настраиваемой IdRepo реализация.

Веб-агент

Собственная библиотека, установленная на веб-сервере, которая действует как точка применения политики с политиками, основанными на URL-адресах веб-страниц.

Расширяемый язык разметки (XML) 1.0 (пятое издание)

1 Введение

Extensible Markup Language, сокращенно XML, описывает класс данных объекты, называемые XML-документами и частично описывает поведение компьютерных программ, которые их обрабатывают. XML — это профиль приложения или ограниченная форма SGML, Standard Generalized Markup Язык [ISO 8879]. По своей конструкции XML-документы соответствуют Документы SGML.

XML-документы состоят из единиц хранения, называемых сущностями, которые содержат проанализированные или не проанализированные данные.Анализируемые данные состоят из символов, некоторые из которых образуют символ данные, а некоторые из них образуют разметку. Разметка кодирует описание схемы хранения документа и логические состав. XML предоставляет механизм для наложения ограничений на структуру хранилища. и логическая структура.

[Определение: программный модуль под названием XML-процессор используется для чтения XML-документов и предоставления доступа к их содержанию и структуре.] [Определение: Это предполагается, что процессор XML выполняет свою работу от имени другого модуля, позвонил в приложение .] Эта спецификация описывает требуемое поведение процессора XML с точки зрения того, как он должен читать XML данные и информацию, которую они должны предоставить приложению.

1.1 Происхождение и цели

XML был разработан Рабочей группой XML (первоначально известной как SGML Редакционный совет по обзору), сформированный под эгидой Консорциума World Wide Web. (W3C) в 1996 году. Его председательствовал Джон Босак из Sun Microsystems с активным участие XML Special Interest Group (ранее известной как SGML Working Group), также организованный W3C.Членство в XML Working Группа приведена в приложении. Дэн Коннолли был контактным лицом Рабочей группы с W3C.

Цели разработки XML:

  1. XML должен быть легко доступен через Интернет.

  2. XML должен поддерживать широкий спектр приложений.

  3. XML должен быть совместим с SGML.

  4. Программа, обрабатывающая XML-документы, должна быть простой.

  5. Количество дополнительных функций в XML должно быть сведено к абсолютному минимум, в идеале ноль.

  6. XML-документы должны быть удобочитаемыми и достаточно четкими.

  7. XML-дизайн должен быть подготовлен быстро.

  8. Дизайн XML должен быть формальным и лаконичным.

  9. XML-документы должны быть легкими в создании.

  10. Краткость разметки XML имеет минимальное значение.

Эта спецификация вместе со связанными стандартами (Unicode [Unicode] и ISO / IEC 10646 [ISO / IEC 10646] для символов, Internet BCP 47 [IETF BCP 47] и реестр языковых подтэгов [IANA-LANGCODES] для языка идентификационные метки), обеспечивает вся информация, необходимая для понимания XML версии 1.0 и создавать компьютерные программы для его обработки.

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

1.2 Терминология

Терминология, используемая для описания XML-документов, определена в теле эта спецификация. Ключевые слова ДОЛЖНЫ , НЕ ДОЛЖНЫ , НЕОБХОДИМО , ДОЛЖЕН , НЕ ДОЛЖЕН , ДОЛЖЕН , НЕ ДОЛЖЕН , РЕКОМЕНДУЕТСЯ , МАЙ и ДОПОЛНИТЕЛЬНО , когда ВЫЧИСЛЕНА , должны интерпретироваться, как описано в [IETF RFC 2119].Кроме того, термины определены в следующем списке используются в строительстве эти определения и в описании действий процессора XML:

ошибка

[Определение: нарушение правил данной спецификации; результаты не определены. Если не указано иное, несоблюдение предписания данной спецификации, обозначенное одним из ключевых слов ДОЛЖНО , ТРЕБУЕТСЯ , НЕ ДОЛЖНО , ДОЛЖЕН и НЕ ДОЛЖНО , является ошибкой.Соответствующее программное обеспечение МОЖЕТ обнаружить ошибку и сообщить об ошибке. и МАЙ взыскать с него.]

фатальная ошибка

[Определение: ошибка, возникающая у соответствующего процессора XML. ДОЛЖЕН обнаруживать и сообщать приложению. После обнаружения фатальной ошибки процессор МОЖЕТ продолжить обработку данные для поиска дополнительных ошибок, и МОЖЕТ сообщать о таких ошибках в приложение. Для поддержки исправления ошибок процессор МОЖЕТ сделать необработанным. данные из документа (со смешанными символьными данными и разметкой) доступны к приложению.Однако при обнаружении фатальной ошибки процессор НЕ ДОЛЖЕН продолжать нормальную обработку (т. Е. НЕ ДОЛЖЕН продолжать передавать символ данные и информация о логической структуре документа для приложения обычным способом).]

по выбору пользователя

[Определение: соответствующее программное обеспечение МОЖЕТ или ДОЛЖЕН (в зависимости от модального глагола в предложении) вести себя, как описано; если это так, ДОЛЖЕН предоставить пользователям средства для включения или отключения поведения описано.]

ограничение срока действия

[Определение: правило, применимое к все действительные XML-документы. Нарушение срока действия ограничения — это ошибки; они ДОЛЖНЫ быть сообщены , по выбору пользователя, проверяющими процессорами XML.]

ограничение правильности

[Определение: применимое правило ко всем правильно сформированным XML-документам. Нарушения ограничений корректности являются фатальными ошибками.]

совпадение

[Определение: (Строк или имен 🙂 Две строки или сравниваемые имена идентичны.Персонажи с несколькими возможными представления в ISO / IEC 10646 (например, символы с предварительно составленными и базовые + диакритические формы) совпадают, только если они имеют одинаковое представление в обоих струны. Нет футляр складывается. (О строках и правилах грамматики 🙂 Строка соответствует грамматической продукции, если она принадлежит к языку, сгенерированному это производство. (О моделях содержимого и содержимого 🙂 Элемент соответствует его объявлению когда он соответствует способу, описанному в ограничении [VC: Element Valid] .]

для совместимости

[Определение: знаки предложение, описывающее функцию XML, включено исключительно для обеспечения этот XML остается совместимым с SGML.]

для взаимодействия

[Определение: знаки предложение, описывающее необязательную рекомендацию, включенную для увеличения шансы, что XML-документы могут быть обработаны существующим установленным база процессоров SGML, предшествующих приложению WebSGML Adaptations к ISO 8879.]

2 документа

[Определение: объект данных — это XML документ , если он правильно сформирован, как определено в этой спецификации. Кроме того, XML-документ действительно, если он отвечает определенным дополнительным ограничениям.]

Каждый XML-документ имеет как логическую, так и физическую структуру. Физически, документ состоит из единиц, называемых объектами. Организация может ссылаться на другие объекты на вызывают их включение в документ. Документ начинается с «корня» или документ.Логично, что документ состоит из объявлений, элементов, комментариев, ссылок на символы и инструкции по обработке, все из которых указаны в документе явными разметка. Логические и физические структуры ДОЛЖНЫ правильно размещаться, как описано в 4.3.2 Хорошо сформированные анализируемые объекты .

2.1 Хорошо оформленные XML-документы

[Определение: текстовый объект — это правильно сформированный XML-документ, если:]

  1. В целом он соответствует документу с маркировкой производства.

  2. Он отвечает всем ограничениям правильности формы, приведенным в данной спецификации.

  3. Каждая из проанализированных сущностей который прямо или косвенно упоминается в документе, имеет правильный формат.

Документ

Соответствие продукции документа подразумевает, что:

  1. Он содержит один или несколько элементов.

  2. [Определение: есть ровно один элемент, называется корнем , или элементом документа, никакая часть которого не появляется в содержании любого другого элемента.] Для все остальные элементы, если начальный тег находится в содержимое другого элемента, конечный тег находится в содержимом того же элемента. Проще говоря, элементы, разделены начальным и конечным тегами, правильно вкладываются друг в друга.

[Определение: как следствие этого, для каждого некорневого элемента C в документе есть еще один элемент P в документе так, что C находится в содержании P , но не входит в состав любого другого элемента, который есть в содержании P . П упоминается как родительский для C и C как ребенок из P .]

2.2 Символы

[Определение: проанализированный объект содержит текст , последовательность символов, которая может представляют разметку или символьные данные.] [Определение: символ является элементарной единицей текста, как указано в ISO / IEC 10646: 2000 [ISO / IEC 10646]. Допустимые символы — табуляция, каретка возврат, перевод строки и допустимые символы Unicode и ISO / IEC 10646.В версии этих стандартов, цитируемые в A.1 Нормативные ссылки , были действующий на момент подготовки этого документа. Могут быть добавлены новые персонажи к этим стандартам путем внесения поправок или новых редакций. Следовательно, процессоры XML ДОЛЖЕН принимать любой символ в диапазоне, указанном для Char. ]

Диапазон символов
[2] Символ :: = # x9 | #xA | #xD | [# x20- # xD7FF] | [# xE000- # xFFFD] | [# x10000- # x10FFFF] / * любой символ Unicode, за исключением суррогатных блоков, FFFE и FFFF.* /

Механизм кодирования кодовых точек символов в битовые комбинации может варьироваться от объекта к объекту. Все процессоры XML ДОЛЖНЫ принимать UTF-8 и UTF-16. кодировки Unicode [Unicode]; механизмы для сигнализации, какой из двух используется, или для использования других кодировок, обсуждаются позже, в 4.3.3 Кодирование символов в объектах .

Примечание:

Авторам документов рекомендуется избегать «совместимые символы», как определено в разделе 2.3 из [Unicode]. Символы, определенные в следующих диапазонах, также обескуражен. Это либо управляющие символы, либо постоянно неопределенный Unicode. символы:

 [# x7F- # x84], [# x86- # x9F], [# xFDD0- # xFDEF],
[# x1FFFE- # x1FFFF], [# x2FFFE- # x2FFFF], [# x3FFFE- # x3FFFF],
[# x4FFFE- # x4FFFF], [# x5FFFE- # x5FFFF], [# x6FFFE- # x6FFFF],
[# x7FFFE- # x7FFFF], [# x8FFFE- # x8FFFF], [# x9FFFE- # x9FFFF],
[# xAFFFE- # xAFFFF], [# xBFFFE- # xBFFFF], [# xCFFFE- # xCFFFF],
[# xDFFFE- # xDFFFF], [# xEFFFE- # xEFFFF], [# xFFFFE- # xFFFFF],
[# x10FFFE- # x10FFFF].

2.3 Общие синтаксические конструкции

В этом разделе определяются некоторые символы, широко используемые в грамматике.

S (пробел) состоит из одного или нескольких пробелов (# x20) символы, возврат каретки, перевод строки или табуляция.

Белое пространство
[3] S :: = (# x20 | # x9 | #xD | #xA) +

Примечание:

Присутствие #xD в указанной выше продукции поддерживается исключительно для обратной совместимости с Первое издание.Как объясняется в 2.11 Обработка конца строки , все символы #xD буквально присутствуют в XML-документе либо удаляются, либо заменяются символами #xA перед любая другая обработка сделана. Единственный способ получить символ #xD, соответствующий этой продукции, — это используйте ссылку на символ в литерале значения объекта.

Nmtoken (токен имени) — это любое сочетание имен символы.

[Определение: имя — это Nmtoken с ограниченным набором начальных символов.] Запрещенные начальные символы для имен включают цифры, диакритические знаки, точку и дефис.

Имена, начинающиеся со строки « xml », или с любой строкой, которая соответствует (('X' | 'x') ('M' | 'm') ('L' | 'l')) , зарезервированы для стандартизации в этой или будущих версиях данной спецификации.

Примечание:

Пространства имен в Рекомендации XML [XML Names] присваивают значение на имена, содержащие символы двоеточия. Поэтому авторам не следует использовать двоеточие в именах XML, за исключением целей пространства имен, но процессоры XML должны принять двоеточие как символ имени.

Первый символ имени ДОЛЖЕН быть NameStartChar, а любой другие символы ДОЛЖНЫ быть NameChars; этот механизм используется для запретить имена начинаться с европейских (ASCII) цифр или с основные сочетания символов. Почти все символы разрешены в имена, за исключением тех, которые либо являются, либо разумно могут быть использованы в качестве разделители. Намерение должно быть инклюзивным, а не исключительным, так что системы письма, еще не закодированные в Unicode, могут использоваться в Имена XML.См. J Предложения для имен XML для предложений по созданию имена.

Авторам документов рекомендуется использовать имена, значимые слова или комбинации слов на естественных языках, и чтобы избежать использования символов или пробелов в именах. Обратите внимание, что ТОЛЧКА, ДЕФИС-МИНУС, ПОЛНЫЙ СТОП (точка), НИЖНЯЯ СТРОКА (подчеркивание) и СРЕДНЯЯ ТОЧКА явно разрешена.

Символы ASCII и знаки препинания, а также довольно большая группа символов Unicode, исключена из имен потому что они более полезны в качестве разделителей в контекстах, где XML имена используются вне XML-документов; предоставление этой группы дает в этих контекстах жесткие гарантии того, что не может быть частью имя XML.Символ # x037E, ГРЕЧЕСКИЙ ВОПРОСНЫЙ ЗНАК, исключен. потому что при нормализации он становится точкой с запятой, которая может изменить значение ссылок на сущности.

Имена и токены
[4] NameStartChar :: = ":" | [А-Я] | "_" | [а-я] | [# xC0- # xD6] | [# xD8- # xF6] | [# xF8- # x2FF] | [# x370- # x37D] | [# x37F- # x1FFF] | [# x200C- # x200D] | [# x2070- # x218F] | [# x2C00- # x2FEF] | [# x3001- # xD7FF] | [# xF900- # xFDCF] | [# xFDF0- # xFFFD] | [# x10000- # xEFFFF]
[4a] NameChar :: = NameStartChar | "-" | "."| [0-9] | # xB7 | [# x0300- # x036F] | [# x203F- # x2040]
[5] Имя :: = NameStartChar (NameChar) *
[6] Имена :: = Имя (# x20 Имя) *
[7] Nmtoken :: = (NameChar) +
[8] Nmtokens :: = Nmtoken (# x20 Nmtoken) *

Литеральные данные любая строка в кавычках, не содержащая использованных кавычек как разделитель для этой строки.’] * «‘») [12] PubidLiteral :: = '"' PubidChar * '"' | "'" (PubidChar - "'") * "'" [13] PubidChar :: = # x20 | #xD | #xA | [a-zA-Z0-9] | [- '() +,. /: =?;! * # @ $ _%]

Примечание:

Хотя продукция EntityValue позволяет определение общей сущности, состоящей из одного явного < в буквальном (е.g., ), настоятельно рекомендуется избегать эта практика, поскольку любая ссылка на эту сущность приведет к правильной формулировке ошибка.

2.4 Символьные данные и разметка

Текст состоит из смешанных символьных данных и разметки. [Определение: Разметка принимает форму начальных тегов, конечных тегов, тегов пустых элементов, ссылок на сущности, символа. ссылки, комментарии, разделители разделов CDATA, документ объявления типов, инструкции обработки, объявления XML, текстовые объявления, и любое пустое пространство на верхнем уровне сущности документа (которое находится вне элемента документа, а не внутри какой-либо другой разметки).]

[Определение: весь текст без разметки. составляет символьных данных документа.]

Символ амперсанда (&) и левая угловая скобка (<). НЕ ДОЛЖНЫ появляться . в их буквальной форме, кроме случаев, когда они используются в качестве разделителей разметки, или внутри комментария обработка инструкция или раздел CDATA. Если они нужны где-то еще, они ДОЛЖНЫ быть сброшены . с использованием ссылок на числовые символы или струны " & amp; " а также " & lt; " соответственно.Правая угловая скобка (>) может быть представлена ​​строкой " & gt; ", и НЕОБХОДИМО, чтобы для совместимости не отображались. используя либо " & gt; "или ссылка на символ, когда он появляется в строке " ]]> "в содержании, когда эта строка не отмечает конец CDATA раздел.

В содержании элементов символьные данные представляют собой любую строку символов который не содержит начального ограничителя какой-либо разметки и не включает CDATA-section-close разделитель " ]]> ".В разделе CDATA символьные данные - это любая строка символов, не включая закрытие раздела CDATA разделитель " ]]> ". <&] *)

2.5 комментариев

[: Комментарии могут появиться в любом месте документа за пределами другой разметки; кроме того, они могут появляться в объявлении типа документа в местах разрешено грамматикой. Они не являются частью характера документа данные; процессор XML МОЖЕТ , но не обязательно, делает возможным приложение для получения текста комментариев. Для совместимость, строка " "(двойной дефис) НЕ ДОЛЖЕН встречаться в комментариях.] Параметр Ссылки на объекты НЕ ДОЛЖНЫ распознаваться в комментариях .

Комментарии
[15] Комментарий :: = ''

Пример комментария:

  &  -> 

Примечание. что грамматика не допускает комментариев, оканчивающихся на ---> .В следующий пример - это , а не в правильном формате.

2.6 Инструкции по обработке

[Определение: Инструкции по обработке (PI) позволяют документам содержать инструкции для приложений.]

Инструкции по обработке
[16] PI :: = '' Char *)))? '?>'
[17] PITarget :: = Имя - (('X' | 'x') ('M' | 'm') ('L' | 'l'))

PI не являются частью символа документа data, но ДОЛЖЕН быть передан приложению.PI начинается с целью (PITarget), используемой для идентификации приложения на которую направлена ​​инструкция. Целевые имена " XML "," xml ", и так далее, зарезервированы для стандартизации в этой или будущих версиях этого Технические характеристики. Механизм нотации XML может использоваться для формального объявления целей PI. Параметр ссылки на объекты НЕ ДОЛЖНЫ распознаваться в инструкциях по обработке.

2.7 Разделы CDATA

[Определение: Разделы CDATA могут встречаться везде, где могут встречаться символьные данные; они используются для выхода из блоков текста, содержащего символы, которые иначе были бы распознаны как разметка.Разделы CDATA начинаются со строки " " и закончить строкой " ]]> ":]

Разделы CDATA
[18] CDSect :: = CDStart CData CDEnd
[19] CDStart :: = '
[20] CData :: = (симв. * - (симв. * ']]>' Char *))
[21] CDEnd :: = ']]>'

В разделе CDATA только CDEnd строка распознается как разметка, поэтому могут встречаться левые угловые скобки и амперсанды в их буквальном виде; их не нужно (и нельзя) избежать с помощью " & lt; " а также " & amp; ".Разделы CDATA не могут быть вложенными.

Пример раздела CDATA, в котором " <приветствие> " а также " "распознаются как символьные данные, а не как разметка:

  Hello, world! ]]> 

2.8 Декларация пролога и типа документа

[Определение: XML-документы ДОЛЖНЫ начните с декларации XML , которая указывает версию XML используется.] Например, это полный XML-документ, правильно сформированный, но недействительный:

 
 Привет, мир!  

и вот это:

  Привет, мир!  

Функция разметки в XML-документе - описать его хранилище и логическая структура и связанный атрибут пары имя-значение с их логической структурой. XML предоставляет механизм, документ объявление типа для определения ограничений логической структуры и для поддержки использования предопределенных единиц хранения.[Определение: документ XML является действительным , если с ним связан объявление типа документа и соответствие документа ограничениям выражено в нем.]

Объявление типа документа ДОЛЖНО появиться перед первым элементом в документе.

Prolog

Даже если версия VersionNum совпадает любой номер версии в форме «1.x», документы XML 1.0 НЕ ДОЛЖНЫ указывать номер версии , отличный от «1.0».

Примечание:

Когда XML 1.0 обработчик обнаруживает документ, в котором указано номер версии 1.x, отличный от 1.0, он будет обрабатывать его как документ 1.0. Это означает, что процессор XML 1.0 примет Документы 1.x при условии, что в них не используются какие-либо функции, отличные от 1.0.

[Определение: документ XML объявление типа содержит или указывает на разметку объявления, которые обеспечивают грамматику для класса документов. Этот грамматика известна как определение типа документа или DTD . Документ объявление типа может указывать на внешнее подмножество (особый вид внешней сущности), содержащее объявления разметки, или может содержать объявления разметки непосредственно во внутреннем подмножестве, или может сделать и то, и другое.DTD для документа состоит из обоих подмножеств, взятых вместе.]

[Определение: декларация разметки объявление типа элемента, объявление списка атрибутов, сущность декларация или декларация нотации.] Эти объявления могут содержаться полностью или частично в параметре сущности, как описано в ограничениях корректности и достоверности ниже. Для дальнейшего информацию см. 4 Physical Structures .

Определение типа документа

Примечание что можно создать правильно сформированный документ, содержащий doctypedecl который не указывает на внешнее подмножество и не содержит внутреннего подмножества.

Объявления разметки могут состоять полностью или частично из замещающего текста параметра. сущности. Производство, приведенное ниже в этой спецификации для индивидуальных нетерминалы (elementdecl, AttlistDecl, и так далее) описать объявления после все параметры объекты были включены.

Параметр ссылки на сущности распознаются в любом месте DTD (внутреннее и внешнее подмножеств и сущностей внешних параметров), за исключением литералов, инструкций обработки, комментарии и содержимое игнорируемых условных разделов (см. 3.4 Условные разделы ). Они также распознаются в литералах значений сущностей. Использование сущностей параметров во внутреннем подмножестве ограничено, как описано ниже.

Ограничение действительности: Тип корневого элемента

Имя в объявлении типа документа ДОЛЖЕН соответствовать типу элемента корневого элемента.

Ограничение действительности: правильное объявление / вложение PE

Текст замены объекта параметра ДОЛЖЕН быть правильно вложенным с объявлениями разметки.То есть, если первый или последний символ объявления разметки (markupdecl выше) содержится в тексте замены для объекта-параметра ссылка, оба ДОЛЖНЫ содержать в одном тексте замены.

Ограничение корректности: PE во внутреннем подмножестве

In внутреннее подмножество DTD, ссылки на сущности параметров НЕ ДОЛЖЕН встречаться в объявлениях разметки; они могут возникать там, где могут появляться объявления разметки.(Это не относится к ссылкам, которые встречаются во внешних объектах параметров или к внешнему подмножеству.)

Ограничение корректности: внешнее подмножество

Внешнее подмножество, если оно есть, ДОЛЖНО соответствовать продукту extSubset.

Ограничение корректности: PE между объявлениями

Текст замены ссылки на сущность параметра в DeclSep ДОЛЖЕН соответствовать производственному extSubsetDecl.

Как внутреннее подмножество, внешнее подмножество и любой внешний параметр упомянутые объекты в DeclSep ДОЛЖЕН состоять из серии полные объявления разметки типов, разрешенных нетерминальным символом markupdecl, с вкраплениями пробелов или ссылок на сущности параметров.Однако части содержимое внешнего подмножества или этих сущности внешних параметров можно условно игнорировать с помощью конструкции условного раздела; это не разрешено во внутреннем подмножестве, но разрешено во внешних объектах параметров, на которые ссылается внутреннее подмножество.

Внешнее подмножество

Внешнее подмножество и сущности внешних параметров также отличаются от внутреннее подмножество в том, что в них, параметр-сущность ссылки разрешены в декларациях разметки , не только между объявлениями разметки .

Пример XML-документа с объявлением типа документа:

 

 Привет, мир!  

Системный идентификатор " привет.dtd " дает адрес (ссылку URI) DTD для документа.

Объявления также могут быть заданы локально, как в этом примере:

 

]>
 Hello, world!  

Если используются как внешние, так и внутренние подмножества, внутреннее подмножество ДОЛЖЕН рассматриваться как возникший перед внешним подмножеством.Это приводит к тому, что объявления сущностей и списков атрибутов во внутреннем подмножества имеют приоритет над таковыми во внешнем подмножестве.

2.9 Объявление автономного документа

Объявления разметки могут влиять на содержимое документа, как передано из процессор XML для приложения; Примеры являются значениями атрибутов по умолчанию и объявлениями сущностей. Объявление автономного документа, который может появляться как компонент объявления XML, сигнализирует о том, нет таких деклараций, которые кажутся внешними по отношению к документу юридическое лицо или в объектах параметров.[Определение: внешний декларация разметки определяется как декларация разметки, встречающаяся в внешнее подмножество или в объекте параметра (внешнем или внутреннем, последний включен, потому что непроверяющие процессоры не обязаны читать их).]

Декларация автономного документа

В декларации автономного документа значение «да» означает что нет объявлений внешней разметки, которые влияют на информацию, передаваемую из процессора XML в приложение.В значение «нет» указывает на то, что такие внешние объявления разметки. Обратите внимание, что объявление автономного документа только обозначает наличие внешних деклараций ; наличие в документе ссылок на внешние объекты , когда эти объекты являются внутренними заявлено, не меняет своего автономного статуса.

Если нет объявлений внешней разметки, объявление автономного документа не имеет значения. Если есть объявления внешней разметки, но нет автономное объявление документа, предполагается значение «нет».

Любой XML-документ, для которого standalone = "no" содержит, можно преобразовать алгоритмически в отдельный документ, что может быть желательно для некоторых приложения сетевой доставки.

Ограничение срока действия: Декларация автономного документа

декларация автономного документа ДОЛЖНА иметь значение "нет", если любые объявления внешней разметки содержат объявления:

  • атрибутов со значениями по умолчанию, если элементы, к которым применяются эти атрибуты, появляются в документе без спецификации значений для этих атрибутов или

  • сущностей (кроме amp , лт , гт , апос , quot ), если ссылки для этих сущностей появляются в документе, или атрибуты

  • с токенизированные типы, где атрибут появляется в документе со значением, таким, что нормализация будет производить отличную от той, которая была бы произведена при отсутствии декларации или типов элементов

  • с содержанием элемента, если пробелы встречаются непосредственно в любом экземпляре этих типов.

Пример объявления XML с объявлением автономного документа:

  

2.10 Обработка пробелов

При редактировании XML-документов часто удобно использовать "пробелы" (пробелы, табуляции и пустые строки) чтобы отделить разметку для большей читабельности. Такое пустое пространство обычно не предназначен для включения в поставляемую версию документа. На с другой стороны, «значительное» пустое пространство, которое следует сохранить в поставленной версии обычное дело, например в стихах и исходном коде.

Процессор XML ДОЛЖЕН всегда проходить все символы в документе, которые не размечены до приложения. Проверяющий процессор XML ДОЛЖЕН также сообщить приложению, какой из этих символов представляет собой появляющееся пустое пространство в содержании элемента.

Специальный атрибут с именем xml: space может быть прикреплен к элементу, чтобы сигнализировать о намерении, что в этом элементе пустое пространство должно быть сохранено приложениями. В действующих документах это атрибут, как и любой другой, ДОЛЖЕН быть объявлен если он используется.При объявлении ДОЛЖЕН указываться в виде пронумерованного тип, значения которого являются одним или обоими значениями «по умолчанию» и «сохранить». Например:

 

 

Значение «default» сигнализирует о том, что в приложениях используется пробел по умолчанию. для этого элемента приемлемы режимы обработки; значение «сохранить» указывает на намерение, что приложения сохраняют все пустое пространство. Этот заявленное намерение применяется ко всем элементам содержимого элемента, в котором он указан, если он не переопределен с помощью другой экземпляр атрибута xml: space .Эта спецификация не придает значения никаким значениям xml: space , кроме «по умолчанию» и «сохранить». Указание других значений является ошибкой; XML-процессор МОЖЕТ сообщить об ошибке или МОЖЕТ восстановить, игнорируя спецификацию атрибута или сообщая (ошибочное) значение приложению. Приложения могут игнорировать или отклонять ошибочные значения.

Корневым элементом любого документа считается не сообщал о намерениях в отношении работы с пространством приложений, если только он предоставляет значение для этого атрибута или атрибут объявлен с значение по умолчанию.

2.11 Обработка конца строки

Разобранные XML-объекты часто сохраняются в компьютерных файлах, которые для удобства редактирования сгруппированы в строки. Эти строки обычно разделяются некоторой комбинацией символов ВОЗВРАТ ПЕРЕВОЗКИ (#xD) и ПОДАЧА ЛИНИИ (#xA).

Кому упростить задачи приложений, XML процессор ДОЛЖЕН вести себя так, как если бы он нормализовал все разрывы строк во внешнем синтаксическом анализе. сущности (включая сущность документа) при вводе, перед синтаксическим анализом, путем перевода как двухсимвольная последовательность #xD #xA, так и любая #xD, за которой не следует #xA до одного символа #xA.

2.12 Идентификация языка

При обработке документов часто бывает полезно идентифицировать естественное или формальное язык, на котором написано содержание. Особый атрибут named xml: lang может быть вставлен в документы для указания языка используется в содержимом и значениях атрибутов любого элемента XML-документа. В действительных документах этот атрибут, как и любой другой, ДОЛЖЕН быть объявлен . если он используется. В значения атрибута являются идентификаторами языка, как определено в [IETF BCP 47], Теги для определения языков ; кроме того, может быть указана пустая строка.

(Производства с 33 по 38 удалены.)

Например:

 

Быстрая коричневая лисица перепрыгивает через ленивую собаку.

Какого цвета?

Какого цвета?

Хабэ, монахиня, ах! Философия, Juristerei, und Medizin und leider auch Theologie durchaus studiert mit heißem Bemüh'n.

Язык, указанный в xml: lang , применяется к элементу, в котором он указан. (включая значения его атрибутов) и всем элементам в его содержимом, если только переопределено другим экземпляром xml: lang . В частности, пустое значение xml: lang используется в элементе B для переопределения спецификация xml: lang на включающем элементе A без указания другого языка. Внутри B, считается, что информация о языке недоступна, как если бы xml: lang не был указан на B или на любом из его предков.Приложения определяют, какое из значений атрибута элемента и какие части его символьного содержимого, если таковые имеются, обрабатываются как языковые значения, описанные в xml: lang .

Примечание:

Информация о языке также может предоставляться внешними транспортными протоколами (например, HTTP или MIME). Когда эта информация доступна, она может использоваться приложениями XML, но более локальные информацию, предоставленную xml: lang , следует рассматривать как переопределение.

Простое объявление для xml: lang может иметь вид

, но при необходимости также могут быть указаны конкретные значения по умолчанию. В коллекции французских стихов для английских студентов, с глоссами и примечаниями на английском языке, xml: lang атрибут может быть объявлен так:

 

 

3 логические структуры

[Определение: каждый XML документ содержит один или несколько элементов , границы из которых либо разделены начальными тегами и конечные теги, или, если пусто элементов тегом пустого элемента.Каждый элемент имеет тип, идентифицируемый по имени, иногда называемый его "универсальным" идентификатор "(GI), и может иметь набор спецификаций атрибутов.] Каждая спецификация атрибута имеет имя и значение.

Элемент

Эта спецификация не ограничивает семантика приложения, использование или (помимо синтаксиса) имена типов и атрибутов элементов, кроме имен, начинающихся с соответствует (('X' | 'x') ('M' | 'm') ('L' | 'l')) зарезервированы для стандартизации в этой или будущих версиях данной спецификации.

Ограничение корректности: Соответствие типа элемента

Имя в конечном теге элемента ДОЛЖЕН соответствовать типу элемента в начальном теге.

Ограничение допустимости: элемент действителен

Элемент действителен если есть объявление, соответствующее elementdecl где Имя соответствует типу элемента, а одно из имеет место следующее:

  1. Объявление соответствует EMPTY , и элемент не имеет содержимого (даже объект ссылки, комментарии, ИП или пробелы).

  2. Объявление соответствует дочерним элементам и последовательность дочерних элементов принадлежит на язык, сгенерированный регулярным выражением в модели содержимого, с необязательным пробелом, комментариями и PI (т.е. продукция, соответствующая разметке [27] Разное) между начальный тег и первый дочерний элемент, между дочерними элементами или между последний дочерний элемент и конечный тег. Обратите внимание, что раздел CDATA, содержащий только пробел или ссылка к объекту, замещающий текст которого представляет собой символьные ссылки, расширяющиеся до белого цвета пространство не соответствуют нетерминальному S, и следовательно, не может появляться в этих позициях; однако ссылка на внутренний объект с буквальным значением, состоящим из символа ссылки, расширяющиеся до пробела, соответствуют S, поскольку его текст замены - это пробел, возникший в результате расширения символа Рекомендации.

  3. Декларация соответствует Mixed, а содержание (после замены любые ссылки на сущности с их заменяющим текстом) состоит из символьные данные (включая разделы CDATA), комментарии, PI и дочерние элементы, типы которых соответствуют именам в модель контента.

  4. Декларация соответствует ANY , а содержание (после замены любые ссылки на сущности с их заменяющим текстом) состоит из символьных данных, CDATA разделы, комментарии, ИП и дочерние элементы типы которых были объявлены.

3.1 Начальные теги, конечные теги и теги пустых элементов

[Определение: начало каждого непустого Элемент XML отмечен начальным тегом .]

Начальный тег

Имя в начальном и конечном тегах дает тип элемента . [Определение: Name-AttValue пары называются спецификациями атрибутов element], [Определение: имя в каждой паре именуется именем атрибута ] и [Определение: содержание AttValue (текст между ' или " разделители) как значение атрибута .] Примечание что порядок спецификаций атрибутов в начальном теге или пустом элементе тег не имеет значения.

Ограничение корректности: Уникальная спецификация атрибута

Имя атрибута НЕ ДОЛЖЕН появляться более одного раза в одном и том же начальном теге или теге пустого элемента.

Ограничение действительности: Тип значения атрибута

Атрибут ДОЛЖЕН были объявлены; значение ДОЛЖНО иметь объявленный для него тип. (Для атрибута типы см. 3.3 Объявления списка атрибутов .)

Ограничение корректности: нет ссылок на внешние сущности

Атрибут значения НЕ ДОЛЖНЫ содержать прямых или косвенных ссылок на внешние объекты.

Ограничение корректности: Нет < в значениях атрибутов

Заменяющий текст любого объекта прямо или косвенно упоминаемое в значении атрибута НЕ ДОЛЖНО содержать <.

Пример начального тега:

  

[Определение: конец каждого элемента, который начинается с начальным тегом ДОЛЖЕН быть отмечен конечным тегом , содержащим имя который повторяет тип элемента, указанный в начальном теге:]

Концевой ярлык
[42] ETag :: = ''

Пример конечного тега:

[Определение: текст между начальным и конечным тегами называется содержимым элемента :]

Состав элементов

[Определение: элемент без содержимого считается пустым .] Представительство пустого элемента - это либо начальный тег, за которым следует конечный тег, или тег пустого элемента. [Определение: пустой элемент тег принимает особую форму:]

Теги для пустых элементов

Теги пустых элементов могут использоваться для любого элемента, не имеющего содержимого, независимо от того, или нет, он объявлен с использованием ключевого слова EMPTY . Для совместимости, тег пустого элемента ДОЛЖЕН , а СЛЕДУЕТ использовать только для элементов, которые объявлены ПУСТОЙ.

Примеры пустых элементов:

 



3.2 Объявления типов элементов

Структура элементов XML-документа может для проверки В целях ограничения используйте объявления типа элемента и списка атрибутов. Объявление типа элемента ограничивает содержимое элемента.

Объявления типа элемента часто ограничивают, какие типы элементов могут отображаться как дочерние элементы элемента.У пользователя вариант, XML-процессор МОЖЕТ выдавать предупреждение, когда в объявлении упоминается тип элемента, для которого не предусмотрено объявление, но это не ошибка.

[Определение: элемент объявление типа принимает форму:]

Объявление типа элемента

, где Имя указывает тип объявляемого элемента.

Ограничение действительности: Уникальное объявление типа элемента

Тип элемента НЕ ДОЛЖЕН объявляться более одного раза.

Примеры объявления типов элементов:

 


 
3.2.1 Содержание элемента

[Определение: тип элемента имеет содержимого элемента , когда элементы этого типа ДОЛЖЕН содержать только дочерний элементы (без символьных данных), необязательно разделенные пробелами (символы соответствие нетерминалу S).] [Определение: в этом случае ограничение включает контент модель , простая грамматика, определяющая разрешенные типы дочерние элементы и порядок, в котором они могут появляться.] Грамматика построена на частицах содержимого (cps), которые состоят из имен, списков выбора частиц содержимого или списков последовательностей содержание частиц:

Модели содержимого элемента

, где каждое Имя является типом элемента, который может появиться в детстве. Любой контент частица в списке выбора может появиться в элементе содержимое в том месте, где в грамматике появляется список выбора; частицы содержимого, встречающиеся в списке последовательностей , ДОЛЖНЫ каждая появляться в содержимом элемента в порядке, указанном в списке.Необязательный символ, следующий за именем или списком, определяет, будет ли элемент или частицы содержимого в списке могут встречаться одной или несколькими ( + ), ноль или более ( * ), либо ноль или один раз (? ). В Отсутствие такого оператора означает, что элемент или частица содержимого ДОЛЖЕН появляются ровно один раз. Этот синтаксис и значение идентичны тем, которые используются в продукции в этой спецификации.

Содержимое элемента соответствует модели содержимого тогда и только тогда, когда оно можно проследить путь через модель контента, соблюдая последовательность, операторы выбора и повторения и сопоставление каждого элемента в содержимом против типа элемента в модели содержимого.Для совместимость, это ошибка, если модель содержимого позволяет элементу соответствовать более чем одному вхождению типа элемента в модель контента. Для получения дополнительной информации см. E Детерминированные модели содержимого .

Ограничение допустимости: правильное вложение группы / PE

Текст замены объекта параметра ДОЛЖЕН быть правильно вложен в скобки. группы. То есть, если открывающая или закрывающая круглые скобки в на выбор, последовательность или смешанный конструкция содержится в тексте замены для параметра объект, оба ДОЛЖНЫ содержаться в одном тексте замены.

Для взаимодействия, если ссылка на параметр-сущность появляется в конструкциях choice, seq или Mixed, его замещающий текст ДОЛЖЕН содержать в хотя бы один непустой символ, и ни первый, ни последний непустой символ текста замены ДОЛЖЕН быть соединителем ( | или , ).

Примеры моделей содержимого элементов:

 

 
3.2.2 Смешанное содержимое

[Определение: тип элемента имеет смешанное содержимое , когда элементы этого типа могут содержать символы данные, необязательно с вкраплениями дочернего elements.] В этом случае типы дочерних элементов могут быть ограничены, но не их порядок или количество вхождений:

Объявление смешанного содержимого

, где Имена указывают типы элементов, которые могут появиться как дети. В Ключевое слово #PCDATA исторически образовано от термина "проанализировано символьные данные."

Ограничение допустимости: отсутствие повторяющихся типов

одно и то же имя НЕ ДОЛЖНО появляться более одного раза в одном объявлении смешанного содержимого.

Примеры объявлений смешанного содержимого:

 

 

3.3 Объявления списка атрибутов

Атрибуты используются, чтобы связать имя-значение пары с элементами.Характеристики атрибутов НЕ ДОЛЖЕН появляться вне начальных тегов и тегов пустых элементов; таким образом, постановки раньше распознавать их появляются в 3.1 Начальные теги, Конечные теги и Теги пустых элементов . Объявления списка атрибутов может использоваться:

  • Для определения набора атрибутов, относящихся к данному типу элемента.

  • Чтобы установить ограничения типа для этих атрибутов.

  • Для предоставления значений по умолчанию для атрибуты.

[Определение: Список атрибутов объявления определяют имя, тип данных и значение по умолчанию (если есть) каждого атрибута, связанного с данным типом элемента:]

Объявление списка атрибутов

Имя в списке атрибутовDecl Правило - это тип элемента. По выбору пользователя процессор XML может выдавать предупреждение, если атрибуты объявлены для типа элемента, который сам не объявлен, но это не ошибка. Имя в AttDef Правило - это имя атрибута.

Когда предоставляется более одного AttlistDecl для данного типа элемента содержимое всех предоставленных элементов объединяется. Когда для одного и того же атрибута данного элемента предоставляется более одного определения type, первое объявление является обязательным, а последующие объявления игнорируются. Для взаимодействия авторы DTD могут выбрать предоставить не более одного объявления списка атрибутов для данного типа элемента, не более одного определения атрибута для данного имени атрибута в списке атрибутов объявление и по крайней мере одно определение атрибута в каждом списке атрибутов декларация.Для обеспечения взаимодействия процессор XML МОЖЕТ по выбору пользователя. выдавать предупреждение, когда предоставлено более одного объявления списка атрибутов для данного типа элемента, или предоставляется более одного определения атрибута для данного атрибута, но это не ошибка.

3.3.1 Типы атрибутов

Типы атрибутов XML бывают трех видов: строковый тип, набор токенизированных типы и перечислимые типы. Тип строки может принимать любую буквальную строку как ценность; токенизированные типы более ограничены.Ограничения достоверности, указанные в грамматике, применяются после атрибута значение было нормализовано, как описано в 3.3.3 Нормализация значения атрибута .

Типы атрибутов

Ограничение допустимости: ID

Значения типа ID ДОЛЖЕН соответствовать имени продукции. Имя НЕ ДОЛЖНО появляться более одного раза в XML-документе как значение этого типа; т.е. значения ID ДОЛЖНЫ однозначно определить элементы, которые их несут.

Ограничение действительности: один идентификатор для каждого типа элемента

Тип элемента НЕ ДОЛЖЕН иметь более одного указанного атрибута идентификатора.

Ограничение действительности: Атрибут ID По умолчанию

Атрибут ID ДОЛЖЕН иметь объявленный дефолт #IMPLIED или #REQUIRED .

Ограничение действительности: IDREF

Значения типа IDREF ДОЛЖЕН соответствуют Имя продукции и значения типа IDREFS ДОЛЖЕН соответствовать именам; каждое имя ДОЛЖЕН соответствовать значению атрибута ID некоторого элемента в документе XML; я.е. IDREF значения ДОЛЖЕН соответствовать значению некоторого атрибута ID.

Ограничение действительности: Имя объекта

Значения типа ENTITY ДОЛЖЕН соответствовать продукции Name, значения типа ENTITIES ДОЛЖЕН соответствовать именам; каждое имя ДОЛЖЕН соответствовать имени неанализируемого объекта. заявлено в DTD.

Ограничение действительности: Имя Токен

Значения типа NMTOKEN ДОЛЖЕН соответствовать производству Nmtoken; значения типа NMTOKENS ДОЛЖЕН соответствовать Nmtokens.

[Определение: Перечислимые атрибуты иметь список допустимых значений в своем объявлении ]. Они ДОЛЖНЫ принимать одно из этих значений. Есть два типа перечисляемых типов атрибутов:

Перечислимые типы атрибутов

NOTATION Атрибут определяет нотацию, объявленные в DTD с соответствующими системными и / или общедоступными идентификаторами, которые должны быть используется при интерпретации элемента, к которому прикреплен атрибут.

Ограничение действительности: атрибуты нотации

Значения этого типа ДОЛЖЕН соответствовать одному из обозначений имен включены в декларацию; все имена обозначений в декларации ДОЛЖНЫ быть заявил.

Ограничение допустимости: одна нотация для каждого типа элемента

Тип элемента НЕ ДОЛЖЕН иметь более одного NOTATION указанный атрибут.

Ограничение действительности: нет обозначения для пустого элемента

Для совместимости атрибут типа ОБОЗНАЧЕНИЕ НЕ ДОЛЖЕН быть объявлен в элементе объявлен ПУСТОЙ .

Ограничение допустимости: нет повторяющихся токенов

Имена нотаций в одном типе нотации объявление атрибута, а также NmTokens в одном Объявление атрибута перечисления, ДОЛЖНО быть разными.

Ограничение допустимости: Перечисление

Значения этого типа ДОЛЖНЫ соответствовать один из токенов Nmtoken в декларации.

Для взаимодействия тот же Nmtoken НЕ ДОЛЖЕН встречаться более одного раза в перечисленных типы атрибутов одного типа элемента.

3.3.2 Значения атрибутов по умолчанию

Объявление атрибута предоставляет информацию от того, присутствует ли атрибут ТРЕБУЕТСЯ , а если нет, то как процессор XML должен реагировать, если объявленный атрибут отсутствует в документе.

Параметры атрибута по умолчанию

В объявлении атрибута #REQUIRED означает, что атрибут ДОЛЖЕН всегда предоставляться , # ПРЕДПОЛАГАЕТСЯ , что значение по умолчанию не предоставляется. [Определение: если декларация не является ни # ТРЕБУЕТСЯ , ни # ПРЕДПОЛАГАЕТСЯ , тогда значение AttValue содержит объявленное значение по умолчанию значение; ключевое слово #FIXED указывает, что атрибут ДОЛЖЕН всегда иметь значение по умолчанию.Когда процессор XML обнаруживает элемент без спецификации для атрибута, для которого он считал значение по умолчанию значение, ДОЛЖЕН сообщить атрибут с объявленным значением по умолчанию значение для приложения.]

Ограничение действительности: обязательный атрибут

Если значение по умолчанию объявление - это ключевое слово # ТРЕБУЕТСЯ , тогда атрибут ДОЛЖЕН быть указывается для всех элементов типа в объявлении списка атрибутов.

Ограничение действительности: значение атрибута по умолчанию синтаксически правильно

Заявленное значение по умолчанию ДОЛЖНО соответствовать синтаксису. ограничения объявленного типа атрибута.То есть значение атрибута по умолчанию:

  • типа IDREF или ENTITY должны соответствовать продукции Name;

  • типа IDREFS или ENTITIES должны соответствовать продукции Names;

  • типа NMTOKEN должен соответствовать продукции Nmtoken;

  • типа NMTOKENS должен соответствовать производству Nmtokens;

  • перечислимого типа (либо типа NOTATION, либо перечисления) должен соответствовать одному из перечислимых значений.

Обратите внимание, что только здесь требуются синтаксические ограничения типа; другие ограничения (например, чтобы значение было именем объявленной неразобранной сущности, для атрибута type ENTITY) будет сообщено проверяющим парсер, только если элемент без спецификации для этого атрибута на самом деле происходит.

Ограничение действительности: фиксированный атрибут по умолчанию

Если атрибут имеет значение по умолчанию, объявленное с ключевым словом #FIXED , экземпляры этот атрибут ДОЛЖЕН соответствовать значению по умолчанию.

Примеры объявлений списка атрибутов:

 
Список 
Форма  
3.3.3 Нормализация значения атрибута

Перед передачей или проверкой значения атрибута в приложение для достоверности XML-процессор ДОЛЖЕН нормализовать значение атрибута, применяя приведенный ниже алгоритм или используя какой-либо другой метод, чтобы передаваемое значение в приложение такое же, как и в алгоритме.

  1. Все разрывы строк ДОЛЖНЫ быть нормализованы при вводе в #xA, как описано в 2.11 Обработка конца строки , поэтому остальная часть этого алгоритма работает на текст, нормализованный таким образом.

  2. Начните с нормализованного значения, состоящего из пустой строки.

  3. Для каждого символа, ссылки на объект или ссылки на символ в ненормализованное значение атрибута, начиная с первого и продолжаясь до наконец, выполните следующие действия:

    • Для ссылки на символ добавьте указанный символ в нормализованное значение.

    • Для ссылки на объект рекурсивно примените шаг 3 этого алгоритма к замещающему тексту сущности.

    • Для символа пробела (# x20, #xD, #xA, # x9) добавьте пробел (# x20) к нормализованному значению.

    • Для другого символа добавьте его к нормализованному значению.

Если тип атрибута не CDATA, то процессор XML ДОЛЖЕН дополнительно обработать нормализованное значение атрибута, отбросив все начальные и конечные пробела (# x20) символов, и путем замены последовательностей пробелов (# x20) символов одним пробелом (# x20).

Обратите внимание, что если ненормализованное значение атрибута содержит ссылку на символ к символу пробела, отличному от пробела (# x20), нормализованное значение содержит сам ссылочный символ (#xD, #xA или # x9). Это контрастирует с случай, когда ненормализованное значение содержит символ пробела (не ссылка), который заменяется пробелом (# x20) в нормализованном значение, а также контрастирует со случаем, когда ненормализованное значение содержит ссылка на объект, замещающий текст которой содержит символ пробела; при рекурсивной обработке символ пробела заменяется символом пробел (# x20) в нормализованном значении.

Все атрибуты, для которых не было прочитано объявление ДОЛЖНЫ быть обработаны непроверяющим процессором, как если бы он был объявлен CDATA .

Это ошибка, если атрибут значение содержит ссылку на объект, для которого не было прочитано объявление.

Ниже приведены примеры нормализации атрибутов. Учитывая следующие объявления:

 

 

спецификации атрибутов в левом столбце ниже будут нормализованы к символьным последовательностям среднего столбца, если атрибут a объявляется NMTOKENS , а для правых столбцов - - заявлен CDATA .

Спецификация атрибута a - NMTOKENS a - CDATA
 a = "& d; & d; A & a; & # x20; & a; B & da;" 
 # x20 # x20 A # x20 # x20 # x20 B # x20 # x20 
 а =
"& # xd; & # xd; A & # xa; & # xa; B & # xd; & # xa;" 
 #xD #xD A #xA #xA B #xD #xA 
 #xD #xD A #xA #xA B #xD #xA 

Обратите внимание, что последний пример неверен (но правильно сформирован), если a заявлен как тип NMTOKENS .

3.4 Условные разделы

[Определение: Условный разделы являются частями типа документа объявление внешнего подмножества или сущностей внешних параметров, которые включены или исключены из логическая структура DTD на основе ключевого слова, которое ими управляет.]

Условная секция

Ограничение действительности: Правильная условная секция / вложение PE

Если любое из " ", " [" или "]]> " условного раздела содержится в тексте замены для ссылки на объект-параметр, все они ДОЛЖНЫ содержаться в том же тексте замены.

Подобно внутреннему и внешнему подмножествам DTD, условный раздел может содержать одно или несколько полных объявлений, комментариев, инструкций по обработке или вложенных условные разделы, смешанные с пустым пространством.

Если ключевое слово условного раздела - INCLUDE , то содержимое условного раздела ДОЛЖНО обрабатываться как часть DTD. Если ключевое слово условный раздел - IGNORE , тогда содержимое условного раздел ДОЛЖЕН НЕ обрабатываться как часть DTD.Если условный раздел с ключевым словом INCLUDE встречается внутри условный раздел большего размера с ключевым словом IGNORE , оба внешних и внутренние условные разделы ДОЛЖНЫ игнорироваться. Содержимое игнорируемого условного раздела ДОЛЖНО быть проанализировано путем игнорирования всех символов после " [" после ключевого слова, за исключением начала условного раздела « » и заканчивается «]]> », пока не будет найдено совпадение условного конец раздела найден.Ссылки на сущности параметра НЕ ДОЛЖНЫ распознаваться в этом процесс.

Если ключевое слово условного раздела является ссылкой на сущность параметра, объект параметра ДОЛЖЕН быть заменен его содержимым перед процессором решает, включать или игнорировать условный раздел.

Пример:

 



]]>

]]> 

4 Физические структуры

[Определение: XML-документ может состоять из одного или много единиц хранения.Эти называются объектами ; все они содержат содержания и являются все (кроме сущности документа и подмножество внешнего DTD), идентифицированное entity name .] Каждый XML-документ имеет одну сущность называется сущностью документа, которая обслуживает в качестве отправной точки для процессора XML и может содержать весь документ.

Объекты можно анализировать или не анализировать. [Определение: содержимое проанализированного объект именуется его замещающим текст; этот текст считается неотъемлемая часть документа.]

[Определение: неразобранный объект это ресурс, содержимое которого может быть или не быть текстом, и если текст, может быть отличным от XML. У каждой неанализируемой сущности есть связанная нотация, идентифицируемая по имени. Помимо требований что процессор XML делает идентификаторы сущности и нотации доступными в приложение XML не накладывает ограничений на содержимое неанализируемых сущности.]

Анализируемые сущности вызываются по имени с использованием ссылок на сущности; неразобранные сущности по имени, заданному в значении атрибутов ENTITY или ENTITIES .

[Определение: Юридические лица являются объектами для использования в содержимом документа. В этой спецификации общие организации иногда упоминаются безоговорочным термином организация когда это не приводит к двусмысленности.] [Определение: Параметр объекты - это проанализированные объекты для использования в DTD.] Эти два типа объектов используют разные формы ссылок и распознаются в разных контекстах. Более того, они занимают разные пространства имен; параметр сущность и общая сущность с тем же именем - две разные сущности.

4.1 Ссылки на символы и сущности

[Определение: символ ссылка относится к определенному символу в символе ISO / IEC 10646 установить, например, недоступный напрямую с доступных устройств ввода.]

Ссылка на символ

Ограничение корректности: Юридический символ

Упомянутые символы для использования символьных ссылок ДОЛЖЕН соответствовать продукту для Char.

Если ссылка на символ начинается с " & # x ", цифры и буквы до конечного ; предоставить шестнадцатеричный представление кодовой точки символа в ISO / IEC 10646.Если это начнется просто с " и # ", цифры до завершающего ; предоставить десятичное представление кодовой точки символа.

[Определение: ссылка на объект относится к содержимому именованной сущности.] [Определение: ссылки на проанализированные общие сущности используют амперсанд ( и ) и точка с запятой (; ) в качестве разделителей.] [Определение: Ссылки на сущности параметров используйте знак процента (% ) и точку с запятой (; ) в качестве разделителей.]

Ссылка на объект

Ограничение корректности: объект объявлен

В документе без какого-либо DTD, документ только с внутренним подмножеством DTD, который содержит без ссылок на параметры или документ с " standalone = 'да' ", для ссылка на сущность, которая не встречается во внешнем подмножестве или параметре entity, Имя, указанное в ссылке на объект , ДОЛЖНО соответствует этому в сущности объявление , которое не встречается во внешнем подмножестве или объект параметра, за исключением того, что правильно сформированные документы не должны объявлять любой из следующих объектов: amp , лт , гт , апос , quot .В объявление общего объекта ДОЛЖНО предшествовать любой ссылке на него, которая появляется в значении по умолчанию в объявлении списка атрибутов.

Обратите внимание, что непроверяющие процессоры не обязано читать и обрабатывать объявления сущностей, происходящие в сущностях параметров или в внешнее подмножество; для таких документов, правило, согласно которому объект должен быть объявлен, является только ограничением корректности если standalone = 'да' .

Ограничение действительности: Объявленная сущность

В документе с внешним подмножеством или ссылками на сущности параметров, если документ не является автономным (либо " standalone = 'no' " указано или нет отдельного объявления), то Имя, указанное в ссылке на объект , ДОЛЖНО соответствует этому в сущности декларация .Для обеспечения совместимости действующие документы ДОЛЖНЫ декларировать сущности amp , лт , гт , апос , quot , в форме, указанной в 4.6 Предопределенные объекты . Объявление объекта параметра ДОЛЖНО предшествовать любой ссылке на него. По аналогии, объявление общего объекта ДОЛЖНО предшествовать любому списку атрибутов объявление, содержащее значение по умолчанию с прямой или косвенной ссылкой к этой общей сущности.

Ограничение корректности: проанализированный объект

Ссылка на объект ДОЛЖНА НЕ содержит имя неанализируемой сущности. На неанализируемые объекты можно ссылаться только в атрибуте объявлены значения типа ENTITY или ENTITIES .

Ограничение корректности: без рекурсии

Анализируемый объект НЕ ДОЛЖЕН содержать рекурсивную ссылку на себя, прямо или косвенно.

Ограничение корректности: в DTD

Ссылка на сущность параметра НЕ ДОЛЖНА появляться вне DTD.

Примеры ссылок на символы и объекты:

 Введите  меньше  (& # x3C;) для сохранения параметров.
Этот документ был подготовлен & docdate; а также
засекречен & уровень безопасности ;. 

Пример ссылки на сущность параметра:

 


% ISOLat2; 

4.2 Заявления организаций

[Определение: Объекты объявлены таким образом:]

Объявление сущности

Имя идентифицирует сущность в сущности ссылка или, в случае неанализируемого объекта, в значении атрибут ENTITY или ENTITIES .Если объявлен такой же объект более одного раза первое встреченное объявление является обязательным; по выбору пользователя, XML-процессор МОЖЕТ выдать предупреждение, если объекты объявляются несколько раз.

4.2.1 Внутренние объекты

[Определение: если определение сущности - это EntityValue, определенное сущность называется внутренней сущностью . Нет отдельного физического объект хранилища, а содержимое объекта указано в объявлении.] Обратите внимание, что может потребоваться некоторая обработка ссылок на сущности и символы в литеральном значении сущности для создания правильный текст замены: см. 4.5 Построение замещающего текста сущности .

Внутренняя сущность - это анализируемая сущность.

Пример объявления внутреннего объекта:

  
4.2.2 Внешние объекты

[Определение: если объект не является внутренним, это внешний объект , объявленный следующим образом:]

Объявление внешней сущности

Если присутствует NDataDecl, это обычная неанализируемая сущность; в противном случае это анализируемая сущность.

Ограничение действительности: Заявленная нотация

Имя ДОЛЖЕН соответствовать объявленному имени нотации.

[Определение: SystemLiteral называется системой организации . идентификатор . Он предназначен для преобразования в ссылку URI. (как определено в [IETF RFC 3986]), как часть процесс разыменования, чтобы получить входные данные для процессора XML, чтобы построить текст замены объекта.] Это ошибка идентификатора фрагмента (начинающийся с символа # ) как часть системного идентификатора.Если иное не предусмотрено информацией, выходящей за рамки данной спецификации (например, особый тип элемента XML, определенный конкретным DTD, или обработка инструкция, определенная спецификацией конкретного приложения), относительные URI относительно местоположения ресурса, в котором объявление объекта имеет место. Это определяется как быть внешней сущностью, содержащей '<', которая начинает объявление, в точка, когда он анализируется как объявление. Таким образом, URI может относиться к документу сущности, к сущности, содержащей внешний Подмножество DTD или какой-либо другой внешний параметр юридическое лицо.Пытается получение ресурса, идентифицированного URI, может быть перенаправлено в парсер уровень (например, в преобразователе сущностей) или ниже (на уровне протокола, например, через заголовок HTTP Location: ). При отсутствии дополнительных информация, выходящая за рамки данной спецификации в пределах ресурса, базовый URI ресурса всегда является URI фактически возвращенного ресурса. Другими словами, это URI ресурса, полученного после перенаправления. произошло.

Система идентификаторы (и другие строки XML, предназначенные для использования в качестве ссылок URI) могут содержать символы, которые, согласно [IETF RFC 3986], должен быть экранирован, прежде чем URI можно будет использовать для получения указанного ресурса.'# x5E и '`' # x60, а также все символы выше # x7F. Поскольку побег - это не всегда полностью обратимый процесс, он ДОЛЖЕН выполняться только в случае крайней необходимости и как можно позже насколько это возможно в технологической цепочке. В частности, ни процесс конвертации относительный URI к абсолютному, ни процесс передачи ссылки URI на процесс или программный компонент, ответственный за разыменование его. ДОЛЖЕН запускаться. Когда экранирование все же происходит, оно ДОЛЖНО выполняться следующим образом:

  1. Каждый символ, который нужно экранировать, представлен в UTF-8 [Unicode] как один или несколько байтов.

  2. Результирующие байты экранируются с помощью механизм экранирования URI (то есть преобразованный в % HH , где HH - шестнадцатеричное представление байтового значения).

  3. Исходный символ заменяется полученной последовательностью символов.

Примечание:

В будущей редакции этой спецификации рабочая группа XML Core намеревается заменить предыдущий абзац. и список шагов с нормативной ссылкой на предстоящую редакцию IETF RFC 3987, которая будет определять «Устаревшие расширенные IRI (LEIRI)».Когда эта версия станет доступной, рабочая группа XML Core WG намерена использовать ее для замены язык, аналогичный приведенному выше, в любых будущих версиях спецификаций, связанных с XML, в рамках его компетенции.

[Определение: в дополнение к системе идентификатор, внешний идентификатор может включать публичный идентификатор .] Процессор XML, пытающийся получить содержимое объекта, может использовать любая комбинация общедоступные и системные идентификаторы, а также дополнительная информация за пределами области этой спецификации, чтобы попытаться создать альтернативную ссылку URI.Если процессор не может этого сделать, он ДОЛЖЕН использовать URI ссылка, указанная в системном литерале. Перед попыткой совпадения все строки пробелов в общедоступном идентификаторе ДОЛЖНЫ быть нормализованы до одиночные пробелы (# x20), а также начальные и конечные пробелы ДОЛЖНЫ удалить.

Примеры объявлений внешних сущностей:

 

 

4.3 Анализируемые объекты

4.3.1 Текстовое объявление

Внешние анализируемые сущности ДОЛЖНЫ начинаться каждый с текстового объявления .

Текстовое объявление

Текстовое объявление ДОЛЖНО предоставляться буквально, а не посредством ссылки. к анализируемому объекту. Текстовое объявление НЕ ДОЛЖЕН появляться ни на каком позиция, отличная от начала внешней анализируемой сущности.Текстовое объявление во внешнем анализируемом объекте не считается частью его замещающего текста.

4.3.2 Правильно сформированные проанализированные сущности

Сущность документа является правильно сформированной, если она совпадает с документом с производственной меткой. Внешняя общая анализируемая сущность правильно сформирована если он соответствует продукту с меткой extParsedEnt. Все сущности внешних параметров правильно сформированы по определению.

Примечание:

Только проанализированные сущности, на которые прямо или косвенно ссылаются в документе, должны быть правильно сформированы.

Хорошо сформированный внешний анализируемый объект

Внутренний общий анализируемый объект является правильно сформированным, если его замещающий текст соответствует продукту с пометкой. Все внутренние сущности параметров правильно сформированы по определению.

Следствие правильной формы в целом сущностей заключается в том, что логические и физические структуры в XML-документе правильно вложены; нет начального тега, конечного тега, тега пустого элемента, элемента, комментария, инструкции обработки, символа ссылка или ссылка на объект может начинаться в одном объекте и заканчиваться в другом.

4.3.3 Кодирование символов в объектах

Каждый внешний анализируемый объект в XML-документе может использовать различную кодировку для его персонажей. Все процессоры XML ДОЛЖНЫ иметь возможность читать объекты в обоих кодировки UTF-8 и UTF-16. Термины "UTF-8" и "UTF-16" в этой спецификации не применяются к связанные кодировки символов, включая, помимо прочего, UTF-16BE, UTF-16LE или CESU-8.

Объекты, закодированные в UTF-16 ДОЛЖНЫ и объекты закодированный в UTF-8 МАЙ начинается с метки порядка байтов, описанной Приложение H к [ISO / IEC 10646: 2000], раздел 16.8 из [Unicode] (символ ПРОБЕЛА НУЛЕВОЙ ШИРИНЫ, #xFEFF). Это подпись кодировки, не является частью разметки или символьных данных XML-документа. XML процессоры ДОЛЖНЫ иметь возможность использовать этот символ, чтобы различать UTF-8 и документы в кодировке UTF-16.

Если текст замены внешнего объекта должен начинаются с символа U + FEFF, без объявления текста присутствует, то ДОЛЖНА присутствовать Метка порядка байтов, кодируется ли объект в UTF-8 или UTF-16.

Хотя процессор XML требуется только для чтения сущностей в UTF-8 и кодировки UTF-16, признается, что другие кодировки используются вокруг мир, и процессорам XML может потребоваться чтение сущностей, которые используй их. В отсутствие информации о внешней кодировке символов (например, заголовков MIME), проанализированные объекты, которые хранятся в кодировке, отличной от UTF-8 или UTF-16 ДОЛЖЕН начинаться с текстового объявления (см. 4.3.1 Текстовое объявление ), содержащего объявление кодировки:

Заявление о кодировке
[80] EncodingDecl :: = S 'кодирование' Eq ('"' EncName '"' | "'" EncName "'")
[81] EncName :: = [A-Za-z] ([A-Za-z0-9._] | '-') * / * Кодировка имя содержит только латинские символы * /

В сущности документа кодировка объявление является частью объявления XML. EncName - это название используемой кодировки.

В объявлении кодировки значения " UTF-8 "," UTF-16 ", " ISO-10646-UCS-2 ", а также " ISO-10646-UCS-4 " СЛЕДУЕТ использовать для различных кодировок и преобразований Unicode / ISO / IEC 10646, ценности " ISO-8859-1 "," ISO-8859-2 ", ... " ISO-8859- n "(где n - номер детали) СЛЕДУЕТ использовать для частей ISO 8859, и ценности " ISO-2022-JP "," Shift_JIS ", а также " EUC-JP " СЛЕДУЕТ использовать для различных кодированных формы JIS X-0208-1997. Это РЕКОМЕНДУЕТСЯ , что кодировки символов зарегистрированы (как charset s) с Управлением по присвоению номеров в Интернете [IANA-CHARSETS], кроме тех, которые только что перечислены, упоминаться под их зарегистрированными именами; другие кодировки СЛЕДУЕТ использовать имена, начинающиеся с префикса «x-».XML-процессорам СЛЕДУЕТ сопоставлять имена кодировок символов без учета регистра пути, и СЛЕДУЕТ интерпретировать зарегистрированное IANA имя как зарегистрированное кодирование. в IANA для этого имени или рассматривать его как неизвестное (обработчики, конечно, не требуется для поддержки всех кодировок, зарегистрированных IANA).

При отсутствии информации, предоставленной внешним транспортным протоколом (например, HTTP или MIME), это фатальная ошибка для объект, включающий декларацию кодировки, которая должна быть представлена ​​процессору XML в кодировке, отличной от указанной в объявлении, или для объекта, который не начинается ни с одной метки порядка байтов ни объявление кодировки для использования кодировки, отличной от UTF-8.Обратите внимание, что поскольку ASCII является подмножеством UTF-8, обычные объекты ASCII строго не нужна декларация кодировки.

Возникновение TextDecl в другом месте является фатальной ошибкой. чем в начале внешнего объекта.

Это фатальная ошибка, когда процессор XML встречает объект с кодировкой, которую не может обработать. Это является фатальной ошибкой, если объект XML определен (по умолчанию, объявление кодировки, или протокол более высокого уровня), чтобы быть в определенной кодировке, но содержать байт последовательности, которые недопустимы в этой кодировке.В частности, это фатальная ошибка, если объект, закодированный в UTF-8, содержит некорректно сформированные последовательности кодовых единиц, как определено в разделе 3.9 Unicode [Unicode]. Если только кодировка определяется протоколом более высокого уровня, это также является фатальной ошибкой, если объект XML не содержит объявления кодировки, и его содержимое не является допустимым UTF-8 или UTF-16.

Примеры текстовых объявлений, содержащих объявления кодировки:

 
 

4.4 Обработка сущностей и ссылок процессором XML

В таблице ниже приведены контексты, в которых ссылки на символы, ссылки на сущности и вызовы неанализируемых сущностей могут появиться, и ТРЕБУЕТСЯ поведение процессора XML в каждом случае. Метки в крайнем левом столбце описывают контекст распознавания:

Ссылка в контенте

в качестве ссылки в любом месте после начального тега и перед конечным тегом элемента; соответствует к нетерминальному содержанию.

Ссылка в значении атрибута

в качестве ссылки в пределах значения атрибута в начальном теге, или значение по умолчанию в объявлении атрибута; соответствует нетерминальному AttValue.

Происходит как значение атрибута

как имя, а не ссылка, появляется либо как значение атрибута, который был объявлен как тип ENTITY , или как один из разделенных пробелами токенов в значении атрибута, который был объявлен как тип ENTITIES .

Ссылка в значении объекта

в качестве ссылки в литерале параметра или внутреннего объекта значение объекта в объявлении объекта; соответствует нетерминальному EntityValue.

Ссылка в DTD

как ссылка внутри внутреннего или внешнего подмножества DTD, но вне EntityValue, AttValue, PI, Comment, SystemLiteral, PubidLiteral, или содержимое игнорируемого условного раздела (см. 3.4 Условные разделы ).

.

4.4.1 Не распознается

Вне DTD символ % не имеет особого значения; таким образом, ссылки на сущности параметров в DTD не распознаются. как разметка в содержании. Точно так же имена неразобранных объекты не признаются, за исключением случаев, когда они появляются в стоимости надлежащим образом объявленный атрибут.

4.4.2 Включено

[Определение: объект включительно когда его заменяющий текст извлекается и обрабатывается вместо самой ссылки, как если бы она была частью документ в том месте, где была распознана ссылка.] Замена текст может содержать как символьные данные и (кроме сущностей параметров) разметка, который ДОЛЖЕН распознаваться обычным способом. (Строка " AT&T; " расширяется до " AT&T; "и оставшийся амперсанд не распознается как разделитель ссылки на сущность.) Ссылка на символ включено , когда указанный символ обрабатывается на месте самой ссылки.

4.4.3 Включено при проверке

Когда процессор XML распознает ссылку на анализируемый объект, по порядку чтобы проверить документ, обработчик ДОЛЖЕН включить его заменяющий текст.Если сущность является внешней, и процессор не пытается проверить XML-документ, процессор МАЙ , но нужен нет, включать заменяющий текст объекта. Если непроверяющий процессор не включает заменяющий текст, он ДОЛЖЕН сообщить приложению, что он распознал, но не прочитал сущность.

Это правило основано на признании того, что автоматическое включение обеспечило с помощью механизма сущностей SGML и XML, в первую очередь предназначенного для поддержки модульности при создании, не обязательно подходит для других приложений, в частности просмотр документов.Браузеры, например, при обнаружении внешнего синтаксического ссылка на сущность, может предоставить визуальное указание на сущность присутствие и извлекать его для отображения только по запросу.

4.4.4 Запрещено

Следующее запрещено и является фатальным. ошибки:

  • появление ссылки на неанализируемый субъект, за исключением EntityValue в объявлении сущности.

  • появление любого персонажа или ссылки на общую сущность в DTD, кроме EntityValue или AttValue.

  • ссылка на внешний объект в значении атрибута.

4.4.5 Включено в литерал

Когда ссылка на объект появляется в значение атрибута или ссылка на объект параметра появляется в буквальном объекте значение, его заменяющий текст ДОЛЖЕН быть обработан вместо самой ссылки, как если бы она была частью документа по адресу место, где была распознана ссылка, за исключением одинарного или двойного кавычка в тексте замены ДОЛЖНА всегда обрабатываться как обычные данные символ и НЕ ДОЛЖНЫ завершать литерал.Например, это правильный формат:

 
 

, а это не так: